From 984d32e1859bc3f34ddb5d605bfa9996e06a3230 Mon Sep 17 00:00:00 2001 From: "HUOJIN\\92525" Date: Wed, 12 Feb 2025 11:27:35 +0800 Subject: [PATCH] =?UTF-8?q?mes=E7=89=A9=E6=96=99=E6=8B=86=E5=88=86?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../businessdata/domain/PickDetail.java | 2 +- .../service/dto/TaskQueryCriteria.java | 4 +++ .../service/impl/MesServiceImpl.java | 32 ++++++++++++++----- .../service/impl/PickServiceImpl.java | 3 +- 4 files changed, 31 insertions(+), 10 deletions(-) diff --git a/youchain-system/src/main/java/com/youchain/businessdata/domain/PickDetail.java b/youchain-system/src/main/java/com/youchain/businessdata/domain/PickDetail.java index 4ace797..f3bf001 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/domain/PickDetail.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/domain/PickDetail.java @@ -107,7 +107,7 @@ public class PickDetail extends BaseEntity implements Serializable { private String propC2; @Column(name = "`prop_c3`") - @ApiModelProperty(value = "属性3") + @ApiModelProperty(value = "mes拆分物料") private String propC3; @Column(name = "`prop_c4`") diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/dto/TaskQueryCriteria.java b/youchain-system/src/main/java/com/youchain/businessdata/service/dto/TaskQueryCriteria.java index cc6a736..5478495 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/dto/TaskQueryCriteria.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/dto/TaskQueryCriteria.java @@ -45,6 +45,10 @@ public class TaskQueryCriteria{ @Query(type = Query.Type.INNER_LIKE) private String dstLocCode; + /** 模糊 */ + @Query(joinName = "pickDetail>pick>", propName="code" ,type = Query.Type.RIGHT_LIKE) + private String pickCode; + @Query(joinName = "item", propName="code",type = Query.Type.INNER_LIKE) private String itemCode; diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MesServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MesServiceImpl.java index 2cd630b..7490bd9 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MesServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MesServiceImpl.java @@ -73,7 +73,14 @@ public class MesServiceImpl implements MesService { Pick pick = createPick(orderNo, taskCode, zcData.getLineNo(), zcData.getCompleteCode(), zcData.getStation(), BaseStatus.GD_TYPE_CT); createPicks.add(pick); zcData.getBlzcmx().forEach(itemDate -> { - Item item = itemRepository.findByCode(itemDate.getItemCode()); + //如果物料长度大于11说明是MES拆分了订单;物料编号改变了处理00 + String itemCode = itemDate.getItemCode().length() > 11 + ? itemDate.getItemCode().substring(0, 11) + : itemDate.getItemCode(); + String splitItemCode = itemDate.getItemCode().length() > 11 + ? itemDate.getItemCode() + : null; + Item item = itemRepository.findByCode(itemCode); if (item == null) { item = itemService.createItem(itemDate.getItemCode(), itemDate.getItemName(), itemDate.getItemQty(), BizStatus.XJ); } else { @@ -81,7 +88,7 @@ public class MesServiceImpl implements MesService { item.setExtendD1(itemDate.getItemQty()); itemRepository.save(item); } - PickDetail pickDetail = createPickDetail(pick, item, BaseStatus.GD_TYPE_CT, itemDate.getItemQty(), zcData.getCompleteQty()); + PickDetail pickDetail = createPickDetail(pick, item, BaseStatus.GD_TYPE_CT, itemDate.getItemQty(), zcData.getCompleteQty(), splitItemCode); createPickDetails.add(pickDetail); }); }); @@ -90,7 +97,14 @@ public class MesServiceImpl implements MesService { yclbl.getBlzcmx().forEach(itemDate -> { Pick pick = createPick(orderNo, taskCode, itemDate.getLineNo(), itemDate.getItemCode(), itemDate.getStation(), BaseStatus.GD_TYPE_DP); createPicks.add(pick); - Item item = itemRepository.findByCode(itemDate.getItemCode()); + //如果物料长度大于11说明是MES拆分了订单;物料编号改变了处理00 + String itemCode = itemDate.getItemCode().length() > 11 + ? itemDate.getItemCode().substring(0, 11) + : itemDate.getItemCode(); + String splitItemCode = itemDate.getItemCode().length() > 11 + ? itemDate.getItemCode() + : null; + Item item = itemRepository.findByCode(itemCode); if (item == null) { item = itemService.createItem(itemDate.getItemCode(), itemDate.getItemName(), itemDate.getItemQty(), BizStatus.DJ); } else { @@ -98,7 +112,7 @@ public class MesServiceImpl implements MesService { item.setExtendD1(itemDate.getItemQty()); itemRepository.save(item); } - PickDetail pickDetail = createPickDetail(pick, item, BaseStatus.GD_TYPE_DP, itemDate.getItemQty(), null); + PickDetail pickDetail = createPickDetail(pick, item, BaseStatus.GD_TYPE_DP, itemDate.getItemQty(), null,splitItemCode); createPickDetails.add(pickDetail); }); @@ -112,6 +126,7 @@ public class MesServiceImpl implements MesService { } } + @Override @Transactional(rollbackFor = Exception.class) public void itemCall(String gdNo, String itemCode, String station, String pointCode) { @@ -232,7 +247,7 @@ public class MesServiceImpl implements MesService { return pick; } - public PickDetail createPickDetail(Pick pick, Item item, String orderType, Double itemQty, Double bigItemQty) { + public PickDetail createPickDetail(Pick pick, Item item, String orderType, Double itemQty, Double bigItemQty, String splitItemCode) { AtomicInteger lineNo = new AtomicInteger(1); PickDetail pickDetail = new PickDetail(); pickDetail.setPick(pick); @@ -244,6 +259,7 @@ public class MesServiceImpl implements MesService { } else { pickDetail.setOrderQty(itemQty); } + pickDetail.setPropC3(splitItemCode); pickDetail.setDept(pick.getDept()); return pickDetail; } @@ -376,18 +392,18 @@ public class MesServiceImpl implements MesService { private void moveFxBack(TransTask transTask) { String srcPointCode = transTask.getPointCode(); - if(!"FX001".equals(srcPointCode)){ + if (!"FX001".equals(srcPointCode)) { throw new BadRequestException("返修点位不正确,请核实"); } //根据状态查询任务 List agvTaskList = agvTaskService.findByStatus(BizStatus.ARRIVED); - if(agvTaskList.isEmpty()){ + if (agvTaskList.isEmpty()) { throw new BadRequestException("任务还未达到FX001返修点,请稍后再试!"); } AgvTask agvTask = agvTaskList.get(0); //任务放行 - kmReService.sendAgvTaskToContainer(UrlApi.operationFeedback(),kmReService.operationFeedbackJson(agvTask)); + kmReService.sendAgvTaskToContainer(UrlApi.operationFeedback(), kmReService.operationFeedbackJson(agvTask)); } } diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickServiceImpl.java index 5d44d78..eca5b2b 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickServiceImpl.java @@ -177,7 +177,8 @@ public class PickServiceImpl implements PickService { //工单号 jsonObject.put("OrderCode", pickDetail.getPick().getGdCode()); //物料编码 - jsonObject.put("MaterialCode", pickDetail.getItem().getCode()); + String itemCode = pickDetail.getPropC3() == null ? pickDetail.getItem().getCode() : pickDetail.getPropC3(); + jsonObject.put("MaterialCode", itemCode); //数量 jsonObject.put("number", pickDetail.getOrderQty() == null ? 0 : pickDetail.getOrderQty().intValue()); //taskId