From 6a31e3759855f9649a323d2a8dd0dfed0cc43319 Mon Sep 17 00:00:00 2001 From: lsh <1> Date: 星期二, 23 一月 2024 09:27:58 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 178 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 133 insertions(+), 45 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 52ba3e1..c0d6320 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -20,6 +20,7 @@ import com.zy.common.model.LocTypeDto; import com.zy.common.model.MesCombParam; import com.zy.common.model.StartupDto; +import com.zy.common.model.enums.WorkNoType; import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; @@ -85,6 +86,8 @@ private DocTypeService docTypeService; @Autowired private LocDetlRullUpDetailService locDetlRullUpDetailService; + @Autowired + private TagService tagService; @Override @@ -221,7 +224,7 @@ throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖"); }else if (Cools.isEmpty(param.getOrderNo())){ throw new CoolException("鍙傛暟锛氶��璐у崟鍗曞彿 orderNo涓虹┖"); - }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size() != 1){ + }else if (Cools.isEmpty(param.getMatList())){ throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖"); } @@ -252,45 +255,57 @@ if (!orderBoxNoList.contains(matList.getBatch())){ throw new CoolException("鍗曞彿锛�"+param.getOrderNo()+" 绠卞彿锛�"+matList.getBatch()+"涓嶅睘浜庢璁㈠崟鎴栬�呭凡缁忓叆搴�"); }else { -// if (matList.getAnfme() > orderDetls.get(0).getAnfme()) { -// throw new CoolException("绠卞彿锛�"+orderDetls.get(0).getBatch() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); -// } matListBoxNoList.add(matList.getBoxNo()); } } List<OrderDetl> orderDetlList = new ArrayList<>(); for (OrderDetl orderDetl: orderDetls){ if (matListBoxNoList.contains(orderDetl.getBatch())){ - orderDetl.setBrand("1"); orderDetlList.add(orderDetl); } } - String matnr = null; List<WaitPakin> waitPakins = new ArrayList<>(); + String matnrSign = ""; + String brandSign = ""; for (OrderDetl orderDetl:orderDetlList){ - Mat mat = matService.selectByMatnr(orderDetl.getMatnr()); - if (Cools.isEmpty(mat)) { - throw new CoolException(orderDetl.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); + if (Cools.isEmpty(orderDetl.getMatnr()) || Cools.isEmpty(orderDetl.getBrand())){ + throw new CoolException(orderDetl.getOrderNo() + "鎵�閫夋槑缁嗗瓨鍦ㄦ湭鐭ヨ鏍兼垨鑰呮湭鐭ョ鍨嬶紝璇风淮鎶ゆ暟鎹紒"); } - matnr = mat.getMatnr(); + if (matnrSign.equals("")){ + matnrSign = orderDetl.getMatnr(); + brandSign = orderDetl.getBrand(); + }else { + if (!matnrSign.equals(orderDetl.getMatnr())){ + throw new CoolException(orderDetl.getMatnr() + "璇烽�夋嫨鍚屼竴涓鏍肩殑璐х墿锛侊紒锛�"); + } + if (!brandSign.equals(orderDetl.getBrand())){ + throw new CoolException(orderDetl.getMatnr() + "璇烽�夋嫨鍚屼竴绉嶇鍨嬬殑璐х墿锛侊紒锛�"); + } + } + } + Mat mat = matService.selectByMatnr(matnrSign); + if (Cools.isEmpty(mat)) { + throw new CoolException(matnrSign + "鍟嗗搧妗f涓嶅瓨鍦�"); + } + for (OrderDetl orderDetl:orderDetlList){ WaitPakin waitPakin = new WaitPakin(); waitPakin.sync(mat); waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿 waitPakin.setModel(orderDetl.getModel()); //鎵规 waitPakin.setSpecs(orderDetl.getSpecs()); //瑙勬牸 waitPakin.setBatch(orderDetl.getBatch()); //鏈ㄧ缂栫爜 - waitPakin.setBrand(param.getBoxType()); //鏈ㄧ绫诲瀷 + waitPakin.setBrand(orderDetl.getBrand()); //鏈ㄧ绫诲瀷 waitPakin.setZpallet(param.getBarcode()); //鎵樼洏鐮� - waitPakin.setOrigin(orderDetl.getOrigin()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃� - waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� + waitPakin.setOrigin("1"); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃� + waitPakin.setIoStatus("Y"); // 鍏ュ嚭鐘舵�� waitPakin.setAnfme(orderDetl.getAnfme()); // 鏈ㄧ涓摐绠旀暟閲� + waitPakin.setWeight(orderDetl.getWeight()); // 鏈ㄧ涓摐绠斿噣閲� waitPakin.setStatus("Y"); // 鐘舵�� waitPakin.setAppeUser(userId); waitPakin.setAppeTime(now); waitPakin.setModiUser(userId); waitPakin.setModiTime(now); - waitPakin.setRollUp(orderDetl.getRollUp()); waitPakin.setZpallet(param.getBarcode()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); @@ -301,7 +316,7 @@ LocTypeDto locTypeDto = new LocTypeDto(); locTypeDto.setLocType1((short)1); - StartupDto dto = commonService.getLocNo(1, 1, 145, matnr,null,null, locTypeDto); + StartupDto dto = commonService.getLocNo(1, 1, 145, matnrSign,null,null, locTypeDto); int workNo = dto.getWorkNo(); // 鐢熸垚宸ヤ綔妗� @@ -339,7 +354,6 @@ wrkDetl.setIoTime(wrkMast.getIoTime()); wrkDetl.setAppeTime(now); wrkDetl.setModiTime(now); - wrkDetl.setRollUp(waitPakin.getRollUp()); wrkDetl.setZpallet(param.getBarcode()); if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); @@ -365,7 +379,51 @@ @Override @Transactional - public void trussComb2(PalletizingCompleteParam param, Long userId) { + public void trussComb2Car(Integer staNo) { + if (staNo!=212){ + throw new CoolException("鍙厑璁�212鍛煎彨鎵樼洏"); + } + BasDevp basDevp = basDevpService.selectById(212); + if (!basDevp.getAutoing().equals("Y")){ + throw new CoolException("212绔欑偣涓嶆槸鑷姩"); + } else if (basDevp.getLoading().equals("Y")){ + throw new CoolException("212绔欑偣鏈夌墿"); + } else if (basDevp.getWrkNo()!=0){ + throw new CoolException("212绔欑偣鏈夊伐浣滃彿"); + } + int workNo = 20211; + WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", 20211)); + if (!Cools.isEmpty(wrkMast1)){ + throw new CoolException("浠诲姟妗f宸插瓨鍦紒璇风瓑寰�..."); + } + Date now = new Date(); + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(new Date()); + wrkMast.setWrkSts(61L); // 宸ヤ綔鐘舵�侊細61銆佺瓑寰呯┖鏉� + wrkMast.setIoType(212); // 鍏ュ嚭搴撶姸鎬侊細212.2妤�212鍛煎彨绌烘澘 + wrkMast.setIoPri(10D); // 浼樺厛绾� + wrkMast.setStaNo(212); + wrkMast.setFullPlt("N"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("Y"); // 绌烘澘 + wrkMast.setLinkMis("Y"); + wrkMast.setCtnType(0); // 瀹瑰櫒绫诲瀷 + // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + } + @Override + @Transactional + public void PalletizingCompleteTwoFloorParam(PalletizingCompleteTwoFloorParam param) { + Long userId = 7777L;//涓帶 + param.setPalletizingNo(212); //鍒ゆ柇param鍙傛暟 if (Cools.isEmpty(param.getBarcode())){ throw new CoolException("鍙傛暟锛氭墭鐩樼爜 barcode涓虹┖"); @@ -373,36 +431,57 @@ throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖"); }else if (Cools.isEmpty(param.getBoxType())){ throw new CoolException("鍙傛暟锛氭湪绠辩被鍨� boxType涓虹┖"); - }else if (Cools.isEmpty(param.getMatLists()) || param.getMatLists().size()==0 || param.getMatLists().size()>2){ + }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size()==0){ throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖"); } - ArrayList<String> positions = new ArrayList<>(); //鏈ㄧ浣嶇疆鏌ラ噸 (orgin) + String matnrOne = "";//鏈ㄧ鐩稿悓浣嶇疆 瑙勬牸 matnr鏍¢獙 1銆佸乏 + String matnrTwo = "";//鏈ㄧ鐩稿悓浣嶇疆 瑙勬牸 matnr鏍¢獙 2銆佸彸 ArrayList<String> boxNos = new ArrayList<>(); //鏈ㄧ鍞竴缂栫爜鏌ラ噸 锛坆atch锛� //鍒ゆ柇matLists鍙傛暟 - for (PalletizingCompleteParam.MatList matList:param.getMatLists()){ + for (PalletizingCompleteTwoFloorParam.MatList matList:param.getMatList()){ if (Cools.isEmpty(matList.getMatnr())){ - throw new CoolException("鍙傛暟锛氱墿鏂欑紪鐮� matnr涓虹┖"); + 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涓虹┖"); + throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鐮佸灈浣嶇疆 position涓虹┖"); + }else if (Cools.isEmpty(matList.getBatch())){ + throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ缂栧彿 batch涓虹┖"); + }else if (Cools.isEmpty(matList.getModel())){ + throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鍗峰彿 model涓虹┖"); + }else if (Cools.isEmpty(matList.getBatch())){ + throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ缂栧彿 boxNo涓虹┖"); }else if (Cools.isEmpty(matList.getWeight()) || matList.getWeight().equals(0D)){ - throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細閲嶉噺 weight涓虹┖"); + throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鍑�閲� weight涓虹┖"); + }else if (Cools.isEmpty(matList.getRoughWeight()) || matList.getRoughWeight().equals(0D)){ + throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細姣涢噸 roughWeight"); + }else if (Cools.isEmpty(matList.getRollExtent()) || matList.getRollExtent().equals(0D)){ + throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鍗烽暱搴� rollExtent"); } - if (!positions.contains(matList.getPosition())){ - positions.add(matList.getPosition()); + if (matList.getPosition().equals("1")){//1銆佸乏 2銆佸彸 + if (!matnrOne.equals("")){ + if (!matnrOne.equals(matList.getMatnr())){ + throw new CoolException("鏈ㄧ浣嶇疆锛�"+matList.getPosition()+"瀛樺湪涓嶅悓瑙勬牸鍗蜂俊鎭�"); + } + }else { + matnrOne=matList.getMatnr(); + } + }else if (matList.getPosition().equals("2")){ + if (!matnrTwo.equals("")){ + if (!matnrTwo.equals(matList.getMatnr())){ + throw new CoolException("鏈ㄧ浣嶇疆锛�"+matList.getPosition()+"瀛樺湪涓嶅悓瑙勬牸鍗蜂俊鎭�"); + } + }else { + matnrTwo=matList.getMatnr(); + } }else { - throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+",鏈ㄧ浣嶇疆瀛樺湪閲嶅锛�"+matList.getPosition()); + throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBatch()+",鏈ㄧ浣嶇疆閿欒锛�"+matList.getPosition()); } - if (!boxNos.contains(matList.getBoxNo())){ - boxNos.add(matList.getBoxNo()); + if (!boxNos.contains(matList.getBatch())){ + boxNos.add(matList.getBatch()); }else { - throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+",鏈ㄧ缂栫爜瀛樺湪閲嶅"); + throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBatch()+",鏈ㄧ缂栫爜瀛樺湪閲嶅"); } } @@ -416,40 +495,51 @@ String matnr = null; List<WaitPakin> waitPakins = new ArrayList<>(); Date now = new Date(); - for (PalletizingCompleteParam.MatList matList:param.getMatLists()){ + for (PalletizingCompleteTwoFloorParam.MatList matList:param.getMatList()){ Mat mat = matService.selectByMatnr(matList.getMatnr()); if (Cools.isEmpty(mat)) { - throw new CoolException(matList.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); + mat = new Mat(); + mat.setMatnr(matList.getMatnr()); + mat.setMaktx(matList.getMatnr()); + mat.setTagId(tagService.getTop().getId()); + mat.setBrand(param.getBoxType()); + mat.setCreateBy(userId); + mat.setCreateTime(now); + mat.setUpdateBy(userId); + mat.setUpdateTime(now); + mat.setStatus(1); + if (!matService.insert(mat)) { + throw new CoolException("瑙勬牸娣诲姞澶辫触锛岃鑱旂郴绠$悊鍛�"); + } } matnr = matList.getMatnr(); WaitPakin waitPakin = new WaitPakin(); waitPakin.sync(mat); - waitPakin.setModel(matList.getBatch()); //鎵规 - waitPakin.setSpecs(matList.getSpecs()); //瑙勬牸 - waitPakin.setBatch(matList.getBoxNo()); //鏈ㄧ缂栫爜 + waitPakin.setBatch(matList.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 绠卞彿 + waitPakin.setModel(matList.getModel()); //鍗峰彿 鍞竴鍊� waitPakin.setBrand(param.getBoxType()); //鏈ㄧ绫诲瀷 waitPakin.setZpallet(param.getBarcode()); //鎵樼洏鐮� waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃� + waitPakin.setWeight(matList.getWeight()); //鍑�閲� +// waitPakin.setRoughWeight(matList.getRoughWeight()); //姣涢噸 +// waitPakin.setRollExtent(matList.getRollExtent()); //闀垮害 waitPakin.setIoStatus("Y"); // 鍏ュ嚭鐘舵�� - waitPakin.setAnfme(matList.getAnfme().doubleValue()); // 鏈ㄧ涓摐绠旀暟閲� + waitPakin.setAnfme(matList.getAnfme()); // 鏁伴噺 waitPakin.setStatus("Y"); // 鐘舵�� waitPakin.setAppeUser(userId); waitPakin.setAppeTime(now); waitPakin.setModiUser(userId); waitPakin.setModiTime(now); - waitPakin.setZpallet(param.getBarcode()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); } waitPakins.add(waitPakin); } - - LocTypeDto locTypeDto = new LocTypeDto(); locTypeDto.setLocType1((short)1); - StartupDto dto = commonService.getLocNo(1, 1, 145, matnr,null,null, locTypeDto); + StartupDto dto = commonService.getLocNo(1, 1, 212, matnr,null,null, locTypeDto); int workNo = dto.getWorkNo(); // 鐢熸垚宸ヤ綔妗� @@ -470,7 +560,6 @@ wrkMast.setEmptyMk("N"); // 绌烘澘 wrkMast.setLinkMis("Y"); wrkMast.setCtnType(0); // 瀹瑰櫒绫诲瀷 - wrkMast.setBarcode(param.getBarcode()); // 鎿嶄綔浜哄憳鏁版嵁 wrkMast.setAppeTime(now); wrkMast.setModiTime(now); @@ -487,7 +576,6 @@ wrkDetl.setAppeTime(now); wrkDetl.setModiTime(now); wrkDetl.setZpallet(param.getBarcode()); - wrkDetl.setRollUp(waitPakin.getRollUp()); if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); } -- Gitblit v1.9.1