From abb9b5c51d8a20be68b64e0c4a9620f6578d2e3a Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期三, 30 四月 2025 09:59:26 +0800 Subject: [PATCH] 手动导入订单和mes下发订单,增加客户名称和备注字段 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 357 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 333 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index fd6c732..3f19760 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -12,6 +12,8 @@ import com.zy.asrs.entity.param.FullStoreParam; import com.zy.asrs.entity.param.LocDetlAdjustParam; import com.zy.asrs.entity.param.StockOutParam; +import com.zy.asrs.mapper.OrderDetlMapper; +import com.zy.asrs.mapper.OrderMapper; import com.zy.asrs.service.*; import com.zy.asrs.utils.Utils; import com.zy.common.model.*; @@ -25,9 +27,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.*; import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; /** * Created by vincent on 2020/6/11 @@ -41,10 +43,25 @@ // 搴撲綅鎺掑彿鍒嗛厤榛樿绫诲埆 private static final int DEFAULT_ROW_NO_TYPE = 1; + // 鍫嗗灈鏈烘槧灏勪竴妤肩殑鍏ュ簱鍑哄簱绔欑偣 + private static final Map<Integer,List<Integer>> crnMapNo; + + static { + crnMapNo = new HashMap<>(); + crnMapNo.put(1,new ArrayList<Integer>(){{add(3001);add(3002);}}); + crnMapNo.put(2,new ArrayList<Integer>(){{add(3004);add(3003);}}); + crnMapNo.put(3,new ArrayList<Integer>(){{add(3005);add(3006);}}); + crnMapNo.put(4,new ArrayList<Integer>(){{add(3007);add(3008);}}); + crnMapNo.put(5,new ArrayList<Integer>(){{add(3010);add(3009);}}); + crnMapNo.put(6,new ArrayList<Integer>(){{add(3011);add(3012);}}); + } + @Autowired private MatService matService; @Autowired private WrkMastService wrkMastService; + @Autowired + private DocTypeService docTypeService; @Autowired private WrkDetlService wrkDetlService; @Autowired @@ -69,6 +86,10 @@ private OrderService orderService; @Autowired private OrderDetlService orderDetlService; + @Resource + private OrderMapper orderMapper; + @Resource + private OrderDetlMapper orderDetlMapper; @Autowired private WcsController wcsController; @Autowired @@ -91,7 +112,7 @@ // 妫�绱㈠簱浣� LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); // List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList()); - StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), null, locTypeDto, 0); + StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), param.getList().get(0).getMatnr(),null,null, locTypeDto); // 鐢熸垚宸ヤ綔鍙� int workNo = dto.getWorkNo(); // 鐢熸垚宸ヤ綔妗� @@ -162,10 +183,17 @@ // 鑾峰彇搴撲綅鏄庣粏 List<LocDetlDto> locDetlDtos = new ArrayList<>(); for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) { - if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) { - LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch()); - if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount())); - } +// if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) { + LocDetl one = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",paramLocDetl.getLocNo()) + .eq("brand",paramLocDetl.getBrand()).eq("model",paramLocDetl.getModel())); +// selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch()); + if (null != one) { + if(!"鍚堟牸".equals(one.getThreeCode())) { + throw new CoolException(one.getModel() + "鍗蜂笉鍚堟牸:" + one.getThreeCode() ); + } + locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo())); + } +// } } if (!locDetlDtos.isEmpty()) { LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); @@ -179,6 +207,107 @@ throw new CoolException("搴撳瓨涓嶅瓨鍦�"); } } + @Override + @Transactional + public void startupFullTakeStoreOrder(StockOutParam param, Long userId) { + if (Cools.isEmpty(param) || Cools.isEmpty(param.getLocDetls())){ + throw new CoolException("鍙傛暟涓虹┖"); + } + if (Cools.isEmpty(param.getOrderNo())){ + throw new CoolException("璁㈠崟鍙峰弬鏁颁负绌�"); + } + DocType docType = docTypeService.selectOrAdd("鎵嬪姩鍑哄簱鍗�", Boolean.FALSE); + Order order = orderService.selectByNo(param.getOrderNo()); + if (Cools.isEmpty(order)){ + Date now = new Date(); + order = new Order( + String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] + param.getOrderNo(), // 璁㈠崟缂栧彿 + DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 + docType.getDocId(), // 鍗曟嵁绫诲瀷 + null, // 椤圭洰缂栧彿 + null, // + null, // 璋冩嫧椤圭洰缂栧彿 + null, // 鍒濆绁ㄦ嵁鍙� + null, // 绁ㄦ嵁鍙� + null, // 瀹㈡埛缂栧彿 + null, // 瀹㈡埛 + null, // 鑱旂郴鏂瑰紡 + null, // 鎿嶄綔浜哄憳 + null, // 鍚堣閲戦 + null, // 浼樻儬鐜� + null, // 浼樻儬閲戦 + null, // 閿�鍞垨閲囪喘璐圭敤鍚堣 + null, // 瀹炰粯閲戦 + null, // 浠樻绫诲瀷 + null, // 涓氬姟鍛� + null, // 缁撶畻澶╂暟 + null, // 閭垂鏀粯绫诲瀷 + null, // 閭垂 + null, // 浠樻鏃堕棿 + null, // 鍙戣揣鏃堕棿 + null, // 鐗╂祦鍚嶇О + null, // 鐗╂祦鍗曞彿 +// 2L, // 璁㈠崟鐘舵�� + 1L, // 璁㈠崟鐘舵�� + 1, // 鐘舵�� + userId, // 娣诲姞浜哄憳 + now, // 娣诲姞鏃堕棿 + userId, // 淇敼浜哄憳 + now, // 淇敼鏃堕棿 + null // 澶囨敞 + ); + if (!orderService.insert(order)) { + throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触"); + } + // 鍗曟嵁鏄庣粏妗� + List<DetlDto> list = new ArrayList<>(); + List<StockOutParam.LocDetl> locDetls = param.getLocDetls(); + int i=0; + for (StockOutParam.LocDetl locDetl : locDetls) { + i++; + Mat mat = matService.selectByMatnr(locDetl.getMatnr()); + if (Cools.isEmpty(mat)) { + throw new CoolException(locDetl.getMatnr() + "鐗╂枡缂栫爜妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); + } + OrderDetl orderDetl = new OrderDetl(); + orderDetl.sync(mat); + orderDetl.setSuppCode(String.valueOf(i)); // 琛屽彿 + orderDetl.setManu(locDetl.getLocNo()); //搴撲綅鍙� + orderDetl.setBatch(locDetl.getBatch()); //鏈ㄧ缂栫爜 + orderDetl.setAnfme(locDetl.getAnfme());//鍑哄簱鏁伴噺 + orderDetl.setModel(locDetl.getModel());//鎵规 + orderDetl.setSpecs(locDetl.getSpecs());//瑙勬牸 + orderDetl.setBrand(locDetl.getBrand());//鏈ㄧ绫诲瀷 + orderDetl.setBarcode(locDetl.getZpallet());//鏈ㄧ绫诲瀷 + orderDetl.setWeight(locDetl.getWeight()); +// orderDetl.setWorkQty(locDetl.getAnfme()); + orderDetl.setWorkQty(0.0); + orderDetl.setOrderId(order.getId()); + orderDetl.setOrderNo(order.getOrderNo()); + orderDetl.setOrigin(locDetl.getOrigin()); + orderDetl.setCreateBy(userId); + orderDetl.setCreateTime(now); + orderDetl.setUpdateBy(userId); + orderDetl.setUpdateTime(now); + orderDetl.setStatus(1); + orderDetl.setQty(0.0D); + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + } + +// List<StockOutParam> stockOutParams = OutboundAllocationUtil.OutboundClassification(param); +// for (StockOutParam stockOutParam : stockOutParams){ +// startupFullTakeStore(stockOutParam,userId); +// } + + } else { + throw new CoolException("璁㈠崟鍙烽噸澶嶏紝璁㈠崟"+param.getOrderNo()+"宸插瓨鍦紒锛侊紒"); + } + + } + @Override @Transactional @@ -240,6 +369,10 @@ wrkMast.setExitMk("N"); // 閫�鍑� wrkMast.setEmptyMk("N"); // 绌烘澘 wrkMast.setLinkMis("N"); + wrkMast.setSheetNo("0"); + if (staDesc.getStnNo()<118 || staDesc.getStnNo()>121){ + wrkMast.setSheetNo("3"); + } wrkMast.setBarcode(locMast.getBarcode()); wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁 wrkMast.setAppeTime(now); @@ -253,7 +386,7 @@ if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;} WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(detlDto.getLocDetl()); - wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙� + wrkDetl.setOrderNo(detlDto.getOrderNo()); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙� wrkDetl.setWrkNo(workNo); wrkDetl.setIoTime(now); Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount(); @@ -265,7 +398,12 @@ if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } + // 淇敼璁㈠崟鏄庣粏 + orderDetlMapper.updateOrderDetlByGroupNo(detlDto.getOrderNo(), detlDto.getLocDetl().getBrand(), 1); + // 淇敼璁㈠崟鐘舵�� + orderMapper.updateSettleByOrderNo(detlDto.getOrderNo(),2L, userId); } + // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓� locMast = locMastService.selectById(dto.getLocNo()); if (locMast.getLocSts().equals("F")) { @@ -295,7 +433,48 @@ LocMast locMast = locMastService.selectById(taskDto.getLocNo()); // 鑾峰彇璺緞 int ioType = taskDto.isAll() ? 101 : 103; - StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); +// StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); + // 鏍规嵁搴撲綅鎺掑彿+鍑哄簱绔欑偣锛岃幏鍙栧嚭搴撴簮绔欑偣 + int row = Integer.parseInt(locMast.getLocNo().substring(0, 2)); + int souresStaNo = 0; + if (taskDto.getStaNo() < 3000) { // 浜屾ゼ + switch (row) { + case 1: case 2: case 3: + case 4: souresStaNo = 2062; break; + case 5: case 6: case 7: + case 8: souresStaNo = 2065; break; + case 9: case 10: case 11: + case 12: souresStaNo = 2068; break; + case 13: case 14: case 15: + case 16: souresStaNo = 2070; break; + case 17: case 18: case 19: + case 20: souresStaNo = 2073; break; + case 21: case 22: case 23: + case 24: souresStaNo = 2076; break; + default: + } + } else { // 涓�妤� + switch (row) { + case 1: case 2: case 3: + case 4: souresStaNo = 3002; break; + case 5: case 6: case 7: + case 8: souresStaNo = 3003; break; + case 9: case 10: case 11: + case 12: souresStaNo = 3006; break; + case 13: case 14: case 15: + case 16: souresStaNo = 3008; break; + case 17: case 18: case 19: + case 20: souresStaNo = 3009; break; + case 21: case 22: case 23: + case 24: souresStaNo = 3012; break; + default: + } + } + + if (souresStaNo == 0) { + throw new CoolException("婧愮珯鐐硅浆鎹㈠紓甯革細" + row); + } + // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); // 鐢熸垚宸ヤ綔妗� @@ -306,8 +485,8 @@ wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� wrkMast.setIoPri(13D); // 浼樺厛绾э細13 wrkMast.setCrnNo(locMast.getCrnNo()); - wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯 - wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔� + wrkMast.setSourceStaNo(souresStaNo); // 婧愮珯 + wrkMast.setStaNo(taskDto.getStaNo()); // 鐩爣绔� wrkMast.setSourceLocNo(taskDto.getLocNo()); // 婧愬簱浣� wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 wrkMast.setPicking("N"); // 鎷f枡 @@ -330,9 +509,17 @@ orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); } WrkDetl wrkDetl = new WrkDetl(); - wrkDetl.sync(orderDetl); +// wrkDetl.sync(orderDetl); wrkDetl.setZpallet(wrkMast.getBarcode()); wrkDetl.setIoTime(now); + wrkDetl.setMatnr(locDto.getMatnr()); + wrkDetl.setMaktx(locDto.getMaktx()); + wrkDetl.setWeight(locDto.getWeight()); // 鍑�閲� + wrkDetl.setVolume(locDto.getVolume()); // 姣涢噸 + wrkDetl.setOrigin(locDto.getOrigin()); // 鏈ㄧ鍦ㄦ墭鐩樹綅缃� + wrkDetl.setPrice(locDto.getPrice()); + wrkDetl.setSpecs(locDto.getSpecs()); + wrkDetl.setModel(locDto.getModel()); wrkDetl.setWrkNo(workNo); wrkDetl.setBatch(locDto.getBatch()); wrkDetl.setOrderNo(locDto.getOrderNo()); @@ -371,7 +558,7 @@ BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); // 妫�绱㈠簱浣� LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); - StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto, 0); + StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null,null,null, locTypeDto); int workNo = dto.getWorkNo(); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� @@ -558,10 +745,9 @@ // 鑾峰彇搴撲綅鏄庣粏 List<LocDetlDto> locDetlDtos = new ArrayList<>(); for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) { - if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) { - LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch()); - if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount())); - } + LocDetl one = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",paramLocDetl.getLocNo()) + .eq("brand",paramLocDetl.getBrand()).eq("model",paramLocDetl.getModel())); + if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo())); } if (!locDetlDtos.isEmpty()) { LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); @@ -662,6 +848,89 @@ @Override @Transactional + public void autoLocMove(String orderNo,String sourceLocNo, String locNo, Long userId) { + LocMast sourceLoc = locMastService.selectById(sourceLocNo); + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo)); + if (Cools.isEmpty(sourceLoc)){ + throw new CoolException("鏈壘鍒板簱浣�"); + } + LocMast loc = locMastService.selectById(locNo); + if (Cools.isEmpty(loc)){ + throw new CoolException("鏈壘鍒板簱浣�"); + } + + Date now = new Date(); + // 鑾峰彇宸ヤ綔鍙� + int workNo = commonService.getWorkNo(WorkNoType.PICK.type); + // 淇濆瓨宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setIoType(12); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇 + wrkMast.setIoPri(10D); + wrkMast.setCrnNo(sourceLoc.getCrnNo()); + wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣� + wrkMast.setLocNo(locNo); // 鐩爣搴撲綅 + wrkMast.setSourceStaNo(crnMapNo.get(sourceLoc.getCrnNo()).get(1)); // 鍑哄簱婧愮珯鐐� + wrkMast.setStaNo(crnMapNo.get(loc.getCrnNo()).get(0)); // 鍏ュ簱鐩爣绔欑偣 + wrkMast.setFullPlt(Cools.isEmpty(locDetls)?"N":"Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘 + wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮� + wrkMast.setLinkMis("N"); + wrkMast.setAppeUser(userId); + wrkMast.setAppeTime(now); + wrkMast.setModiUser(userId); + wrkMast.setModiTime(now); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + // 宸ヤ綔妗f槑缁嗕繚瀛� + for (LocDetl locDetl : locDetls) { + WrkDetl wrkDetl = new WrkDetl(); + + wrkDetl.sync(locDetl); + wrkDetl.setOrderNo(orderNo); + wrkDetl.setWrkNo(workNo); + wrkDetl.setIoTime(now); + wrkDetl.setAnfme(locDetl.getAnfme()); + wrkDetl.setAppeTime(now); + wrkDetl.setAppeUser(userId); + wrkDetl.setModiTime(now); + wrkDetl.setModiUser(userId); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + } + } + // 淇敼婧愬簱浣嶇姸鎬� + if (sourceLoc.getLocSts().equals("D") || sourceLoc.getLocSts().equals("F")) { + sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害 + sourceLoc.setModiUser(userId); + sourceLoc.setModiTime(now); + if (!locMastService.updateById(sourceLoc)){ + throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�"); + } + } else { + throw new CoolException("婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細"+sourceLoc.getLocSts$()); + } + // 淇敼鐩爣搴撲綅鐘舵�� + if (loc.getLocSts().equals("O")) { + loc.setLocSts("S"); // S.鍏ュ簱棰勭害 + loc.setModiTime(now); + loc.setModiUser(userId); + if (!locMastService.updateById(loc)) { + throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�"); + } + } else { + throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細"+loc.getLocSts$()); + } + } + + @Override + @Transactional public void completeWrkMast(String workNo, Long userId) { WrkMast wrkMast = wrkMastService.selectById(workNo); if (Cools.isEmpty(wrkMast)){ @@ -674,14 +943,17 @@ if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) { wrkMast.setWrkSts(4L); // 鍑哄簱 - } else if (wrkMast.getWrkSts() > 10) { + } else if (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()!=202) { wrkMast.setWrkSts(14L); + }else if (wrkMast.getIoType()==202){ + wrkMast.setWrkSts(57L); } Date now = new Date(); wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true)); wrkMast.setCrnEndTime(now); wrkMast.setModiTime(now); wrkMast.setModiUser(userId); + wrkMast.setSheetNo("3"); // 瀹屾垚鎿嶄綔浜哄憳璁板綍 wrkMast.setManuType("鎵嬪姩瀹屾垚"); if (!wrkMastService.updateById(wrkMast)) { @@ -838,7 +1110,7 @@ locMastService.updateById(locMast); } // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛� - } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) { + } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14 && wrkMast.getIoType()!=202) { locNo = wrkMast.getSourceLocNo(); // 鍑哄簱 ===>> F.鍦ㄥ簱 if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) { @@ -847,7 +1119,7 @@ } else if (wrkMast.getIoType() == 110) { locSts = "D"; // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉� - } else if (wrkMast.getIoType() == 11) { + } else if (wrkMast.getIoType() == 11 || wrkMast.getIoType() == 12) { locSts = wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F"; // 搴撲綅杞Щ锛氱洰鏍囧簱浣� LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); @@ -859,6 +1131,7 @@ locMast.setModiUser(userId); locMastService.updateById(locMast); } + } else if (wrkMast.getIoType()==202 || wrkMast.getIoType()==212){ } else { throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�"); } @@ -879,14 +1152,47 @@ } } + // 鍙栨秷璺ㄥ贩閬撶Щ搴撲换鍔℃椂锛屽洖婊氬湪鎵ц鐨勪换鍔� + if (wrkMast.getIoType() == 12) { + List<Order> orderList = orderMapper.selectList(new EntityWrapper<Order>().eq("doc_type", 24).lt("settle", 3)); + if (orderList.size() == 1) { + Order order = orderList.get(0); + // 鍥炴粴鍗曟嵁鏄庣粏鐨勭Щ搴撶姸鎬� + List<OrderDetl> orderDetlList1 = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().eq("order_no", order.getOrderNo()).eq("specs", wrkMast.getSourceLocNo())); + for (OrderDetl orderDetl:orderDetlList1) { + if (orderDetl.getBeBatch() != null) { + orderDetl.setModel(""); + } + orderDetl.setUpdateTime(now); + orderDetl.setDanger(0); + orderDetlMapper.updateById(orderDetl); + } + // 鍥炴粴鍗曟嵁鐘舵�侊紝鏈夊ぇ浜�0鐨勮鍗曟槑缁嗗垯鏄綔涓氫腑锛屾病鏈夊垯鏇存柊涓哄緟澶勭悊 + Integer count = orderDetlMapper.selectCount(new EntityWrapper<OrderDetl>().eq("order_no", order.getOrderNo()).gt("danger", 0)); + if (count == 0) { + order.setSettle(1L); + orderMapper.updateById(order); + } + } else { + log.error("鍥炴粴绉诲簱鍗曟嵁寮傚父锛屾棤婧愬簱浣嶆暟鎹細{}",wrkMast.getSourceLocNo()); + } + } + +// // 鍙栨秷绌洪棽鐞嗚揣浠诲姟鏃讹紝鍥炴粴鎴愭湭鐞嗚揣 +// if (wrkMast.getIoType() == 109) { +// // 鏇存柊搴撳瓨鏄庣粏涓虹悊璐т腑 +// locDetlMapper.updateLhStsByLocNo(wrkMast.getSourceLocNo(),0); +// } + //鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺 - if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) { + if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) { List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); for (WrkDetl wrkDetl : wrkDetls) { if (!Cools.isEmpty(wrkDetl.getOrderNo())) { - if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { - throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); - } +// if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { +// throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); +// } + orderDetlMapper.updateOrderDetlByGroupNo(wrkDetl.getOrderNo(),wrkDetl.getBrand(),0); //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼 boolean flag = true; @@ -945,6 +1251,9 @@ } // 鍒犻櫎宸ヤ綔妗f槑缁� boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo)); + } + if (wrkMast.getIoType()==202 || wrkMast.getIoType()==212){ + return; } // 淇敼搴撲綅鐘舵�� @@ -1132,7 +1441,7 @@ } List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getLocDetls().get(0).getMatnr())); if (Cools.isEmpty(locDetls) || locDetls.size()<1){ - throw new CoolException("寰呬慨鏀瑰晢鍝佹棤搴撳瓨锛屾棤闇�淇敼锛� 鍝佸彿锛�"+param.getLocDetls().get(0).getMatnr()); + throw new CoolException("寰呬慨鏀瑰晢鍝佹棤搴撳瓨锛屾棤闇�淇敼锛� 瑙勬牸锛�"+param.getLocDetls().get(0).getMatnr()); } try { locDetlService.updateMatTurn(param.getLocDetls().get(0).getMatnr(),mat.getMatnr()); -- Gitblit v1.9.1