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/controller/OpenController.java | 48 +++--- src/main/java/com/zy/asrs/entity/param/StockOutParam.java | 21 +++ src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 239 ++++++++++++++++++++++++++++++++++ src/main/java/com/zy/asrs/service/OpenService.java | 2 src/main/java/com/zy/asrs/entity/param/SmallCompleteParam.java | 65 +++++++++ 5 files changed, 351 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index 73eb219..091cc4d 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -218,18 +218,18 @@ return R.ok(); } - /** - * 涓帶(2妤�)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭� - */ - @PostMapping("/palletizing/complete/auth/v1") - @AppAuth(memo = "涓帶(2妤�)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭�") - public synchronized R PalletizingCompleteTwoFloorParam(@RequestHeader(required = false) String appkey, - @RequestBody PalletizingCompleteTwoFloorParam param, - HttpServletRequest request) { - auth(appkey, param, request); - openService.PalletizingCompleteTwoFloorParam(param); - return R.ok(param); - } +// /** +// * 涓帶(2妤�)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭� +// */ +// @PostMapping("/palletizing/complete/auth/v1") +// @AppAuth(memo = "涓帶(2妤�)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭�") +// public synchronized R PalletizingCompleteTwoFloorParam(@RequestHeader(required = false) String appkey, +// @RequestBody PalletizingCompleteTwoFloorParam param, +// HttpServletRequest request) { +// auth(appkey, param, request); +// openService.PalletizingCompleteTwoFloorParam(param); +// return R.ok(param); +// } /** * 鏉剧洓(1妤�)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭� @@ -287,18 +287,18 @@ /*...........................涓婇ザ姹熼摐..............浠ヤ笂.............寰愬伐姹変簯...........................*/ /*...........................浜冲窞鐓滄槦..............浠ヤ笂.............浜冲窞鐓滄槦...........................*/ -// /** -// * 浜冲窞鐓滄槦浠诲姟涓嬪彂 -// */ -// @PostMapping("/small/containers/auth/v1") -// @AppAuth(memo = "璐存爣鏈鸿创鏍囧畬鎴�") //old闇�瑕佷慨鏀� -// public synchronized R smallContainers(@RequestHeader(required = false) String appkey, -// @RequestBody LabellerCompleteParam param, -// HttpServletRequest request) { -// auth(appkey, param, request); -// openService.labellerComplete(param); -// return R.ok(); -// } + /** + * 浜冲窞鐓滄槦浠诲姟涓嬪彂 // 灏忔枡绠辨姇鏂欏畬鎴愮粍鎵� + */ + @PostMapping("/small/containers/auth/v1") + @AppAuth(memo = "灏忔枡绠辨姇鏂欏畬鎴愮粍鎵�") + public synchronized R smallContainers(@RequestHeader(required = false) String appkey, + @RequestBody SmallCompleteParam param, + HttpServletRequest request) { + auth(appkey, param, request); + openService.smallContainers(param); + return R.ok().add("鎴愬姛"); + } // // /** // * 浜冲窞鐓滄槦浠诲姟涓嬪彂 diff --git a/src/main/java/com/zy/asrs/entity/param/SmallCompleteParam.java b/src/main/java/com/zy/asrs/entity/param/SmallCompleteParam.java new file mode 100644 index 0000000..89ff228 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/SmallCompleteParam.java @@ -0,0 +1,65 @@ +package com.zy.asrs.entity.param; + +import lombok.Data; + +/* + * Created by Monkey D. Luffy on 2024.07.10 + * */ +@Data +public class SmallCompleteParam { + /* + * 浜х嚎鐐逛綅锛堥潪鐩翠緵浜х嚎绫诲瀷濉�0锛� + * 126銆�121銆�311銆�310锛堢洰鍓嶅洓涓骇绾夸綅缃級 + * */ + private Integer devNo; // 鏄� int 浜х嚎鐐逛綅 + + /* + * 鎶曟枡鐐逛綅锛� + * 灏忔枡绠憋細173 + * 澶ф枡绠憋細290銆�279 + * 1妤煎緟纭寲锛�459銆�452 + * */ + private Integer staNo; // 鏄� int 鎶曟枡鐐逛綅 + + /* + * 绫诲瀷: + * 0锛氱洿鎺ュ叆搴� + * 1锛氱洿渚涗骇绾� + * 2锛氱~鍖栫綈 + * */ + private Integer type; // 鏄� int 绫诲瀷 + + private String matnr; // 鏄� 瀛楃涓� 鐗╂枡浠g爜 + + private String maktx; // 鏄� 瀛楃涓� + + private String batch; // 鏄� 瀛楃涓� + + private String specs; // 鏄� 瀛楃涓� + + private String color; // 鏄� 瀛楃涓� + + private Double weight; // 鏄� 瀛楃涓� + + + // 搴撲綅鍙� + private String locNo; + + //鎵规 + private String model; + + //鏈ㄧ绫诲瀷 + private String brand; + + //鎵樼洏鐮� + private String zpallet; + + private String origin; + + // 鏈ㄧ涓摐绠旀暟閲� + private Double anfme; + + // 鏈ㄧ涓摐绠旀暟閲� + private Double count; + +} diff --git a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java index ca4874b..42d5a88 100644 --- a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java +++ b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java @@ -1,7 +1,9 @@ package com.zy.asrs.entity.param; +import com.zy.asrs.entity.LocDetl; import lombok.Data; +import java.util.ArrayList; import java.util.List; /** @@ -58,4 +60,23 @@ } + public StockOutParam(){}; + + public StockOutParam(SmallCompleteParam param, com.zy.asrs.entity.LocDetl locDetlSou){ + this.outSite = param.getDevNo(); + LocDetl locDetl = new LocDetl(); + ArrayList<LocDetl> locDetlArrayList = new ArrayList<>(); + locDetl.setMatnr(param.getMatnr()); + locDetl.setBrand(param.getBrand()); + locDetl.setAnfme(1.0); + locDetl.setLocNo(locDetlSou.getLocNo()); + locDetl.setModel(locDetlSou.getModel()); + locDetl.setBatch(locDetlSou.getBatch()); + locDetl.setZpallet(locDetlSou.getZpallet()); + locDetl.setWeight(locDetlSou.getWeight()); + locDetl.setSpecs(locDetlSou.getSpecs()); + locDetlArrayList.add(locDetl); + this.locDetls = locDetlArrayList; + }; + } diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java index c9e4899..0cbc89c 100644 --- a/src/main/java/com/zy/asrs/service/OpenService.java +++ b/src/main/java/com/zy/asrs/service/OpenService.java @@ -59,4 +59,6 @@ void cs2(); + void smallContainers(SmallCompleteParam param); + } 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