From c73b0e2f40e0a143b5f815793de24b060816c664 Mon Sep 17 00:00:00 2001 From: zc <zc@123> Date: 星期三, 02 七月 2025 10:24:36 +0800 Subject: [PATCH] 完善erp对接 --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 4 +- src/main/java/com/zy/common/model/DetlDto.java | 17 ++++++++ src/main/java/com/zy/asrs/controller/MatController.java | 4 +- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 66 ++++++++++++++++++-------------- src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java | 2 5 files changed, 58 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java index b46a4fa..3106ac2 100644 --- a/src/main/java/com/zy/asrs/controller/MatController.java +++ b/src/main/java/com/zy/asrs/controller/MatController.java @@ -100,7 +100,7 @@ @RequestMapping(value = "/mat/tiaoma/auth") @ManagerAuth - public R findByTiaoMa(@RequestParam("matnr") String matnr, @RequestParam(required = false, value = "orderNo") String orderNo) { + public synchronized R findByTiaoMa(@RequestParam("matnr") String matnr, @RequestParam(required = false, value = "orderNo") String orderNo) { List<CodeDataParam> data = mobileService.getData(TokenUtils.getToken(url), new CodeParam(Arrays.asList(matnr))); if (data == null || data.isEmpty()) { return R.error("鏉$爜涓嶅瓨鍦�"); @@ -115,7 +115,7 @@ Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", codeDataParam.getProductionCode())); mat.setMatnr(codeDataParam.getProductionCode()); mat.setSafeQty(codeDataParam.getQty()); - mat.setUnit(codeDataParam.getBatchNum()); + mat.setUnit(null); mat.setMemo(matnr); return R.ok(mat); } diff --git a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java index 1dcdb72..59d9415 100644 --- a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java +++ b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java @@ -21,7 +21,7 @@ private String department; //閮ㄩ棬 private String businessType; //涓氬姟绫诲瀷 private String user; //鍒跺崟浜� - private String quality; +// private String quality; private List<DetlDto> details; //鐗╂枡鍒楄〃 diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index 789257b..a30255d 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -331,7 +331,7 @@ if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). eq("zpallet", param.getBarcode()) .eq("io_status", "N") - .eq("matnr", elem.getMatnr()).eq("batch", elem.getBatch())) > 0) { + .eq("matnr", elem.getMatnr()).eq("three_code",elem.getThreeCode()).eq("batch", elem.getBatch())) > 0) { throw new CoolException(param.getBarcode() + "宸叉湁鐩稿悓鏁版嵁"); } @@ -417,7 +417,7 @@ detlDto.setTemp1(codeDataParam.getQuality()); detlDto.setFromOrderNo(codeDataParam.getBarcode()); if (DetlDto.has(detlDtos, detlDto)) { - DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); + DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getFromOrderNo()); assert one != null; one.setAnfme(one.getAnfme() + detlDto.getAnfme()); } else { 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 deb4716..eb8ce0a 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -60,19 +60,19 @@ @Autowired private ApiLogService apiLogService; - public void callApiLogSaveOrder(Object order, String name, Boolean bool) { - apiLogService.save(name, "null", null, null, - JSON.toJSONString(order), + public void callApiLogSaveOrder(Object order, String name, Boolean bool) { + apiLogService.save(name, "null", null,null, + JSON.toJSONString(order), null, bool); } @Override @Transactional public void pakinOrderCreate(OpenOrderPakinParam param) { - callApiLogSaveOrder(param, "鍏ュ簱鍗�", true); + callApiLogSaveOrder(param,"鍏ュ簱鍗�", true); Order order = orderService.selectByNo(param.getOrderNo()); - if (!Cools.isEmpty(order) && order.getSettle() != 1) { + if (!Cools.isEmpty(order) && order.getSettle() !=1) { throw new CoolException(param.getOrderNo() + "鍗曟嵁宸叉湁宸ヤ綔浠诲姟"); } if (!Cools.isEmpty(order)) { @@ -119,7 +119,7 @@ now, // 淇敼鏃堕棿 null // 澶囨敞 ); - order.setShipCode(param.getQuality()); + order.setShipCode(String.valueOf(param.getDetails().get(0).getQuality())); if (!orderService.insert(order)) { throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -127,8 +127,8 @@ List<DetlDto> list = new ArrayList<>(); List<DetlDto> orderDetails = param.getDetails(); for (DetlDto detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(), detail.getFromOrderNo() - , detail.getMark(), detail.getCustomer(), detail.getSuppName(), detail.getTemp1(), detail.getTemp2(), detail.getTemp3(), detail.getTemp4()); + DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(),detail.getFromOrderNo() + , detail.getMark(),detail.getCustomer(),detail.getSuppName(),detail.getTemp1(),detail.getTemp2(),detail.getTemp3(),detail.getTemp4()); if (DetlDto.has(list, dto)) { DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); assert detlDto != null; @@ -173,7 +173,7 @@ @Override @Transactional public List<OpenOrderCompeteResult> pakinOrderComplete(OpenOrderCompleteParam param) { - callApiLogSaveOrder(param, "鍑哄簱鍗�", true); + callApiLogSaveOrder(param,"鍑哄簱鍗�", true); List<OpenOrderCompeteResult> results = new ArrayList<>(); if (!Cools.isEmpty(param) && !Cools.isEmpty(param.getOrderNo())) { // 鎸囧畾璁㈠崟 @@ -220,7 +220,7 @@ @Override @Transactional public void pakoutOrderCreate(OpenOrderPakoutParam param) { - callApiLogSaveOrder(param, "鍑哄簱鍗�", true); + callApiLogSaveOrder(param,"鍑哄簱鍗�", true); Order order = orderService.selectByNo(param.getOrderNo()); // 濡傛灉鍗曟嵁涓嶅瓨鍦ㄥ垯娣诲姞锛涘鏋滃崟鎹瓨鍦紝浣滀笟涓棤娉曚慨鏀癸紝鍙嶄箣鍒欎慨鏀瑰崟鎹� if (!Cools.isEmpty(order)) { @@ -276,8 +276,8 @@ List<DetlDto> list = new ArrayList<>(); List<DetlDto> orderDetails = param.getDetails(); for (DetlDto detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(), detail.getFromOrderNo() - , detail.getMark(), detail.getCustomer(), detail.getSuppName(), detail.getTemp1(), detail.getTemp2(), detail.getTemp3(), detail.getTemp4()); + DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(),detail.getFromOrderNo() + , detail.getMark(),detail.getCustomer(),detail.getSuppName(),detail.getTemp1(),detail.getTemp2(),detail.getTemp3(),detail.getTemp4()); dto.setTemp1(param.getQuality()); if (DetlDto.has(list, dto)) { DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); @@ -489,13 +489,16 @@ @Override @Transactional public void syncMat(MatSyncParam param) { - if (Cools.isEmpty(param.getMatDetails()) || param.getMatDetails().size() <= 0) { + if (Cools.isEmpty(param.getMatDetails()) || param.getMatDetails().size() <=0 ) { throw new CoolException("鍟嗗搧鏁版嵁涓虹┖"); } - for (MatSyncParam.MatParam matParam : param.getMatDetails()) { - if (Cools.isEmpty(matParam.getMatnr())) { + + + + for(MatSyncParam.MatParam matParam : param.getMatDetails()){ + if(Cools.isEmpty(matParam.getMatnr())){ throw new CoolException("鍟嗗搧缂栫爜涓嶈兘涓虹┖"); } @@ -590,10 +593,14 @@ } else { mat.sync(matParam); mat.setTagId(tagId); - if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr", matParam.getMatnr()))) { + if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) { throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳"); } } + + + + //Tag tag = tagService.selectOne(new EntityWrapper<Tag>().eq("memo", matParam.getTagId())); @@ -633,8 +640,8 @@ public List<LocDetlByTimeDTO> selectTimeLocDetl(TimeSelectParam param) { ArrayList<LocDetlByTimeDTO> locDetlByTimeDTOS = new ArrayList<>(); EntityWrapper<WrkMastLog> wrkMastLogEntityWrapper = new EntityWrapper<>(); - wrkMastLogEntityWrapper.ge("modi_time", param.getStartTime()); - wrkMastLogEntityWrapper.le("modi_time", param.getEndTime()); + wrkMastLogEntityWrapper.ge("modi_time",param.getStartTime()); + wrkMastLogEntityWrapper.le("modi_time",param.getEndTime()); // wrkMastLogEntityWrapper.isNotNull("sheet_no"); wrkMastLogService.selectList(wrkMastLogEntityWrapper).forEach(wrkMastLog -> { if (wrkMastLog.getWrkSts() == 5 || wrkMastLog.getWrkSts() == 15) { @@ -643,7 +650,7 @@ wrkDetlLogs.forEach(wrkDetlLog -> { if (wrkDetlLog.getOrderNo() != null && !wrkDetlLog.getOrderNo().isEmpty()) { LocDetlByTimeDTO locDetlByTimeDTO = new LocDetlByTimeDTO(); - if (!Cools.isEmpty(wrkDetlLog.getOrderNo())) { + if (!Cools.isEmpty(wrkDetlLog.getOrderNo())){ Order order = orderService.selectByNo(wrkDetlLog.getOrderNo()); if (!Cools.isEmpty(order)) { locDetlByTimeDTO.setDate(order.getOrderTime()); @@ -651,7 +658,7 @@ locDetlByTimeDTO.setOrderType(order.getDocType$()); } locDetlByTimeDTO.setMatnr(wrkDetlLog.getMatnr()); - locDetlByTimeDTO.setLocNo(wrkMastLog.getIoType() < 100 ? wrkMastLog.getLocNo() : wrkMastLog.getSourceLocNo()); + locDetlByTimeDTO.setLocNo(wrkMastLog.getIoType() <100? wrkMastLog.getLocNo(): wrkMastLog.getSourceLocNo()); locDetlByTimeDTO.setBatch(wrkDetlLog.getBatch()); locDetlByTimeDTO.setAnfme(wrkDetlLog.getAnfme()); locDetlByTimeDTO.setOrderNo(wrkDetlLog.getOrderNo()); @@ -701,11 +708,11 @@ @Transactional public void syncTag(List<TagParam> param) { - param.forEach(tag -> { + param.forEach(tag-> { // 鍒嗙被 Long tagId; Date now = new Date(); - if (Cools.isEmpty(tag.getParentItemClassId())) { + if (Cools.isEmpty(tag.getParentItemClassId())){ Tag priTag = tagService.selectByName("鍏ㄩ儴", 1); // 浜岀骇鍒嗙被 @@ -738,8 +745,8 @@ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); } } - } else { - Tag priTag = tagService.selectOne(new EntityWrapper<Tag>().eq("memo", tag.getParentItemClassId())); + }else { + Tag priTag =tagService.selectOne(new EntityWrapper<Tag>().eq("memo", tag.getParentItemClassId())); if (priTag == null) { Tag top = tagService.getTop(); NodeUtils nodeUtils = new NodeUtils(); @@ -799,7 +806,7 @@ if (tagMapper.insert(secTag) == 0) { throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); } - } else { + }else { secTag.setName(tag.getName()); secTag.setParentId(priTag.getId()); secTag.setParentName(priTag.getName()); @@ -812,13 +819,15 @@ List<Tag> tags = tagService.selectList(new EntityWrapper<Tag>().eq("parent_id", secTag.getId())); if (!Cools.isEmpty(tags)) { for (Tag tag1 : tags) { - tag1.setPath(nodeUtils.path.toString() + "," + secTag.getId()); - tag1.setPathName(nodeUtils.pathName.toString() + "," + secTag.getName()); + tag1.setPath(nodeUtils.path.toString()+","+secTag.getId()); + tag1.setPathName(nodeUtils.pathName.toString()+","+secTag.getName()); if (tagMapper.updateById(tag1) == 0) { throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); } } } + + } @@ -827,7 +836,6 @@ } }); } - @Transactional @Override public void orderDelete(String orderNo) { @@ -835,7 +843,7 @@ if (order == null) { throw new CoolException("鏈煡璇㈠埌瀵瑰簲璁㈠崟淇℃伅"); } - if (order.getSettle() != 1) { + if (order.getSettle() != 1){ throw new CoolException("璇ヨ鍗曞凡鏈夊搴斾换鍔★紝绂佹鍒犻櫎"); } List<OrderDetl> OrderDetl = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo)); diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java index 9837a5b..d04cdc5 100644 --- a/src/main/java/com/zy/common/model/DetlDto.java +++ b/src/main/java/com/zy/common/model/DetlDto.java @@ -29,6 +29,7 @@ private String temp4 = ""; private Double actulQty; private Integer danger; + private Integer quality; public DetlDto() { } @@ -96,7 +97,7 @@ public static boolean has(List<DetlDto> detlDtos, DetlDto detlDto) { for (DetlDto dto : detlDtos) { - if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch())) { + if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch()) && dto.getFromOrderNo().equals(detlDto.getFromOrderNo())) { return true; } } @@ -114,5 +115,19 @@ } return null; } + public static DetlDto find(List<DetlDto> detlDtos, String matnr, String batch,String threeCode) { + if (Cools.isEmpty(matnr)) { + return null; + } + if (Cools.isEmpty(threeCode)){ + return null; + } + for (DetlDto detlDto : detlDtos) { + if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch()) && threeCode.equals(detlDto.getFromOrderNo())) { + return detlDto; + } + } + return null; + } } -- Gitblit v1.9.1