From 0329286b3ba1ddbdcad4769b9ccd4d5b3f5d1e64 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期二, 24 九月 2024 09:20:49 +0800 Subject: [PATCH] 备货定时任务 --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 106 +++++++++++++++++++++++++++++----------------------- 1 files changed, 59 insertions(+), 47 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 24e2672..2de975b 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -13,6 +13,7 @@ import com.zy.asrs.entity.result.StockVo; import com.zy.asrs.entity.result.ZphjcdgzVo; import com.zy.asrs.entity.result.ZphjcdwcVo; +import com.zy.asrs.mapper.LocDetlMapper; import com.zy.asrs.mapper.MatMapper; import com.zy.asrs.mapper.TagMapper; import com.zy.asrs.service.*; @@ -96,6 +97,9 @@ @Resource private MatMapper matMapper; + + @Resource + private LocDetlMapper locDetlMapper; @Override @Transactional @@ -1050,7 +1054,7 @@ StartupDto dto = commonService.getLocNo(1, param.getPalletizingNo(), locTypeDto, 0); // 杩斿洖GWCS鐩爣淇℃伅 - boolean result = pushStaNoToGwcs(param.getPalletizingNo(), dto.getStaNo(), dto.getWorkNo(), param.getBarcode()); + pushStaNoToGwcs(param.getPalletizingNo(), dto.getStaNo(), dto.getWorkNo(), param.getBarcode(),"涓�妤煎弽淇搧鍏ュ簱鎺ㄩ�乬wcs"); // if (!result) { // throw new CoolException("鍏ュ簱鍥炴帹鍏ュ簱鐮佸ご缁橤WCS澶辫触"); // } @@ -1169,7 +1173,7 @@ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } // 杩斿洖GWCS鐩爣淇℃伅 - pushStaNoToGwcs(param.getPalletizingNo(),wrkMast.getSourceStaNo(),workNo,param.getBarcode()); + pushStaNoToGwcs(param.getPalletizingNo(),wrkMast.getSourceStaNo(),workNo,param.getBarcode(),"浜屾ゼ绌烘墭鍥炴祦鎺ㄩ�乬wcs"); return R.ok("绌烘墭鍥炴祦璇锋眰鎴愬姛"); } @@ -1229,7 +1233,7 @@ StartupDto dto = commonService.getLocNo(iotype, param.getPalletizingNo(), locTypeDto,0); // 杩斿洖GWCS鐩爣淇℃伅 - pushStaNoToGwcs(param.getPalletizingNo(),dto.getStaNo(),dto.getWorkNo(),param.getBarcode()); + pushStaNoToGwcs(param.getPalletizingNo(),dto.getStaNo(),dto.getWorkNo(),param.getBarcode(),"gwms鐢宠鍏ュ簱鍚庢帹閫乬wcs"); int workNo = dto.getWorkNo(); @@ -1345,7 +1349,7 @@ @Override @Transactional - public String zwmsOutLocWork(ZwmsOutLocWorkDto param) { + public R zwmsOutLocWork(ZwmsOutLocWorkDto param) { Order order = orderService.selectByNo(param.getOrderNo()); if (!Cools.isEmpty(order)) { @@ -1354,6 +1358,7 @@ DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.FALSE); Date now = new Date(); + // 鍗曟嵁涓绘。 order = new Order( String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] @@ -1391,38 +1396,16 @@ now, // 淇敼鏃堕棿 null // 澶囨敞 ); + if (!orderService.insert(order)) { throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); } + // 鍗曟嵁鏄庣粏妗� - List<DetlDto> list = new ArrayList<>(); - List<ZwmsOutLocWorkDto.Rolls> orderDetails = param.getMatDetails(); - for (ZwmsOutLocWorkDto.Rolls detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getRollNo(), detail.getBoxNo(), 1.0); - dto.setOrderNo(detail.getSpecs()); - dto.setSplices(detail.getSplices()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); - assert detlDto != null; - detlDto.setAnfme(detlDto.getAnfme() + 1); - } else { - list.add(dto); - } - } - for (DetlDto detlDto : list) { -// Mat mat = matService.selectByMatnr(detlDto.getMatnr()); + for (String groupNo : param.getGroups()) { OrderDetl orderDetl = new OrderDetl(); -// if (Cools.isEmpty(mat)) { -// throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); -// } else { -// orderDetl.sync(mat); -// } - orderDetl.setSpecs(String.valueOf(detlDto.getSplices())); - orderDetl.setBatch(detlDto.getBatch() == null ? "" : detlDto.getBatch()); - orderDetl.setModel(detlDto.getMatnr()); - orderDetl.setMatnr(detlDto.getOrderNo()); - orderDetl.setMaktx(detlDto.getOrderNo()); - orderDetl.setAnfme(detlDto.getAnfme()); + orderDetl.setBrand(groupNo); + orderDetl.setBatch(""); orderDetl.setOrderId(order.getId()); orderDetl.setOrderNo(order.getOrderNo()); orderDetl.setCreateBy(9527L); @@ -1431,12 +1414,25 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setAnfme(1.0); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } } - return null; + return R.ok("鍗曟嵁鐢熸垚鎴愬姛"); + + } + + @Override + public R queryInLocTime(List<String> param) { + if (Cools.isEmpty(param)) { + return R.parse("鍙傛暟涓嶈兘涓虹┖"); + } + + List<InLocTimeDto> inLocTimeDtos = locDetlMapper.queryInLocTime(param); + + return R.ok(inLocTimeDtos); } @Override @@ -1464,11 +1460,11 @@ // 鍒拌揪鍑哄簱鍙g‘璁や负1锛屾洿鏂板伐浣滄。鐘舵�佷负57.鍑哄簱瀹屾垚 if (param.getOutLocResult() == 1) { - wrkMast.setWrkSts(20L); - // 绌烘墭鐩樺埌浣嶇洿鎺ユ洿鏂板伐浣滄。鐘舵�佷负14.宸插嚭搴撴湭纭锛岀┖鎵樻棤闇�澶嶆牳纭 - if (!flag || wrkMast.getIoType() == 110) { +// wrkMast.setWrkSts(20L); +// // 绌烘墭鐩樺埌浣嶇洿鎺ユ洿鏂板伐浣滄。鐘舵�佷负14.宸插嚭搴撴湭纭锛岀┖鎵樻棤闇�澶嶆牳纭 +// if (!flag || wrkMast.getIoType() == 110) { wrkMast.setWrkSts(14L); - } +// } wrkMastService.updateById(wrkMast); } @@ -1671,6 +1667,29 @@ return R.ok(zphjcdwcVos); } + @Override + public R requestXhd(String barcode) { + + // 搴撳瓨鏄庣粏鏈ㄧ浣嶇疆闆嗗悎 + List<LocDetl> locDetls = locDetlMapper.selectList(new EntityWrapper<LocDetl>().eq("zpallet", barcode)); + List<String> collect1 = locDetls.stream().map(LocDetl::getOrigin).distinct().collect(Collectors.toList()); + // 宸ヤ綔鏄庣粏鏈ㄧ浣嶇疆闆嗗悎 + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("zpallet", barcode)); + List<String> collect2 = wrkDetls.stream().map(WrkDetl::getOrigin).distinct().collect(Collectors.toList()); + + // 0鏄庣粏寮傚父,1浜乏锛�2浜彸锛�3閮戒寒 + if (collect1.size() == 0 || collect2.size() == 0){ + return R.ok(0); + } else if((collect1.size() == 1 && collect2.size() == 1) || (collect1.size() == 2 && collect2.size() == 2)) { + return R.ok(3); + } else if(collect1.size() == 2 && collect2.size() == 1) { + return R.ok(collect2.get(0).equals("宸�") ? 1 : 2); + } else { + return R.parse("浜俊鍙风伅鏉$爜寮傚父锛�" + barcode); + } + + } + /** * 鍒涘缓妗佹灦鐞嗚揣鍑哄簱鐨勫伐浣滄。 */ @@ -1722,7 +1741,7 @@ return wrkDetls.size() > 1 ? 1 : 4; // 涓�鏉¤褰曞氨鏄竴鍗� } - public boolean pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo,String barcode) { + public boolean pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo,String barcode,String message) { boolean success = false; // 鑾峰彇璇锋眰澶� Map<String, Object> headers = getHeaders(); @@ -1745,23 +1764,16 @@ .doPost(); if (!Cools.isEmpty(response)) { success = true; -// // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� -// if (!orderService.updateSettle(order.getId(), 6L, null)) { -// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); -// } } else { - log.error("zmws鎺ㄩ�佸叆搴撶爜澶寸珯鐐规帴鍙eけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PAKIN_URL, body, response); - throw new CoolException("涓婃姤mes绯荤粺澶辫触"); + log.error(message + "澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PAKIN_URL, body, response); } } catch (Exception e) { - log.error("鍏ュ簱璇锋眰鎺ュ彛澶辫触锛歿}", e.getMessage()); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -// return FAIL.setMsg(e.getMessage()); + log.error(message + "寮傚父锛歿}", e); } finally { try { // 淇濆瓨鎺ュ彛鏃ュ織 apiLogService.save( - "鍏ュ簱", + message, MesConstant.GWCS_IP_PORT + MesConstant.GWCS_FPKW_URL, null, "127.0.0.1", -- Gitblit v1.9.1