From 67cbba6a2fcba931216ea3cb6d0080f8db10dab7 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期一, 19 八月 2024 17:05:28 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 95 insertions(+), 7 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 aad5f36..c3f4301 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -42,6 +42,12 @@ @Service public class OpenServiceImpl implements OpenService { + // 浜屾ゼ鍫嗗灈鏈哄搴斿叆搴撶珯鐐� + private static final int[] secondFloorIn = new int[]{0,2061,2064,2067,2070,2073,2076}; + // 鍫嗗灈鏈哄搴斾竴妤煎嚭搴撶珯鐐� + private static final int[] secondFloorOut = new int[]{0,3002,3003,3006,3008,3009,3012}; + + @Autowired private OrderService orderService; @Autowired @@ -1043,7 +1049,10 @@ StartupDto dto = commonService.getLocNo(1, param.getPalletizingNo(), locTypeDto, 0); // 杩斿洖GWCS鐩爣淇℃伅 - pushStaNoToGwcs(param.getPalletizingNo(), dto.getStaNo(), dto.getWorkNo(),param.getBarcode()); + boolean result = pushStaNoToGwcs(param.getPalletizingNo(), dto.getStaNo(), dto.getWorkNo(), param.getBarcode()); +// if (!result) { +// throw new CoolException("鍏ュ簱鍥炴帹鍏ュ簱鐮佸ご缁橤WCS澶辫触"); +// } int workNo = dto.getWorkNo(); Date now = new Date(); @@ -1075,6 +1084,7 @@ for (Mat obj : list) { WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(obj); wrkDetl.setWrkNo(wrkMast.getWrkNo()); wrkDetl.setAnfme(1.0); // 閲嶆柊瀹氫綅鏈ㄧ浣嶇疆 @@ -1089,7 +1099,6 @@ break; } } - wrkDetl.sync(obj); wrkDetl.setIoTime(now); wrkDetl.setAppeTime(now); wrkDetl.setModiTime(now); @@ -1110,6 +1119,84 @@ throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤"); } return "鍏ュ簱鎴愬姛"; + } + + @Override + @Transactional + public R kthl(KthlParam param) { + + // 鑾峰彇妯″紡涓虹數鑴戞ā寮忥紝鏃犱换鍔$殑鍫嗗灈鏈哄垪琛�:闃叉鍒嗛厤鍒板爢鍨涙満涓嶅彲鐢� + List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3) + .eq("wrk_no",0).eq("in_enable","Y").eq("out_enable","Y")); + if (basCrnps.isEmpty()) { + // 閮芥湁浠诲姟鍒欒幏鍙栫數鑴戞ā寮忕殑鍫嗗灈鏈哄垪琛� + basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3).eq("in_enable","Y") + .eq("out_enable","Y")); + } + if (basCrnps.isEmpty()) { + throw new CoolException("娌℃湁鍙敤鍫嗗灈鏈�,鍫嗗灈鏈哄仠姝㈡垨寮傚父鎴栫鐢�"); + } + // 鍙敤鍫嗗灈鏈哄垪琛� + List<Integer> crnNoList = basCrnps.stream().map(BasCrnp::getCrnNo).collect(Collectors.toList()); + Integer crnNo = crnNoList.get(0); + + int workNo = commonService.getWorkNo(5); + Date now = new Date(); + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(new Date()); + wrkMast.setWrkSts(1L); // + wrkMast.setIoType(3); // 绔欏埌绔� + wrkMast.setIoPri(14D); // 浼樺厛绾� + wrkMast.setCrnNo(crnNo); + wrkMast.setSourceStaNo(secondFloorIn[crnNo]); + wrkMast.setStaNo(secondFloorOut[crnNo]); + wrkMast.setLocNo(""); + wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮� + wrkMast.setFullPlt("N"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("Y"); // 绌烘澘 + wrkMast.setLinkMis("Y"); + wrkMast.setCtnType(1); // 瀹瑰櫒绫诲瀷 + // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + // 杩斿洖GWCS鐩爣淇℃伅 + pushStaNoToGwcs(param.getPalletizingNo(),wrkMast.getSourceStaNo(),workNo,param.getBarcode()); + + return R.ok("绌烘墭鍥炴祦璇锋眰鎴愬姛"); + } + + @Override + public R tb(TbParam param) { + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("barcode", param.getBarcode())); + if (wrkDetls.isEmpty()) { + return R.parse("鏃犵墿鏂欐槑缁嗕俊鎭�"); + } + List<String> collect = wrkDetls.stream().map(WrkDetl::getUnit).distinct().collect(Collectors.toList()); + return R.ok(collect); + } + + @Override + public R dd(TbParam param) { + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("barcode", param.getBarcode())); + if (wrkDetls.isEmpty()) { + return R.parse("鏃犵墿鏂欐槑缁嗕俊鎭�"); + } + List<DdParam> collect = wrkDetls.stream().map(wrkDetl -> { + DdParam ddParam = new DdParam(); + ddParam.setBoxPos(wrkDetl.getOrigin()); + ddParam.setBoxType(wrkDetl.getColor()); + return ddParam; + }).distinct().collect(Collectors.toList()); + + return R.ok(collect); } @Override @@ -1489,13 +1576,13 @@ // 鏌ヨ瑕佹媶鐨勪綅缃紝鍙湁涓�涓� List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - List<String> collect = wrkDetls.stream().map(WrkDetl::getOrigin).distinct().collect(Collectors.toList()); - String position = collect.get(0); + WrkDetl wrkDetl = wrkDetls.get(0); // 杩斿洖鎷嗗灈瑙勫垯 ZphjcdgzVo zphjcdgzVo = new ZphjcdgzVo(); - zphjcdgzVo.setWorkNo(wrkMast.getWrkNo()); - zphjcdgzVo.setPosition(position); + zphjcdgzVo.setWorkNo(wrkDetl.getWrkNo()); + zphjcdgzVo.setBoxType(wrkDetl.getColor()); + zphjcdgzVo.setPosition(wrkDetl.getOrigin()); return R.ok(zphjcdgzVo); } @@ -1593,7 +1680,7 @@ return wrkDetls.size() > 1 ? 0 : 1; // 涓�鏉¤褰曞氨鏄竴鍗� } - public void pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo,String barcode) { + public boolean pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo,String barcode) { boolean success = false; // 鑾峰彇璇锋眰澶� Map<String, Object> headers = getHeaders(); @@ -1644,6 +1731,7 @@ log.error("", e); } } + return success; } Map<String, Object> getHeaders(){ -- Gitblit v1.9.1