From 48d8d31c884712a5dae653bc4c53ed6ae9e5b781 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期日, 12 十一月 2023 17:30:06 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 145 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 131 insertions(+), 14 deletions(-) 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 2e8c7f3..86e82cb 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -7,10 +7,7 @@ import com.core.common.*; import com.core.exception.CoolException; import com.zy.asrs.entity.*; -import com.zy.asrs.entity.param.CombParam; -import com.zy.asrs.entity.param.MobileAdjustParam; -import com.zy.asrs.entity.param.OffSaleParam; -import com.zy.asrs.entity.param.OpenOrderPakinParam; +import com.zy.asrs.entity.param.*; import com.zy.asrs.mapper.ManLocDetlMapper; import com.zy.asrs.service.*; import com.zy.asrs.utils.MatUtils; @@ -81,9 +78,109 @@ @Override @Transactional + public void trussComb(TrussCombParam param, Long userId) { + param.setUuid(String.valueOf(new Date().getTime())); + + } + @Override + @Transactional + public void trussComb2(PalletizingCompleteParam param, Long userId) { + //鍒ゆ柇param鍙傛暟 + if (Cools.isEmpty(param.getBarcode())){ + throw new CoolException("鍙傛暟锛氭墭鐩樼爜 barcode涓虹┖"); + }else if (Cools.isEmpty(param.getPalletizingNo())){ + throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖"); + }else if (Cools.isEmpty(param.getBoxType())){ + throw new CoolException("鍙傛暟锛氭湪绠辩被鍨� boxType涓虹┖"); + }else if (Cools.isEmpty(param.getMatLists()) || param.getMatLists().size()==0){ + throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖"); + } + + ArrayList<String> positions = new ArrayList<>(); //鏈ㄧ浣嶇疆鏌ラ噸 (orgin) + ArrayList<String> boxNos = new ArrayList<>(); //鏈ㄧ鍞竴缂栫爜鏌ラ噸 锛坆atch锛� + //鍒ゆ柇matLists鍙傛暟 + for (PalletizingCompleteParam.MatList matList:param.getMatLists()){ + if (Cools.isEmpty(matList.getMatnr())){ + throw new CoolException("鍙傛暟锛氱墿鏂欑紪鐮� matnr涓虹┖"); + }else if (Cools.isEmpty(matList.getPosition())){ + throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鐮佸灈浣嶇疆 position涓虹┖"); + }else if (Cools.isEmpty(matList.getBoxNo())){ + throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ缂栧彿 boxNo涓虹┖"); + }else if (Cools.isEmpty(matList.getAnfme()) || matList.getAnfme().equals(0)){ + throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ涓摐绠旀暟閲� anfme涓虹┖"); + }else if (Cools.isEmpty(matList.getWeight()) || matList.getWeight().equals(0D)){ + throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細閲嶉噺 weight涓虹┖"); + } + + if (!positions.contains(matList.getPosition())){ + positions.add(matList.getPosition()); + }else { + throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+",鏈ㄧ浣嶇疆瀛樺湪閲嶅锛�"+matList.getPosition()); + } + + if (!boxNos.contains(matList.getBoxNo())){ + boxNos.add(matList.getBoxNo()); + }else { + throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+",鏈ㄧ缂栫爜瀛樺湪閲嶅"); + } + } + +// BasDevp basDevp = basDevpService.selectById(Integer.parseInt(param.getDevNo$())); +// if (Cools.isEmpty(basDevp)){ +// throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo="+param.getPalletizingNo()+"涓嶅瓨鍦�"); +// } +// if (Cools.isEmpty(basDevp.getAutoing()) || !basDevp.getAutoing().equals("Y")){ +// throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getPalletizingNo()+" 鎵�澶勭珯鐐逛笉鏄嚜鍔ㄧ姸鎬�"); +// } +// if (Cools.isEmpty(basDevp.getLoading()) || !basDevp.getLoading().equals("Y")){ +// throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getPalletizingNo()+" 鎵�澶勭珯鐐逛笉鏄湁鐗╃姸鎬�"); +// } +// if (Cools.isEmpty(basDevp.getCanining()) || !basDevp.getCanining().equals("Y")){ +// throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getPalletizingNo()+" 鎵�澶勭珯鐐逛笉鏄兘鍏ョ姸鎬�"); +// } + + + if (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()))!=0 + || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()))!=0 + || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()))!=0){ + throw new CoolException("鎵樼洏鏉$爜锛�"+param.getBarcode()+"宸插瓨鍦紝璇峰嬁閲嶅缁勬墭"); + } + + + Date now = new Date(); + for (PalletizingCompleteParam.MatList matList:param.getMatLists()){ + Mat mat = matService.selectByMatnr(matList.getMatnr()); + if (Cools.isEmpty(mat)) { + throw new CoolException(matList.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); + } + WaitPakin waitPakin = new WaitPakin(); + waitPakin.sync(mat); + waitPakin.setModel(matList.getBatch()); //鎵规 + waitPakin.setSpecs(matList.getSpecs()); //瑙勬牸 + waitPakin.setBatch(matList.getBoxNo()); //鏈ㄧ缂栫爜 + waitPakin.setBrand(param.getBoxType()); //鏈ㄧ绫诲瀷 + waitPakin.setZpallet(param.getBarcode()); //鎵樼洏鐮� + waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃� + waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� + waitPakin.setAnfme(matList.getAnfme().doubleValue()); // 鏈ㄧ涓摐绠旀暟閲� + waitPakin.setStatus("Y"); // 鐘舵�� + waitPakin.setAppeUser(userId); + waitPakin.setAppeTime(now); + waitPakin.setModiUser(userId); + waitPakin.setModiTime(now); + if (!waitPakinService.insert(waitPakin)) { + throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); + } + } + } + @Override + @Transactional public void comb(CombParam param, Long userId) { if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { throw new CoolException(BaseRes.PARAM); + } + if(param.getCombMats().size()>1){ + throw new CoolException("璇锋彁鍙栦竴涓晢鍝侊紝鎴栬�呭埛鏂伴噸鏂扮粍鎵橈紒"); } // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁 if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). @@ -91,10 +188,18 @@ throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱"); } + if(param.getBarcode().length()!=8){ + throw new CoolException("鏉$爜闀垮害涓嶆槸8浣�===>>" + param.getBarcode()); + } + if (param.getCombMats().size()>1){ + throw new CoolException("涓嶅厑璁告贩鏂�===>>" + param.getBarcode()); + } + int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())); - if (countLoc > 0 || countWrk > 0) { - throw new CoolException("宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode()); + int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getBarcode())); + if (countLoc > 0 || countWrk > 0 || countwait > 0) { + throw new CoolException("缁勬墭妗�/宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode()); } Date now = new Date(); @@ -139,7 +244,7 @@ // 鍏宠仈缁勬墭 } else { Order order = orderService.selectByNo(param.getOrderNo()); - if (order.getSettle() > 2) { + if (Cools.isEmpty(order) || order.getSettle() > 2) { throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�"); } // 鐢熸垚鍏ュ簱閫氱煡妗� @@ -191,6 +296,7 @@ } + // 鍟嗗搧涓婃灦 @Override public void onSale(CombParam param) { Date now = new Date(); @@ -211,14 +317,14 @@ throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鏁伴噺鏈夎锛�"); } if (Cools.isEmpty(combMat.getBatch())){ - throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鎵瑰彿鏈夎锛�"); +// throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鎵瑰彿鏈夎锛�"); } ManLocDetl manLocDetl = new ManLocDetl(); manLocDetl.setLocNo(locno); manLocDetl.setNodeId(node.getId()); manLocDetl.setMaktx(mat.getMaktx()); manLocDetl.setMatnr(mat.getMatnr()); - manLocDetl.setBatch(combMat.getBatch()); + manLocDetl.setBatch(Cools.isEmpty(combMat.getBatch()) ? "" : combMat.getBatch()); manLocDetl.setAnfme(combMat.getAnfme()); manLocDetl.setModiTime(now); if (!manLocDetlService.insert(manLocDetl)) { @@ -227,15 +333,25 @@ } } + // 鍟嗗搧涓嬫灦 @Override public void offSale(OffSaleParam offSaleParam) { - List<ManLocDetl> manLocDetls = manLocDetlMapper.selectLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr()); - if (Cools.isEmpty(manLocDetls)){ - throw new CoolException("鍟嗗搧涓嬫灦澶辫触锛�"); + ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr()); + if (Cools.isEmpty(manLocDetl)){ + throw new CoolException("鏃犳鍟嗗搧锛�"); } - int i = manLocDetlMapper.deleteLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr()); - System.out.println(i); + double anfme = manLocDetl.getAnfme() - offSaleParam.getAnfme(); + if (anfme < 0) { + throw new CoolException("鍟嗗搧搴撳瓨涓嶈冻锛�"); + } else if (anfme == 0){ + manLocDetlMapper.deleteLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr()); + } + manLocDetlMapper.updateAnfme0(anfme,manLocDetl.getNodeId()); } + + // 鏌ユ壘鍟嗗搧 + + @Override @Transactional public void adjust(MobileAdjustParam param, Long userId) { @@ -573,6 +689,7 @@ wrkMast.setEmptyMk("N"); // 绌烘澘 wrkMast.setLinkMis("N"); wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setSheetNo("0"); //寰愬伐姹変簯鎷嗗灈鏍囪锛�0: 鏈媶 1: 宸叉媶 2:宸插鐞嗗彲涓嬩竴姝ワ紙杞巻鍙叉。锛� wrkMast.setAppeTime(now); wrkMast.setModiUser(userId); wrkMast.setModiTime(now); -- Gitblit v1.9.1