From 57f9a55581343a805cd589bbdc00e4d28a28aa97 Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期一, 28 七月 2025 13:26:42 +0800 Subject: [PATCH] erp对接 --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 118 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 84 insertions(+), 34 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 a0e4feb..fbc71c2 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -18,7 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - +import com.zy.asrs.entity.CheckDetl; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -48,6 +48,8 @@ private TagService tagService; @Autowired private TagMapper tagMapper; + @Autowired + private CheckDetlService checkDetlService; @Override @Transactional @@ -85,8 +87,8 @@ null, // 閭垂 null, // 浠樻鏃堕棿 null, // 鍙戣揣鏃堕棿 - null, // 鐗╂祦鍚嶇О - null, // 鐗╂祦鍗曞彿 + param.getTargetWarehouse(), // 鐩爣浠撳簱 + param.getSourceWarehouse(), // 婧愪粨搴� 1L, // 璁㈠崟鐘舵�� 1, // 鐘舵�� 9527L, // 娣诲姞浜哄憳 @@ -99,19 +101,19 @@ throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); } // 鍗曟嵁鏄庣粏妗� - List<DetlDto> list = new ArrayList<>(); - List<DetlDto> orderDetails = param.getMatList(); - 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()); - assert detlDto != null; - detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); - } else { - list.add(dto); - } - } - for (DetlDto detlDto : list) { +// List<DetlDto> list = new ArrayList<>(); +// List<DetlDto> orderDetails = param.getMatList(); +// 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()); +// assert detlDto != null; +// detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); +// } else { +// list.add(dto); +// } +// } + for (DetlDto detlDto : param.getMatList()) { Mat mat = matService.selectByMatnr(detlDto.getMatnr()); if (Cools.isEmpty(mat)) { throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); @@ -128,6 +130,8 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setWorkQty(0.0D); + orderDetl.setUnits(0.0); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -182,7 +186,7 @@ @Override @Transactional - public void pakoutOrderCreate(OpenOrderPakoutParam param) { + public void pakoutOrderCreate(OpenOrderPakinParam param) { Order order = orderService.selectByNo(param.getOrderNo()); // 濡傛灉鍗曟嵁涓嶅瓨鍦ㄥ垯娣诲姞锛涘鏋滃崟鎹瓨鍦紝浣滀笟涓棤娉曚慨鏀癸紝鍙嶄箣鍒欎慨鏀瑰崟鎹� if (!Cools.isEmpty(order)) { @@ -220,8 +224,8 @@ null, // 閭垂 null, // 浠樻鏃堕棿 null, // 鍙戣揣鏃堕棿 - null, // 鐗╂祦鍚嶇О - null, // 鐗╂祦鍗曞彿 + param.getTargetWarehouse(), // 鐗╂祦鍚嶇О + param.getSourceWarehouse(), // 鐗╂祦鍗曞彿 1L, // 璁㈠崟鐘舵�� 1, // 鐘舵�� 9527L, // 娣诲姞浜哄憳 @@ -234,19 +238,19 @@ throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); } // 鍗曟嵁鏄庣粏妗� - List<DetlDto> list = new ArrayList<>(); - List<DetlDto> orderDetails = param.getMatList(); - 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()); - assert detlDto != null; - detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); - } else { - list.add(dto); - } - } - for (DetlDto detlDto : list) { +// List<DetlDto> list = new ArrayList<>(); +// List<DetlDto> orderDetails = param.getMatList(); +// 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()); +// assert detlDto != null; +// detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); +// } else { +// list.add(dto); +// } +// } + for (DetlDto detlDto : param.getMatList()) { Mat mat = matService.selectByMatnr(detlDto.getMatnr()); if (Cools.isEmpty(mat)) { throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); @@ -263,6 +267,8 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setWorkQty(0.0D); + orderDetl.setUnits(0.0); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -582,9 +588,9 @@ mat.sync(matParam); // mat.setTagId(tagId); - mat.setStatus(1); + mat.setStatus(matParam.getInspect()); mat.setCreateTime(now); - mat.setUpdateTime(now); + mat.setUpdateTime(matParam.getSuspensionDate());//鍚敤鏃堕棿 if (!matService.insert(mat)) { throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); } else { @@ -594,6 +600,8 @@ Tag priTag = tagService.selectByName(matParam.getTagIdName(), 2); matParam.setTagId(priTag.getId()); mat.sync(matParam); // 鈿狅笍 鍚屼笂 + mat.setUpdateTime(matParam.getSuspensionDate());//鍚敤鏃堕棿 + mat.setStatus(matParam.getInspect()); if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr", matParam.getMatnr()))) { throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳"); } @@ -601,9 +609,51 @@ } } } + @Override + @Transactional + public void check(List<MatSyncParam> paramList){ + if (Cools.isEmpty(paramList)) { + throw new CoolException("涓婃姤鏁版嵁涓虹┖"); + } + for (MatSyncParam param : paramList) { + if (Cools.isEmpty(param.getData()) || param.getData().isEmpty()) { + throw new CoolException("鐗╂枡鏁版嵁涓虹┖"); + } + if (Cools.isEmpty(param.getOrderNo()) || param.getOrderNo().isEmpty()) { + throw new CoolException("鐩樼偣鍗曠紪鍙蜂负绌�"); + } + for (MatSyncParam.MatParam matParam : param.getData()) { + if (Cools.isEmpty(matParam.getMatnr())) { + throw new CoolException("鍟嗗搧缂栫爜涓虹┖"); + } + Double LKAnfme = locDetlService.getAnfmeByMatnr(matParam.getMatnr(),matParam.getBatch(),matParam.getSpecs()); + if (LKAnfme == null) { + LKAnfme = 0.0; + } + + // 璁$畻宸�� + double diff = matParam.getAnfme() - LKAnfme; + + if (diff != 0) { + CheckDetl checkDetl = new CheckDetl(); + checkDetl.setOrderNo(param.getOrderNo()); + checkDetl.setAnfme(matParam.getAnfme()); //璐﹂潰鏁伴噺 + checkDetl.setNumber(LKAnfme); + checkDetl.setMatnr(matParam.getMatnr()); + checkDetl.setMaktx(matParam.getMaktx()); + checkDetl.setSpecs(matParam.getSpecs()); + checkDetl.setBatch(matParam.getBatch()); + checkDetl.setDetailId(matParam.getDetailId()); + checkDetl.setCreateTime(new Date()); + + checkDetlService.insert(checkDetl); // 鎻掑叆宸紓璁板綍 + } + } + } + } } -- Gitblit v1.9.1