From ef28fc12367f1be5f80682d4300c1e3891bfe5c8 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期一, 09 六月 2025 19:43:58 +0800 Subject: [PATCH] 完成部署服务器 --- src/main/java/com/zy/common/web/WcsController.java | 372 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 262 insertions(+), 110 deletions(-) diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index 7026987..bbe9aa6 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -16,6 +16,7 @@ import com.zy.common.service.CommonService; import com.zy.common.web.param.CanningLineInLocParam; import com.zy.common.web.param.SearchLocParam; +import com.zy.system.entity.Config; import com.zy.system.service.ConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -24,10 +25,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.Map; +import java.util.*; /** * Created by vincent on 2020/10/30 @@ -80,22 +78,6 @@ if (param.getIoType() == 1) { // 鍏堝垱寤哄叆搴撻�氱煡妗� waitPakin = comb(param.getBarcode(),param.getBucketType(),param.getBucketCount()); -// if (Cools.isEmpty(param.getBarcode())) { -// return R.error("鏉$爜涓嶈兘涓虹┖"); -// } -// waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode())); -// if (Cools.isEmpty(waitPakins)) { -// WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); -// if (wrkMast != null && wrkMast.getIoType() == 103) { -// return R.parse(CodeRes.PICK_600); -// } -// return R.parse(CodeRes.NO_COMB_700); -// } -// 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) { -// return R.error(CodeRes.EXIST_500); -// } } if (Cools.isEmpty(param.getLocType1())){ return R.error("楂樹綆妫�娴嬩俊鍙蜂笉鑳戒负绌�"); @@ -109,12 +91,13 @@ StartupDto dto = null; if(param.getIoType() == 1) { - Map<Integer, String> wantBucketFlag = param.getWantBucketFlag(); - if(!wantBucketFlag.isEmpty()) { + List<SearchLocParam.WantBucket> wantBucketFlag = param.getWantBucketFlag(); + Optional<SearchLocParam.WantBucket> first = wantBucketFlag.stream().filter(wantBucket -> wantBucket.getBucketType() == param.getBucketType()).findFirst(); + if (first.isPresent()) { if(waitPakin == null) { return R.error("鍏ュ簱閫氱煡妗d负绌�"); } else { - dto = startupFullPutStore(param,waitPakin); // 鐩翠緵缃愯绾夸换鍔� + dto = startupFullPutStore(param,waitPakin,first.get()); // 鐩翠緵缃愯绾夸换鍔� if (dto != null) { log.info("WCS鍏ュ簱鐩翠緵缃愯绾挎帴鍙h繑鍙�:{},鎵樼洏鐮�:{}", dto, param.getBarcode()); return R.ok().add(dto); @@ -126,7 +109,7 @@ switch (param.getIoType()) { case 1://婊℃墭鐩樺叆搴� assert waitPakin != null; - dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakin, param.getLocArea(),param.isTailSupportFlag()); + dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakin, param.isTailSupportFlag()); break; case 10://绌烘墭鐩樺叆搴� dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode(), 1); @@ -142,7 +125,7 @@ @PostMapping("/pakin/CanningLine/loc/v1") @ResponseBody @Transactional - public synchronized R getLocNo(@RequestBody CanningLineInLocParam param) { + public synchronized R inCanningLine(@RequestBody CanningLineInLocParam param) { log.info("鏀跺埌WCS缃愯鍏ュ簱鎺ュ彛璇锋眰====>>鍏ュ弬:{}", param); if (Cools.isEmpty(param.getWrkNo())) { return R.error("宸ヤ綔鍙蜂笉鑳戒负绌�"); @@ -155,71 +138,248 @@ WrkMast wrkMast1 = wrkMastService.selectById(param.getWrkNo()); // 鏍规嵁浠诲姟鍙锋煡璇换鍔℃槑缁� WrkDetl wrkDetl1 = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast1.getWrkNo())); - // 鍒嗛厤搴撲綅 - StartupDto dto = commonService.getLocNoNew(1, param.getSourceStaNo(), null, 1); - // 鍒涘缓鏂颁换鍔� - int workNo = dto.getWorkNo(); + Mat mat = matService.selectByMatnr(param.getMatnr()); + if (mat == null) { + log.error("缃愯瀹屾垚鍏ュ簱锛屽弽棣堢粰wcs鎴愬搧鏍囪瘑涓嶅瓨鍦細{}",param.getMatnr()); + return R.error("缃愯瀹屾垚鍏ュ簱锛屽弽棣堢粰wcs鎴愬搧鏍囪瘑涓嶅瓨鍦細" + param.getMatnr()); + } + + // 鑾峰彇绯荤粺閰嶇疆锛岀湅鎴愬搧缃愯瀹屾垚鏄惁鐩存帴鍑哄埌鍙戣揣鍙� + Config config = configService.selectConfigByCode("gzwcfh"); + String fhFlag = ""; + if (config != null && config.getStatus() == 1 && !Cools.isEmpty(config.getValue())) { + fhFlag = config.getValue(); + } + Date now = new Date(); - // 鐢熸垚宸ヤ綔妗� - WrkMast wrkMast = new WrkMast(); - wrkMast.setWrkNo(workNo); - wrkMast.setIoTime(now); - wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID - wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱 - wrkMast.setIoPri(13D); // 浼樺厛绾� - wrkMast.setCrnNo(dto.getCrnNo()); - wrkMast.setSourceStaNo(dto.getSourceStaNo()); - wrkMast.setStaNo(dto.getStaNo()); - wrkMast.setLocNo(dto.getLocNo()); - wrkMast.setBarcode(wrkMast1.getBarcode()); // 鎵樼洏鐮� - wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 - wrkMast.setPicking("N"); // 鎷f枡 - wrkMast.setExitMk("N"); // 閫�鍑� - wrkMast.setEmptyMk("N"); // 绌烘澘 - wrkMast.setLinkMis("Y"); - wrkMast.setCtnType(wrkMast1.getCtnType()); // 灏炬墭鏍囪瘑 - wrkMast.setPdcType(wrkMast1.getPdcType()); // 绌烘《绫诲瀷 - wrkMast.setAppeTime(now); - boolean res = wrkMastService.insert(wrkMast); - if (!res) { - throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); - } + StartupDto dto; - // 鐢熸垚宸ヤ綔妗f槑缁� - // todo 鍏ユ垚鍝佹《搴撶殑鐗╂枡 杩欓噷鍏堟牴鎹┖妗剁被鍨嬫寚瀹氭垚鍝佹《鐗╂枡 - String matnr; - if(wrkMast1.getPdcType().equals("208L")) { - matnr = "YJ2025011814414206"; - } else { - matnr = "YJ2025011814412359"; - } - Mat mat = matService.selectByMatnr(matnr); - WrkDetl wrkDetl = new WrkDetl(); - wrkDetl.sync(mat); - wrkDetl.setWrkNo(workNo); - wrkDetl.setAnfme(wrkDetl1.getAnfme()); - wrkDetl.setZpallet(wrkMast1.getBarcode()); - wrkDetl.setIoTime(now); - wrkDetl.setAppeTime(now); - if (!wrkDetlService.insert(wrkDetl)) { - throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); - } + // 鍒ゆ柇璐存爣寮傚父锛屽妫�閲嶉噺寮傚父鐨勶紝涓嶅垎閰嶅簱浣嶏紝鍘诲線寮傚父鍙�1090 +// if ( !param.isTbFlag() || param.getGrossWeight() < param.getWeight()) { +// +// // 鐢熸垚宸ヤ綔妗� ------------------------------------------------------ +// WrkMast wrkMast = new WrkMast(); +// wrkMast.setWrkNo(commonService.getWorkNo(0)); +// wrkMast.setIoTime(now); +// wrkMast.setIoType(3); // 鍏ュ嚭搴撶被鍨�3.绔欏埌绔� +// wrkMast.setWrkSts(2L); +// wrkMast.setIoPri(13D); // 浼樺厛绾� +//// wrkMast.setCrnNo(dto.getCrnNo()); +// wrkMast.setSourceStaNo(param.getSourceStaNo()); +// wrkMast.setStaNo(1090); +//// wrkMast.setLocNo(dto.getLocNo()); +// wrkMast.setBarcode(wrkMast1.getBarcode()); // 鎵樼洏鐮� +// wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 +//// wrkMast.setPicking("N"); // 鎷f枡 +//// wrkMast.setExitMk("N"); // 閫�鍑� +//// wrkMast.setEmptyMk("N"); // 绌烘澘 +//// wrkMast.setLinkMis("Y"); +//// wrkMast.setCtnType(wrkMast1.getCtnType()); // 灏炬墭鏍囪瘑 +// wrkMast.setPdcType(wrkMast1.getPdcType()); // 绌烘《绫诲瀷 +// wrkMast.setAppeTime(now); +// wrkMastService.insert(wrkMast); +// +// // 鐢熸垚宸ヤ綔妗f槑缁�---------------------------------------------------- +// WrkDetl wrkDetl = new WrkDetl(); +// wrkDetl.sync(mat); +// wrkDetl.setWrkNo(wrkMast.getWrkNo()); +// wrkDetl.setAnfme(wrkDetl1.getAnfme()); +// wrkDetl.setZpallet(wrkMast1.getBarcode()); +// wrkDetl.setBatch(param.getBatch()); +// wrkDetl.setManuDate(param.getManuDate()); +// wrkDetl.setWeight(param.getWeight()); +// wrkDetl.setManLength(param.getGrossWeight()); +// wrkDetl.setInspect(1); // 璐存爣鎴愬姛 +// wrkDetl.setIoTime(now); +// wrkDetl.setAppeTime(now); +// wrkDetlService.insert(wrkDetl); +// +// dto = new StartupDto(); +// dto.setWorkNo(wrkMast.getWrkNo()); +// dto.setSourceStaNo(wrkMast.getSourceStaNo()); +// dto.setStaNo(wrkMast.getStaNo()); +// } else + if(param.getMatnr().equals(fhFlag)) { // 鐩存帴鍙戣揣 + // 鐢熸垚宸ヤ綔妗� ------------------------------------------------------ + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(commonService.getWorkNo(0)); + wrkMast.setIoTime(now); + wrkMast.setIoType(3); // 鍏ュ嚭搴撶被鍨�3.绔欏埌绔� + wrkMast.setWrkSts(2L); + wrkMast.setIoPri(13D); // 浼樺厛绾� +// wrkMast.setCrnNo(dto.getCrnNo()); + wrkMast.setSourceStaNo(param.getSourceStaNo()); + wrkMast.setStaNo(1016); +// wrkMast.setLocNo(dto.getLocNo()); + wrkMast.setBarcode(wrkMast1.getBarcode()); // 鎵樼洏鐮� + wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 +// wrkMast.setPicking("N"); // 鎷f枡 +// wrkMast.setExitMk("N"); // 閫�鍑� +// wrkMast.setEmptyMk("N"); // 绌烘澘 +// wrkMast.setLinkMis("Y"); +// wrkMast.setCtnType(wrkMast1.getCtnType()); // 灏炬墭鏍囪瘑 + wrkMast.setPdcType(wrkMast1.getPdcType()); // 绌烘《绫诲瀷 + wrkMast.setAppeTime(now); + wrkMastService.insert(wrkMast); - // 瀹屾垚鏃т换鍔�(鐩翠緵缃愯绾夸换鍔℃墜鍔ㄥ畬鎴�,鍑哄簱浠诲姟浠诲姟鍙锋秷澶变細鑷姩瀹屾垚) - if (wrkMast1.getIoType() == 2) { - wrkMast1.setWrkSts(4L); + // 鐢熸垚宸ヤ綔妗f槑缁�---------------------------------------------------- + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(mat); + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetl.setAnfme(wrkDetl1.getAnfme()); + wrkDetl.setZpallet(wrkMast1.getBarcode()); + wrkDetl.setBatch(param.getBatch()); + wrkDetl.setManuDate(param.getManuDate()); + wrkDetl.setWeight(param.getWeight()); + wrkDetl.setManLength(param.getGrossWeight()); + wrkDetl.setInspect(1); + wrkDetl.setIoTime(now); + wrkDetl.setAppeTime(now); + wrkDetlService.insert(wrkDetl); + + dto = new StartupDto(); + dto.setWorkNo(wrkMast.getWrkNo()); + dto.setSourceStaNo(wrkMast.getSourceStaNo()); + dto.setStaNo(wrkMast.getStaNo()); + } else { // 妫�娴嬫垚鍔燂紝鍏ユ垚鍝佸簱 + // 妫�绱㈠簱浣嶆潯浠� + FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(); + findLocNoAttributeVo.setMatnr(wrkDetl1.getMatnr()); + findLocNoAttributeVo.setModel(wrkDetl1.getModel()); + + // 鍒嗛厤搴撲綅 + dto = commonService.getLocNoNew(1, param.getSourceStaNo(), findLocNoAttributeVo, 1); + + // 鍒涘缓鏂颁换鍔� + int workNo = dto.getWorkNo(); + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID + wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱 + wrkMast.setIoPri(13D); // 浼樺厛绾� + wrkMast.setCrnNo(dto.getCrnNo()); + wrkMast.setSourceStaNo(dto.getSourceStaNo()); + wrkMast.setStaNo(dto.getStaNo()); + wrkMast.setLocNo(dto.getLocNo()); + wrkMast.setBarcode(wrkMast1.getBarcode()); // 鎵樼洏鐮� + wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("N"); // 绌烘澘 + wrkMast.setLinkMis("Y"); +// wrkMast.setCtnType(wrkMast1.getCtnType()); // 灏炬墭鏍囪瘑 + wrkMast.setPdcType(wrkMast1.getPdcType()); // 绌烘《绫诲瀷 + wrkMast.setAppeTime(now); + wrkMastService.insert(wrkMast); + + // 鐢熸垚宸ヤ綔妗f槑缁� + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(mat); + wrkDetl.setWrkNo(workNo); + wrkDetl.setAnfme(wrkDetl1.getAnfme()); + wrkDetl.setZpallet(wrkMast1.getBarcode()); + wrkDetl.setBatch(param.getBatch()); + wrkDetl.setManuDate(param.getManuDate()); + wrkDetl.setWeight(param.getWeight()); + wrkDetl.setManLength(param.getGrossWeight()); + wrkDetl.setInspect(1); // 璐存爣鎴愬姛 + wrkDetl.setIoTime(now); + wrkDetl.setAppeTime(now); + wrkDetlService.insert(wrkDetl); + + // 鏇存柊鐩爣搴撲綅鐘舵�� + LocMast locMast = locMastService.selectById(dto.getLocNo()); + if (locMast.getLocSts().equals("O")) { + locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); + } + } else { + log.error(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤"); + throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤"); + } + } + + // 瀹屾垚鏃т换鍔�(鐩翠緵缃愯绾夸换鍔℃墜鍔ㄥ畬鎴�) + if (wrkMast1.getIoType() == 3 && wrkMast1.getWrkSts() == 2) { + wrkMast1.setWrkSts(5L); wrkMast1.setModiTime(now); wrkMastService.updateById(wrkMast1); + } else if(wrkMast1.getIoType() == 101 && wrkMast1.getWrkSts() == 2) { + wrkMast1.setWrkSts(15L); + wrkMast1.setModiTime(now); + wrkMastService.updateById(wrkMast1); + } else { + log.error("缃愯瀹屾垚锛屽畬鎴愭棫浠诲姟澶辫触锛歿}",wrkMast1.getWrkNo()); + return R.parse("缃愯瀹屾垚锛屽畬鎴愭棫浠诲姟澶辫触:"+wrkMast1.getWrkNo()); } // 鏇存柊婧愮珯鐐逛俊鎭� BasDevp basDevp = basDevpService.selectById(param.getSourceStaNo()); - basDevp.setWrkNo(workNo); + basDevp.setWrkNo(dto.getWorkNo()); basDevp.setModiTime(now); if (!basDevpService.updateById(basDevp)) { throw new CoolException("鏇存柊婧愮珯澶辫触"); } + + log.info("WCS缃愯鍏ュ簱鎺ュ彛杩斿弬:{},鎵樼洏鐮�:{}", dto, wrkMast1.getBarcode()); + return R.ok(dto); + } + + // 寮傚父鍙e叆搴擄紝鑾峰彇搴撲綅 + @PostMapping("/pakin/abnormalMouthWarehousing/loc/v1") + @ResponseBody + @Transactional + public synchronized R abnormalMouthWarehousing(@RequestBody CanningLineInLocParam param) { + log.info("鏀跺埌WCS寮傚父鍙e叆搴撴帴鍙h姹�====>>鍏ュ弬:{}", param); + int wrkNo = param.getWrkNo(); + Integer sourceStaNo = param.getSourceStaNo(); + if (Cools.isEmpty(wrkNo)) { + return R.error("宸ヤ綔鍙蜂笉鑳戒负绌�"); + } + if (Cools.isEmpty(sourceStaNo)) { + return R.error("婧愮珯缂栧彿涓嶈兘涓虹┖"); + } + + Date now = new Date(); + StartupDto dto; + + WrkMast wrkMast = wrkMastService.selectById(wrkNo); + if (wrkMast == null) { + throw new CoolException("寮傚父鍙e叆搴撲换鍔″彿鏃犱换鍔★細" + wrkNo); + } else if (wrkMast.getLocNo() != null) { + throw new CoolException("寮傚父鍙e叆搴撳簱浣嶅凡鍒嗛厤锛�" + wrkMast.getLocNo()); + } + + if(!param.isTbFlag()) { //涓嬬嚎鍑哄簱 + wrkMast.setSourceStaNo(1090); + wrkMast.setStaNo(1016); // 寮傚父涓嬬嚎榛樿鍏ュ簱绔欑偣涓�1016 + wrkMastService.updateById(wrkMast); + return R.ok(); + } + + + WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkNo)); + + // 妫�绱㈠簱浣嶆潯浠� + FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(); + findLocNoAttributeVo.setMatnr(wrkDetl.getMatnr()); + findLocNoAttributeVo.setModel(wrkDetl.getModel()); + + // 鍒嗛厤搴撲綅 + dto = commonService.getLocNoNew(1, param.getSourceStaNo(), findLocNoAttributeVo, 1); + + dto.setWorkNo(wrkMast.getWrkNo()); // 浣跨敤鍘熷伐浣滃彿 + wrkMast.setIoType(1); // 鍏ュ嚭搴撶被鍨� 1.鍏ュ簱 + wrkMast.setCrnNo(dto.getCrnNo()); + wrkMast.setLocNo(dto.getLocNo()); + wrkMast.setSourceStaNo(dto.getSourceStaNo()); + wrkMast.setStaNo(dto.getStaNo()); + wrkMastService.updateById(wrkMast); // 鏇存柊鐩爣搴撲綅鐘舵�� LocMast locMast = locMastService.selectById(dto.getLocNo()); @@ -234,12 +394,20 @@ throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤"); } - log.info("WCS缃愯鍏ュ簱鎺ュ彛杩斿弬:{},鎵樼洏鐮�:{}", dto, wrkMast1.getBarcode()); + // 鏇存柊婧愮珯鐐逛俊鎭� + BasDevp basDevp = basDevpService.selectById(sourceStaNo); + basDevp.setWrkNo(dto.getWorkNo()); + basDevp.setModiTime(now); + if (!basDevpService.updateById(basDevp)) { + throw new CoolException("鏇存柊婧愮珯澶辫触"); + } + + log.info("WCS寮傚父鍙e叆搴撴帴鍙h繑鍙�:{},鎵樼洏鐮�:{}", dto, wrkMast.getBarcode()); return R.ok(dto); } @Transactional(propagation = Propagation.REQUIRED) - public WaitPakin comb(String barcode, String matnr,int bucketCount) { + public WaitPakin comb(String barcode, int matnr,int bucketCount) { if (Cools.isEmpty(barcode, matnr,bucketCount)) { throw new CoolException(BaseRes.PARAM); } @@ -282,7 +450,7 @@ // for (DetlDto detlDto : detlDtos) { - Mat mat = matService.selectByMatnr(matnr); + Mat mat = matService.selectByMatnr(String.valueOf(matnr)); if (Cools.isEmpty(mat)) { throw new CoolException(matnr + "鍟嗗搧妗f涓嶅瓨鍦�"); } @@ -443,15 +611,12 @@ * 鍏ㄦ澘鍏ュ簱 */ @Transactional(propagation = Propagation.REQUIRED) - public StartupDto startupFullPutStore(Integer devpNo, String barcode, LocTypeDto locTypeDto, WaitPakin waitPakins, int locArea,boolean tailSupportFlag) { + public StartupDto startupFullPutStore(Integer devpNo, String barcode, LocTypeDto locTypeDto, WaitPakin waitPakins,boolean tailSupportFlag) { // 婧愮珯鐐圭姸鎬佹娴� BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); // 妫�绱㈠簱浣� -// List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList()); -// List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList()); -// FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0), batchs.get(0)); FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins); - StartupDto dto = commonService.getLocNoNew( 1, devpNo,findLocNoAttributeVo, locArea); + StartupDto dto = commonService.getLocNoNew( 1, devpNo,findLocNoAttributeVo,waitPakins.getModel().equals("绌烘墭鐩�") ? 1 : 2); int workNo = dto.getWorkNo(); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� @@ -472,7 +637,7 @@ wrkMast.setEmptyMk("N"); // 绌烘澘 wrkMast.setLinkMis("Y"); wrkMast.setCtnType(tailSupportFlag ? 1 : 0); // 灏炬墭鏍囪瘑 - wrkMast.setPdcType(waitPakins.getModel()); // 绌烘《绫诲瀷 + wrkMast.setPdcType(waitPakins.getMatnr()); // 绌烘《绫诲瀷 // 鎿嶄綔浜哄憳鏁版嵁 wrkMast.setAppeTime(now); wrkMast.setModiTime(now); @@ -524,43 +689,30 @@ * 鐩翠緵缃愯绾� */ @Transactional(propagation = Propagation.REQUIRED) - public StartupDto startupFullPutStore(SearchLocParam param,WaitPakin waitPakin) { + public StartupDto startupFullPutStore(SearchLocParam param,WaitPakin waitPakin,SearchLocParam.WantBucket wantBucket) { // 婧愮珯鐐圭姸鎬佹娴� BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true); - String model = waitPakin.getModel(); + // 鍒ゆ柇绌烘《搴撴湁澶氬皯杩欑妗跺瀷 + int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("matnr", param.getBucketType()).where("CAST(SUBSTRING(loc_no, 1, 2) as int) >= 9")); - Integer wantBucketFlag = 0; // 缃愯绾垮彿 - String wantBucketType; // 妗剁被鍨� - boolean flag = true; - for(Map.Entry<Integer,String> entry :param.getWantBucketFlag().entrySet()) { - wantBucketFlag = entry.getKey(); - wantBucketType = entry.getValue(); - if(model.equals(wantBucketType)) { // 褰撳墠妗剁被鍨嬫槸缃愯绾胯鐨勭被鍨� - // 绌烘《搴撴棤璇ョ被鍨嬫《 - int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("model", model).where("CAST(SUBSTRING(loc_no, 1, 2) as int) >= 9")); - if (count == 0) { - flag = false; - break; - } - } - } - if (flag) { // 涓嶆弧瓒崇洿渚涚綈瑁呯嚎鏉′欢 + // 灏忎簬10涓垯鐩翠緵缃愯绾匡紝閬垮厤鍏ョ┖妗跺簱鍚庡湪鍑哄簱 + if (count > 10) { return null; } - StartupDto dto = commonService.getLocNo(param,wantBucketFlag); + StartupDto dto = commonService.getLocNo(param,wantBucket.getSite()); int workNo = dto.getWorkNo(); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); wrkMast.setIoTime(now); - wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID - wrkMast.setIoType(2); // 鍏ュ嚭搴撶姸鎬侊細2.鐩翠緵缃愯绾� + wrkMast.setWrkSts(2L); + wrkMast.setIoType(3); // 鍏ュ嚭搴撶姸鎬侊細3.绔欏埌绔� wrkMast.setIoPri(13D); // 浼樺厛绾� - wrkMast.setCrnNo(dto.getCrnNo()); +// wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); // wrkMast.setLocNo(dto.getLocNo()); @@ -571,7 +723,7 @@ wrkMast.setEmptyMk("N"); // 绌烘澘 wrkMast.setLinkMis("Y"); wrkMast.setCtnType(param.isTailSupportFlag() ? 1 : 0); // 灏炬墭鏍囪瘑 - wrkMast.setPdcType(model); // 绌烘《绫诲瀷 + wrkMast.setPdcType(waitPakin.getMatnr()); // 绌烘《绫诲瀷 // 鎿嶄綔浜哄憳鏁版嵁 wrkMast.setAppeTime(now); wrkMast.setModiTime(now); @@ -634,8 +786,8 @@ wrkMast.setExitMk("N"); // 閫�鍑� wrkMast.setEmptyMk("Y"); // 绌烘澘 wrkMast.setLinkMis("Y"); - wrkMast.setBarcode(barcode); - wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷 +// wrkMast.setBarcode(barcode); +// wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷 // 鎿嶄綔浜哄憳鏁版嵁 wrkMast.setAppeTime(new Date()); wrkMast.setModiTime(new Date()); -- Gitblit v1.9.1