From dbc2514aad6b2b70b08e81f33d45f64aae175ccf Mon Sep 17 00:00:00 2001 From: yxFwq <1> Date: 星期二, 19 十一月 2024 16:31:34 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 151 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 134 insertions(+), 17 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 e7b11bc..401d9c5 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -11,9 +11,11 @@ import com.zy.asrs.entity.param.*; import com.zy.asrs.entity.result.OpenOrderCompeteResult; import com.zy.asrs.entity.result.StockVo; +import com.zy.asrs.entity.vo.JarMastTableVo; import com.zy.asrs.mapper.TagMapper; import com.zy.asrs.service.*; import com.zy.asrs.task.core.ReturnT; +import com.zy.asrs.task.handler.BareBoardHandler; import com.zy.asrs.utils.CodeDetectionUtil; import com.zy.asrs.utils.MatUtils; import com.zy.asrs.utils.PostMesDataUtils; @@ -29,6 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestParam; import java.util.ArrayList; import java.util.Date; @@ -83,6 +86,12 @@ private LocMastService locMastService; @Autowired private WorkService workService; + @Autowired + private BareBoardHandler bareBoardHandler; + @Autowired + private BasJarMastService basJarMastService; + @Autowired + private BasCrnpService basCrnpService; @Override @Transactional @@ -804,7 +813,7 @@ } WaitPakin waitPakin = new WaitPakin(); waitPakin.sync(mat); - waitPakin.setBatch(matList.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 绠卞彿 + waitPakin.setBatch(matList.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 鎵规 waitPakin.setModel(matList.getModel()); //鍗峰彿 鍞竴鍊� waitPakin.setBrand(param.getBoxType()); //鏈ㄧ绫诲瀷 waitPakin.setZpallet(param.getBarcode()); //鎵樼洏鐮� @@ -812,7 +821,7 @@ waitPakin.setWeight(matList.getWeight()); //鍑�閲� waitPakin.setVolume(matList.getRoughWeight()); //姣涢噸 waitPakin.setPrice(matList.getRollExtent()); //闀垮害 - waitPakin.setSpecs(String.valueOf(matList.getJoint())); //鎺ュご + waitPakin.setSpecs(String.valueOf(matList.getJoint())); //鎺ュご MES璁㈠崟鍙� waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� waitPakin.setAnfme(matList.getAnfme()); // 鏁伴噺 waitPakin.setStatus("Y"); // 鐘舵�� @@ -1070,6 +1079,9 @@ } else if (param.getType()==3){//鐩翠緵浜х嚎 smallContainersSta(param); } +// else if (param.getType()==99){//搴撳唴渚涗骇绾� //鍑哄簱 娴嬭瘯 +// smallContainersBig99(param); +// } } catch (Exception e){ throw new CoolException("澶辫触锛侊紒锛佸師鍥狅細"+e.getMessage()); } @@ -1141,14 +1153,14 @@ WaitPakin waitPakin = new WaitPakin(); waitPakin.sync(mat); waitPakin.setBatch(param.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 绠卞彿 - waitPakin.setModel(param.getTaskNo()); //鍗峰彿 鍞竴鍊� + waitPakin.setModel(param.getTaskNo()); //鍗峰彿 鍞竴鍊� 宸ヤ綔鍙� // waitPakin.setBrand(param.getBoxType()); //鏈ㄧ绫诲瀷 waitPakin.setZpallet(basDevp.getBarcode()); //鎵樼洏鐮� // waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃� waitPakin.setWeight(param.getWeight()); //鍑�閲� // waitPakin.setVolume(matList.getRoughWeight()); //姣涢噸 // waitPakin.setPrice(matList.getRollExtent()); //闀垮害 - waitPakin.setSpecs(param.getOrderNo()); //鍗曞彿 鍊熺敤 + waitPakin.setSpecs(param.getOrderNo()); //MES璁㈠崟鍙� 鍊熺敤瑙勬牸 // waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� // waitPakin.setAnfme(matList.getAnfme()); // 鏁伴噺 waitPakin.setColor(param.getColor()); // 棰滆壊 @@ -1190,6 +1202,34 @@ throw new CoolException("鍝佸彿 matnr,閲嶉噺鑼冨洿鍋忕Щ鍊间负绌猴紒锛侊紒,璇峰厛涓嬪彂鍩虹妗f锛侊紒锛�"); } + ArrayList<Integer> crns =new ArrayList<>(); + ArrayList<Integer> crnList =new ArrayList<>(); + + crns.add(1);crns.add(2);crns.add(3);crns.add(4);crns.add(5);crns.add(6);crns.add(7); + + for (Integer crnNo : crns){ + // 妫�娴嬭矾寰� + Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() + .eq("type_no", 101) + .eq("stn_no", param.getDevNo()) + .eq("crn_no", crnNo); + StaDesc staDesc = staDescService.selectOne(wrapper); + if (Cools.isEmpty(staDesc)){ + continue; + } + BasCrnp basCrnp = basCrnpService.selectById(crnNo); + if (basCrnp.getCrnSts()!=3 || !basCrnp.getOutEnable().equals("Y")){ + continue; + } + if (!basCrnpService.checkSiteError(crnNo, false)){ + continue; + } + crnList.add(crnNo); + } + + if (crnList.isEmpty()){ + throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); + } ArrayList<LocDetl> locDetlArrayList = new ArrayList<>(); Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()).eq("weight", param.getWeight()); @@ -1205,14 +1245,12 @@ for (LocDetl locDetl:locDetls){ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); if (locMast.getLocSts().equals("F")){ - if (locDetlArrayList.size()<param.getBatchNum()) {//涓� - locDetlArrayList.add(locDetl); + if (crnList.contains(locMast.getCrnNo())){ + if (locDetlArrayList.size()<param.getBatchNum()) {//涓� + locDetlArrayList.add(locDetl); + } } } - } - - if (locDetlArrayList.isEmpty()){ - throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight()); } Integer batchNum = param.getBatchNum(); @@ -1233,8 +1271,10 @@ for (LocDetl locDetl:locDetls){ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); if (locMast.getLocSts().equals("F")){ - if (locDetlArrayList.size()<batchNum) {//涓� - locDetlArrayList.add(locDetl); + if (crnList.contains(locMast.getCrnNo())){ + if (locDetlArrayList.size()<batchNum) {//涓� + locDetlArrayList.add(locDetl); + } } } } @@ -1257,24 +1297,38 @@ for (LocDetl locDetl:locDetls){ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); if (locMast.getLocSts().equals("F")){ - if (locDetlArrayList.size()<batchNum) {//涓� - locDetlArrayList.add(locDetl); + if (crnList.contains(locMast.getCrnNo())){ + if (locDetlArrayList.size()<batchNum) {//涓� + locDetlArrayList.add(locDetl); + } } } } } - + if (locDetlArrayList.isEmpty()){ + throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight()); + } if (locDetlArrayList.size()<batchNum){ throw new CoolException("搴撳瓨鏁伴噺:"+locDetlArrayList.size()+"锛涘皬浜庨渶姹傛暟閲�:"+param.getBatchNum()); } + + ArrayList<LocDetl> locDetlArraySou = new ArrayList<>(); + for (LocDetl locDetl : locDetlArrayList){ if (batchNum <= 0){ return; } - StockOutParam stockOutParam = new StockOutParam(param,locDetl); - workService.startupFullTakeStore(stockOutParam, userId); + locDetlArraySou.add(locDetl); batchNum --; } + try{ + StockOutParam stockOutParam = new StockOutParam(param,locDetlArraySou); + workService.startupFullTakeStore(stockOutParam, userId); + } catch (Exception e){ +// throw new CoolException("鐢熸垚鍑哄簱浠诲姟澶辫触:鍑哄簱鏁伴噺锛�"+locDetlArraySou.size()); + throw new CoolException("鐢熸垚鍑哄簱浠诲姟澶辫触:"+e.getMessage()); + } + } public void smallContainersJar(SmallCompleteParam param) { @@ -1460,5 +1514,68 @@ } } + /* + * 鍑哄簱 + * 鐩翠緵浜х嚎 + * */ + public void smallContainersBig99(SmallCompleteParam param) {//鐩翠緵浜х嚎//鍑哄簱 + Long userId = 7777L;//mes + //鍒ゆ柇param鍙傛暟 + if (Cools.isEmpty(param.getType())){ + throw new CoolException("鍙傛暟锛氱被鍨� type涓虹┖"); +// }else if (Cools.isEmpty(param.getStaNo())){ +// throw new CoolException("鍙傛暟锛氭姇鏂欑偣浣� staNo涓虹┖"); + }else if (Cools.isEmpty(param.getDevNo())){ + throw new CoolException("鍙傛暟锛氫骇绾跨偣浣� devNo涓虹┖"); + }else if (Cools.isEmpty(param.getMatnr())){ + throw new CoolException("鍙傛暟锛氬搧鍙� matnr涓虹┖"); + }else if (Cools.isEmpty(param.getWeight())){ + throw new CoolException("鍙傛暟锛氱墿鏂欓噸閲� wright涓虹┖"); + }else if (Cools.isEmpty(param.getBatchNum())){ + throw new CoolException("鍙傛暟锛氬嚭搴撴暟閲� batchNum涓虹┖"); + } + Integer devNo = param.getDevNo(); + Integer batchNum = param.getBatchNum(); + + + for (int i =0;i<batchNum;i++){ + bareBoardHandler.startYx(devNo,99); + } + } + + /* + * 鑾峰彇纭寲缃愪换鍔′俊鎭� // + * */ + @Override + @Transactional + public List<JarMastTableVo> getJatIdList(Integer id) { + List<BasJarMast> jarMasts = basJarMastService.selectList(new EntityWrapper<BasJarMast>().eq("jar_id", id)); + if (Cools.isEmpty(jarMasts)){ + return new ArrayList<JarMastTableVo>(); + } + ArrayList<JarMastTableVo> jarMastTableVos = new ArrayList<>(); + for (BasJarMast jarMast : jarMasts) { + JarMastTableVo jarMastTableVo = new JarMastTableVo(); + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", jarMast.getWrkNo())); + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", jarMast.getWrkNo())); + if (wrkDetls.isEmpty()){ + WrkDetl wrkDetl = new WrkDetl(); + wrkDetls.add(wrkDetl); + } + if (Cools.isEmpty(wrkMast) || Cools.isEmpty(wrkDetls)){ + continue; + } + jarMastTableVo.setJarId(jarMast.getJarId()); + jarMastTableVo.setJarWrkNo(jarMast.getWrkNo().toString()); + jarMastTableVo.setStatus(jarMast.getStatus()); + jarMastTableVo.setStatus$(jarMast.getStatus$()); + jarMastTableVo.setMatnr(wrkDetls.get(0).getMatnr()); + jarMastTableVo.setMaktx(wrkDetls.get(0).getMaktx()); + jarMastTableVo.setWeight(wrkDetls.get(0).getWeight()); + jarMastTableVos.add(jarMastTableVo); + } + return jarMastTableVos; + } + /*...........................浜冲窞鐓滄槦..............浠ヤ笂.............浜冲窞鐓滄槦...........................*/ } -- Gitblit v1.9.1