From 587fee18e22ed0ceee502ca12025a40e9d63989f Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期二, 03 九月 2024 10:47:43 +0800 Subject: [PATCH] 一楼反修入库修改 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 94 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 78 insertions(+), 16 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 ccdb455..228bb31 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -12,8 +12,9 @@ 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.OutboundAllocationUtil; import com.zy.asrs.utils.Utils; import com.zy.common.model.*; import com.zy.common.model.enums.IoWorkType; @@ -26,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 @@ -72,6 +73,10 @@ private OrderService orderService; @Autowired private OrderDetlService orderDetlService; + @Resource + private OrderMapper orderMapper; + @Resource + private OrderDetlMapper orderDetlMapper; @Autowired private WcsController wcsController; @Autowired @@ -165,10 +170,12 @@ // 鑾峰彇搴撲綅鏄庣粏 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 (!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) 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())); @@ -373,7 +380,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")) { @@ -403,7 +415,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)); // 鐢熸垚宸ヤ綔妗� @@ -414,8 +467,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枡 @@ -438,9 +491,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()); @@ -970,7 +1031,7 @@ locMast.setModiUser(userId); locMastService.updateById(locMast); } - } else if (wrkMast.getIoType()==202){ + } else if (wrkMast.getIoType()==202 || wrkMast.getIoType()==212){ } else { throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�"); } @@ -992,13 +1053,14 @@ } //鍙栨秷鍑哄簱宸ヤ綔妗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; @@ -1058,7 +1120,7 @@ // 鍒犻櫎宸ヤ綔妗f槑缁� boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo)); } - if (wrkMast.getIoType()==202){ + if (wrkMast.getIoType()==202 || wrkMast.getIoType()==212){ return; } @@ -1247,7 +1309,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