diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/RgSortingLineVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/RgSortingLineVo.java new file mode 100644 index 0000000..460640a --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/RgSortingLineVo.java @@ -0,0 +1,12 @@ +package org.nl.wms.cockpit.service.dao; + +import lombok.Data; + +/** + * @author Administrator + */ +@Data +public class RgSortingLineVo { + private String pointName; + private String materialName; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ShiftProductionVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ShiftProductionVo.java index fd855f6..1f63b24 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ShiftProductionVo.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ShiftProductionVo.java @@ -13,4 +13,7 @@ public class ShiftProductionVo { private String qualifiedQty; private String unqualifiedQty; private String lastQty; + private String workOrderCode; + private String pointCode; + private String planQty; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/SortingLineRes.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/SortingLineRes.java new file mode 100644 index 0000000..35a6134 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/SortingLineRes.java @@ -0,0 +1,16 @@ +package org.nl.wms.cockpit.service.dao; + +import lombok.Data; + +import java.util.List; + +/** + * @author Administrator + */ +@Data +public class SortingLineRes { + private List sortingLines; + private List rgSortingLine; + private String rgPlanQty; + private String rgRealQty; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java index 1a8f443..0c9f3e8 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java @@ -50,7 +50,23 @@ public class CockpitServiceImpl implements CockpitService { }); // 2、当班生产 CompletableFuture> listShiftProductionFuture = CompletableFuture.supplyAsync( - () -> cockPitMapper.getShiftProductionList(), pool); + () -> { + List shiftProductionList = cockPitMapper.getShiftProductionList(); + if (shiftProductionList.isEmpty()) { + return null; + } + for (ShiftProductionVo productionVo : shiftProductionList) { + ShiftProductionVo res = cockPitMapper.selectQtByVo(productionVo); + productionVo.setQualifiedQty(res.getQualifiedQty()); + productionVo.setUnqualifiedQty(res.getUnqualifiedQty()); + int plan = Integer.parseInt(productionVo.getPlanQty()); + int unqualified = Integer.parseInt(productionVo.getUnqualifiedQty()); + int qualified = Integer.parseInt(productionVo.getQualifiedQty()); + int lastQty = plan - unqualified - qualified; + productionVo.setLastQty(String.valueOf(Math.max(lastQty, 0))); + } + return shiftProductionList; + }, pool); listShiftProductionFuture.thenAccept(result -> { map.put("ShiftProductionList", result); }).exceptionally((e) -> { @@ -98,8 +114,18 @@ public class CockpitServiceImpl implements CockpitService { ThreadPoolExecutor pool = ThreadPoolExecutorUtil.getPoll(); ConcurrentHashMap resultMap = new ConcurrentHashMap<>(); //查询分拣线信息 - CompletableFuture> sortingLineCompletableFuture = CompletableFuture.supplyAsync( - () -> cockPitMapper.getSortingLine(), pool); + CompletableFuture sortingLineCompletableFuture = CompletableFuture.supplyAsync( + () -> { + SortingLineRes res = new SortingLineRes(); + List sortingLine = cockPitMapper.getSortingLine(); + List rgSortingLine = cockPitMapper.getRgSortingLineVo(); + SortingLineRes sortCount = cockPitMapper.selectRgSortCount(); + res.setRgRealQty(sortCount.getRgRealQty()); + res.setRgPlanQty(sortCount.getRgPlanQty()); + res.setRgSortingLine(rgSortingLine); + res.setSortingLines(sortingLine); + return res; + }, pool); sortingLineCompletableFuture.thenAccept(res -> { resultMap.put("sortingLine", res); }).exceptionally((e) -> { @@ -107,7 +133,7 @@ public class CockpitServiceImpl implements CockpitService { resultMap.put("sortingLine", null); return null; }); - //查询当日拆码垛信息 todo + //查询当日拆垛信息 CompletableFuture> unstackingCompletableFuture = CompletableFuture.supplyAsync( () -> cockPitMapper.getUnstackingList(), pool); unstackingCompletableFuture.thenAccept(res -> { @@ -117,6 +143,16 @@ public class CockpitServiceImpl implements CockpitService { resultMap.put("unstackingList", null); return null; }); + //查询当日码垛信息 + CompletableFuture> stackingCompletableFuture = CompletableFuture.supplyAsync( + () -> cockPitMapper.getStackingList(), pool); + unstackingCompletableFuture.thenAccept(res -> { + resultMap.put("stackingList", res); + }).exceptionally((e) -> { + log.error("获取当日已拆垛信息: {}", e.getMessage(), e); + resultMap.put("stackingList", null); + return null; + }); //查询剩余工单列表 CompletableFuture> lastWorkOrderCompletableFuture = CompletableFuture.supplyAsync( () -> cockPitMapper.getLastWorkOrderList(), pool); @@ -129,6 +165,7 @@ public class CockpitServiceImpl implements CockpitService { }); CompletableFuture allQuery = CompletableFuture.allOf( sortingLineCompletableFuture, + stackingCompletableFuture, unstackingCompletableFuture, lastWorkOrderCompletableFuture); CompletableFuture> future @@ -289,7 +326,7 @@ public class CockpitServiceImpl implements CockpitService { object.remove("error"); for (PressPointInfo pointInfo : yjPoints) { String deviceCode = object.getString("device_code"); - if (StringUtils.isNotEmpty(deviceCode) && pointInfo.getPointCode().equals(deviceCode.substring(0, 4))){ + if (StringUtils.isNotEmpty(deviceCode) && pointInfo.getPointCode().equals(deviceCode.substring(0, 4))) { object.put("materialCode", pointInfo.getMaterialCode()); } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.java index 9965697..6df6015 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.java @@ -19,9 +19,14 @@ public interface CockPitMapper { List getProductionTaskList(); List getSortingLine(); + List getRgSortingLineVo(); List getUnstackingList(); + List getStackingList(); + + SortingLineRes selectRgSortCount(); + List getLastWorkOrderList(); List getMixingList(); @@ -63,4 +68,7 @@ public interface CockPitMapper { List selectYzslwPoint(); FjPintInfoVo selectFJJXSMaterialInfo(String pointCode); + + ShiftProductionVo selectQtByVo(ShiftProductionVo productionVo); + } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.xml index b67d801..7e3fb10 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.xml +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.xml @@ -2,26 +2,31 @@ + + + + + + @@ -152,11 +186,8 @@ SUM(qualified_qty) AS suppressedNum FROM pdm_bd_workorder WHERE region_code = 'YZ' - GROUP BY - produceDate - ORDER BY - produceDate DESC - limit 7 + GROUP BY produceDate + ORDER BY produceDate DESC limit 7 SELECT point_code AS device_code FROM `sch_base_point` - WHERE point_type in ('3','4') + WHERE point_type in ('3', '4') and region_code = 'YZ' + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 6b639c8..c286dbd 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -581,10 +581,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return BaseResponse.responseError(requestNo, "未找到工单号[" + workorderCode + "]的记录!"); } bdWorkorder.setWorkorder_status(WorkOrderStatusEnum.COMPLETE.getCode()); - //如果是混碾工单,则先暂存,手持或者lms那边再手动进行工单完成 - if("HN".equals(bdWorkorder.getRegion_code())){ - bdWorkorder.setWorkorder_status(WorkOrderStatusEnum.STAGING.getCode()); - } bdWorkorder.setRealproduceend_date(DateUtil.now()); TaskUtils.setWorkOrderUpdateByAcs(bdWorkorder); // 统计合不合格数量到工单字段中 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java index a3c8bc4..a9ec98e 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java @@ -78,6 +78,13 @@ public class PdaController { return new ResponseEntity<>(pdaService.cbjmlTask(req), HttpStatus.OK); } + @PostMapping("/cbjskTask") + @Log("拆包机空料位送空蛊") + @ApiOperation("拆包机空料位送空蛊") + public ResponseEntity cbjskTask(@RequestBody TaskReq req) { + return new ResponseEntity<>(pdaService.cbjskTask(req), HttpStatus.OK); + } + @PostMapping("/cbjqkTask") @Log("拆包机下料位叫空蛊") @ApiOperation("拆包机下料位叫空蛊") diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/PdaService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/PdaService.java index d00f48a..67ac0dc 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/PdaService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/PdaService.java @@ -74,6 +74,8 @@ public interface PdaService { PdaResponseVo cbjmlTask(TaskReq req); + PdaResponseVo cbjskTask(TaskReq req); + PdaResponseVo cbjqkTask(TaskReq req); PdaResponseVo yzqlTask(TaskReq req); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/dto/TaskReq.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/dto/TaskReq.java index 93414a1..b175e77 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/dto/TaskReq.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/dto/TaskReq.java @@ -11,4 +11,5 @@ public class TaskReq { private String startPoint; private String endPoint; private String barCode; + private String nextType; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/mapper/PdaMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/mapper/PdaMapper.xml index 75cdc4d..eecb653 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/mapper/PdaMapper.xml +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/mapper/PdaMapper.xml @@ -36,12 +36,12 @@ select p.point_code as pointCode, m.material_code as materialCode, g.instorage_time as instorageTime from sch_base_point p - left join sch_base_vehiclematerialgroup g on p.point_code = g.point_code + left join sch_base_vehiclematerialgroup g + on p.point_code = g.point_code and g.group_bind_material_status = '2' left join md_base_material m on g.material_id = m.material_id where p.region_code = 'KL' and p.is_used = '1' @@ -187,7 +188,8 @@