From befbe654bbd198f7bb57a5d3dd53cecb53d197fd Mon Sep 17 00:00:00 2001 From: lsh <lsh> Date: 星期三, 10 七月 2024 11:55:33 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 239 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 239 insertions(+), 0 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 bde5ff0..ce51ccb 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -14,6 +14,7 @@ import com.zy.asrs.mapper.TagMapper; import com.zy.asrs.service.*; import com.zy.asrs.task.core.ReturnT; +import com.zy.asrs.utils.CodeDetectionUtil; import com.zy.asrs.utils.MatUtils; import com.zy.asrs.utils.PostMesDataUtils; import com.zy.common.model.DetlDto; @@ -80,6 +81,8 @@ private StaDescService staDescService; @Autowired private LocMastService locMastService; + @Autowired + private WorkService workService; @Override @Transactional @@ -1044,4 +1047,240 @@ } /*...........................涓婇ザ姹熼摐..............浠ヤ笂.............寰愬伐姹変簯...........................*/ + + + /*...........................浜冲窞鐓滄槦..............浠ヤ笅.............浜冲窞鐓滄槦...........................*/ + /* + * 浜冲窞鐓滄槦浠诲姟涓嬪彂 // + * */ + @Override + @Transactional + public void smallContainers(SmallCompleteParam param) { + try{ + //鍒ゆ柇param鍙傛暟 + if (Cools.isEmpty(param.getType())){ + throw new CoolException("鍙傛暟锛氱被鍨� type涓虹┖"); + } + if (param.getType()==0){//鐩存帴鍏ュ簱 + smallContainersSmall(param); + } else if (param.getType()==1){//鐩翠緵浜х嚎 //鍑哄簱 + smallContainersBig(param); + } else if (param.getType()==2){//鍏ュ簱 閫斿緞 纭寲缃� + smallContainersJar(param); + } + } catch (Exception e){ + throw new CoolException("澶辫触锛侊紒锛佸師鍥狅細"+e.getMessage()); + } + } + + /* + * 灏忔枡绠辨姇鏂欏畬鎴愮粍鎵� + * */ + public void smallContainersSmall(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.getColor())){ + throw new CoolException("鍙傛暟锛氱墿鏂欓鑹� color涓虹┖"); + } + + Mat mat = matService.selectByMatnr(param.getMatnr()); + if (Cools.isEmpty(mat)) { +// mat = new Mat(); +// mat.setMatnr(param.getMatnr()); +// mat.setMaktx(param.getMatnr()); +// mat.setTagId(tagService.getTop().getId()); +// mat.setCreateBy(userId); +// mat.setCreateTime(now); +// mat.setUpdateBy(userId); +// mat.setUpdateTime(now); +// mat.setStatus(1); +// if (!matService.insert(mat)) { +// throw new CoolException("瑙勬牸娣诲姞澶辫触锛岃鑱旂郴绠$悊鍛�"); +// } + throw new CoolException("鐗╂枡锛�"+param.getMatnr()+" 涓嶅瓨鍦紝璇峰厛涓嬪彂鐗╂枡鍩虹淇℃伅"); + } + + + BasDevp basDevp = basDevpService.selectById(param.getStaNo()); + if (Cools.isEmpty(basDevp.getAutoing()) || !basDevp.getAutoing().equals("Y")){ + throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄嚜鍔ㄧ姸鎬�"); + } + if (Cools.isEmpty(basDevp.getLoading()) || !basDevp.getLoading().equals("Y")){ + throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄湁鐗╃姸鎬�"); + } + if (Cools.isEmpty(basDevp.getCanining()) || !basDevp.getCanining().equals("Y")){ + throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄兘鍏ョ姸鎬�"); + } + if (Cools.isEmpty(basDevp.getBarcode())){ + throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮�==銆嬩负绌�"+basDevp.getBarcode()); + } + if (CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){ + throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮侊細"+basDevp.getBarcode()); + } + + + if (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", basDevp.getBarcode()))!=0 + || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", basDevp.getBarcode()))!=0 + || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", basDevp.getBarcode()))!=0){ + throw new CoolException("鎵樼洏鏉$爜锛�"+basDevp.getBarcode()+"宸插瓨鍦紝璇峰嬁閲嶅缁勬墭"); + } + + + Date now = new Date(); + + WaitPakin waitPakin = new WaitPakin(); + waitPakin.sync(mat); +// waitPakin.setBatch(matList.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 绠卞彿 +// waitPakin.setModel(matList.getModel()); //鍗峰彿 鍞竴鍊� +// 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(String.valueOf(matList.getJoint())); //鎺ュご +// waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� +// waitPakin.setAnfme(matList.getAnfme()); // 鏁伴噺 + waitPakin.setColor(param.getColor()); // 棰滆壊 + waitPakin.setStatus("Y"); // 鐘舵�� + waitPakin.setAppeUser(userId); + waitPakin.setAppeTime(now); + waitPakin.setModiUser(userId); + waitPakin.setModiTime(now); + if (!waitPakinService.insert(waitPakin)) { + throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); + } + } + /* + * 鍑哄簱 + * 鐩翠緵浜х嚎 + * */ + public void smallContainersBig(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.getColor())){ + throw new CoolException("鍙傛暟锛氱墿鏂欓鑹� color涓虹┖"); + } + + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()).eq("weight", param.getWeight()).eq("color", param.getColor())); + if (locDetls.isEmpty()){ + locDetls = new ArrayList<LocDetl>(); + } + if (locDetls.isEmpty()){ + throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight()+"锛涢鑹�==銆媍olor:"+param.getColor()); + } + for (LocDetl locDetl : locDetls){ + StockOutParam stockOutParam = new StockOutParam(param,locDetl); + workService.startupFullTakeStore(stockOutParam, userId); + } + } + public void smallContainersJar(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.getColor())){ + throw new CoolException("鍙傛暟锛氱墿鏂欓鑹� color涓虹┖"); + } + + Mat mat = matService.selectByMatnr(param.getMatnr()); + if (Cools.isEmpty(mat)) { +// mat = new Mat(); +// mat.setMatnr(param.getMatnr()); +// mat.setMaktx(param.getMatnr()); +// mat.setTagId(tagService.getTop().getId()); +// mat.setCreateBy(userId); +// mat.setCreateTime(now); +// mat.setUpdateBy(userId); +// mat.setUpdateTime(now); +// mat.setStatus(1); +// if (!matService.insert(mat)) { +// throw new CoolException("瑙勬牸娣诲姞澶辫触锛岃鑱旂郴绠$悊鍛�"); +// } + throw new CoolException("鐗╂枡锛�"+param.getMatnr()+" 涓嶅瓨鍦紝璇峰厛涓嬪彂鐗╂枡鍩虹淇℃伅"); + } + + + BasDevp basDevp = basDevpService.selectById(param.getStaNo()); + if (Cools.isEmpty(basDevp.getAutoing()) || !basDevp.getAutoing().equals("Y")){ + throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄嚜鍔ㄧ姸鎬�"); + } + if (Cools.isEmpty(basDevp.getLoading()) || !basDevp.getLoading().equals("Y")){ + throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄湁鐗╃姸鎬�"); + } + if (Cools.isEmpty(basDevp.getCanining()) || !basDevp.getCanining().equals("Y")){ + throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄兘鍏ョ姸鎬�"); + } + if (Cools.isEmpty(basDevp.getBarcode())){ + throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮�==銆嬩负绌�"+basDevp.getBarcode()); + } + if (CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){ + throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮侊細"+basDevp.getBarcode()); + } + + + if (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", basDevp.getBarcode()))!=0 + || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", basDevp.getBarcode()))!=0 + || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", basDevp.getBarcode()))!=0){ + throw new CoolException("鎵樼洏鏉$爜锛�"+basDevp.getBarcode()+"宸插瓨鍦紝璇峰嬁閲嶅缁勬墭"); + } + + + Date now = new Date(); + + WaitPakin waitPakin = new WaitPakin(); + waitPakin.sync(mat); +// waitPakin.setBatch(matList.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 绠卞彿 +// waitPakin.setModel(matList.getModel()); //鍗峰彿 鍞竴鍊� +// 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(String.valueOf(matList.getJoint())); //鎺ュご +// waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� +// waitPakin.setAnfme(matList.getAnfme()); // 鏁伴噺 + waitPakin.setColor(param.getColor()); // 棰滆壊 + waitPakin.setStatus("Y"); // 鐘舵�� + waitPakin.setAppeUser(userId); + waitPakin.setAppeTime(now); + waitPakin.setModiUser(userId); + waitPakin.setModiTime(now); + if (!waitPakinService.insert(waitPakin)) { + throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); + } + + + } + + /*...........................浜冲窞鐓滄槦..............浠ヤ笂.............浜冲窞鐓滄槦...........................*/ } -- Gitblit v1.9.1