From a881d98d2eee345af7454fd943fccbcc5c8bcb6f Mon Sep 17 00:00:00 2001 From: tzsk <Administrator@qq.com> Date: 星期一, 04 八月 2025 15:01:40 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 49 ++++++++++++++++++++++++++++++------------------- 1 files changed, 30 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 19cd7bc..bbf8a2e 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -22,10 +22,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; /** * Created by vincent on 2022/4/9 @@ -116,7 +113,7 @@ for (DetlDto detail : orderDetails) { DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); + DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),dto.getCsocode(),dto.getIsoseq(),null); assert detlDto != null; detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); } else { @@ -161,7 +158,7 @@ result.setOrderType(order.getDocType$()); List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); } if (order.getSettle() == 4L) { // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� @@ -181,7 +178,7 @@ result.setOrderType(order.getDocType$()); List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); } // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� if (!orderService.updateSettle(order.getId(), 6L, null)) { @@ -251,7 +248,7 @@ for (DetlDto detail : orderDetails) { DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); + DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),dto.getCsocode(),dto.getIsoseq(),null); assert detlDto != null; detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); } else { @@ -295,7 +292,7 @@ result.setOrderType(order.getDocType$()); List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); } if (order.getSettle() == 4L) { // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� @@ -315,7 +312,7 @@ result.setOrderType(order.getDocType$()); List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); } // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� if (!orderService.updateSettle(order.getId(), 6L, null)) { @@ -525,6 +522,16 @@ callApiLogSaveMES(param, null, param.getBarcode() + "锛氬伐浣滄槑缁嗘。宸插瓨鍦ㄦ鏁版嵁", false); throw new CoolException("宸ヤ綔鏄庣粏妗e凡瀛樺湪姝ゆ暟鎹�===>>" + param.getBarcode()); } + List<CombParam.CombMat> combMats = param.getCombMats(); + Map<String, String> map = new HashMap<>(); + for (CombParam.CombMat combMat : combMats) { + String batch = Cools.isEmpty(combMat.getBatch()) ? "" : combMat.getBatch(); + if (!Cools.isEmpty(map.get(combMat.getMatnr() + batch))) { + throw new CoolException(param.getBarcode() + "缁勬墭鐨勭墿鏂欐槑缁嗛噸澶�,璇锋鏌ユ槸鍚﹂噸澶嶆壂鐮�"); + } else { + map.put(combMat.getMatnr() + batch, combMat.getMatnr()); + } + } Date now = new Date(); try{ @@ -532,8 +539,9 @@ List<DetlDto> detlDtos = new ArrayList<>(); param.getCombMats().forEach(elem -> { DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); + detlDto.setContainerCode(elem.getContainerCode()); if (DetlDto.has(detlDtos, detlDto)) { - DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); + DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode()); assert one != null; one.setAnfme(one.getAnfme() + detlDto.getAnfme()); } else { @@ -690,7 +698,7 @@ } @Transactional - public boolean syncOrder(Map<String, Object> param) { + public boolean syncOrder(Map<String, Object> param, boolean pakin) { if(Cools.isEmpty(param) || Cools.isEmpty(param.get("orderDetails"))){ throw new CoolException("鍗曟嵁鍙傛暟涓虹┖鎴栬�呭崟鎹鎯呬负绌猴紝鏃犳硶鐢熸垚鍗曟嵁淇℃伅"); } @@ -699,7 +707,7 @@ throw new CoolException("璇ュ崟鎹凡瀛樺湪锛屾棤娉曠敓鎴愬崟鎹俊鎭�"); } Date now = new Date(); - Order order = orderMapping(param,now); + Order order = orderMapping(param,now,pakin); orderService.insert(order); List<Map<String, Object>> orderDetails = (List<Map<String, Object>>) param.get("orderDetails"); orderDetails.forEach(odParam -> { @@ -727,7 +735,7 @@ return true; } - private Order orderMapping(Map<String, Object> param, Date now){ + private Order orderMapping(Map<String, Object> param, Date now, boolean pakin){ Order order = new Order(); //uuid order.setUuid(String.valueOf(snowflakeIdWorker.nextId())); @@ -739,9 +747,9 @@ order.setOrderNo(toString(param.get("id"))); //涓氬姟绫诲瀷 //order.setDefNumber(param.get("cBusType").toString()); - order.setDefNumber(toString(param.get("cBusType"))); + order.setDefNumber(toString(param.get("cVouchType"))); //鍗曟嵁绫诲瀷 - DocType docType = docTypeService.selectOrAdd(param.get("cVouchType").toString(), Boolean.TRUE); + DocType docType = docTypeService.selectOrAdd(param.get("cBusType").toString(), pakin); order.setDocType(docType.getDocId()); //鍗曟嵁鏃ユ湡 //order.setOrderTime(param.get("dDate").toString()); @@ -799,13 +807,16 @@ //od.setAnfme(toString(odParam.get("iQuantity"))); //琛屽彿 //od.setBrand(odParam.get("irowno").toString()); - od.setBrand(toString(odParam.get("irowno"))); + //od.setBrand(toString(odParam.get("irowno"))); + od.setManu(toString(odParam.get("irowno"))); //閿�鍞鍗曞彿 //od.setColor(odParam.get("csocode").toString()); - od.setColor(toString(odParam.get("csocode"))); + //od.setColor(toString(odParam.get("csocode"))); + od.setThreeCode(toString(odParam.get("csocode"))); //閿�鍞鍗曡鍙� //od.setOrigin(odParam.get("isoseq").toString()); - od.setOrigin(toString(odParam.get("isoseq"))); + //od.setOrigin(toString(odParam.get("isoseq"))); + od.setDeadTime(toString(odParam.get("isoseq"))); od.setStatus(1); od.setQty(0.0D); -- Gitblit v1.9.1