From 5dac37cde0205be965c2b74dd1bddefc7f9cceda Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期三, 26 三月 2025 08:56:57 +0800 Subject: [PATCH] Merge branch 'integrationWms' into mdqzasrs --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 311 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 281 insertions(+), 30 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 e6f38ce..7bbe338 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -12,7 +12,10 @@ 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.LocMastMapper; +import com.zy.asrs.entity.result.FindLocNoAttributeVo; import com.zy.asrs.service.*; +import com.zy.asrs.utils.OrderInAndOutUtil; import com.zy.asrs.utils.Utils; import com.zy.common.model.*; import com.zy.common.model.enums.IoWorkType; @@ -25,6 +28,7 @@ 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; @@ -78,6 +82,18 @@ @Autowired private WaitPakinService waitPakinService; + @Autowired + private LocOwnerService locOwnerService; + + @Autowired + private ManLocDetlService manLocDetlService; + + @Resource + private LocMastMapper locMastMapper; + + @Resource + private OrderPakoutService orderPakOutService; + @Override @Transactional public String startupFullPutStore(FullStoreParam param, Long userId) { @@ -90,9 +106,13 @@ BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true); // 妫�绱㈠簱浣� LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); - List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList()); - List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList()); - StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), matnrs.get(0), batchs.get(0), null,locTypeDto); +// List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList()); +// List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList()); + FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(param.getList().get(0)); + StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), findLocNoAttributeVo,locTypeDto); + if (Cools.isEmpty(dto)){ + throw new CoolException("鏌ヨ搴撲綅澶辫触锛侊紒==銆媠tartupFullPutStore ==銆� commonService.getLocNo"); + } // 鐢熸垚宸ヤ綔鍙� int workNo = dto.getWorkNo(); // 鐢熸垚宸ヤ綔妗� @@ -123,9 +143,9 @@ // 鐢熸垚宸ヤ綔妗f槑缁� List<DetlDto> detlDtos = new ArrayList<>(); param.getList().forEach(elem -> { - DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); + DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(),elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme()); if (DetlDto.has(detlDtos, detlDto)) { - DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); + DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getBrand(),detlDto.getStandby1(),detlDto.getStandby2(),detlDto.getStandby3(),detlDto.getBoxType1(),detlDto.getBoxType2(),detlDto.getBoxType3()); assert detlDto1 != null; detlDto1.setAnfme(detlDto1.getAnfme() + detlDto.getAnfme()); } else { @@ -164,11 +184,18 @@ 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()); + LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(),paramLocDetl.getBrand() + ,paramLocDetl.getStandby1(),paramLocDetl.getStandby2(),paramLocDetl.getStandby3(),paramLocDetl.getBoxType1(),paramLocDetl.getBoxType2(),paramLocDetl.getBoxType3()); if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount())); } } if (!locDetlDtos.isEmpty()) { + // 搴撲綅鍙烽泦鍚� + List<String> locNoList = param.getLocDetls().stream().map(StockOutParam.LocDetl::getLocNo).distinct().collect(Collectors.toList()); + String firstFrozenLocNo = locMastMapper.findFirstFrozenLocNo(locNoList); + if (firstFrozenLocNo != null) { + throw new CoolException(firstFrozenLocNo + "搴撲綅宸茶鍐荤粨!"); + } LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){ // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱 @@ -178,6 +205,84 @@ } } else { throw new CoolException("搴撳瓨涓嶅瓨鍦�"); + } + } + + @Override + @Transactional + public void turnOverOut(EmptyPlateOutParam param, Long userId) { + try { + if (Cools.isEmpty(param.getOwnerId())) { + throw new CoolException("瀹㈡埛鍚嶇О涓嶈兘涓虹┖"); + }else if (param.getLocDetls().size()<=0){ + throw new CoolException("璇锋彁鍙栨槑缁�"); + } + ArrayList<String> locNos = new ArrayList<>(); + String[][] locNos2 =new String[param.getLocDetls().size()][4]; + int i=0; + for (EmptyPlateOutParam.LocDetl locDetl : param.getLocDetls()){ + if (!locNos.contains(locDetl.getLoc_no())){ + locNos.add(locDetl.getLoc_no()); + locNos2[i][0]=locDetl.getLoc_no(); + locNos2[i][1]=locDetl.getManu(); + locNos2[i][2] = locDetl.getMatnr(); + locNos2[i][3] = locDetl.getBatch(); + i++; + } + } + LocOwner locOwner = locOwnerService.selectById(param.getOwnerId()); + param.setOwner(locOwner.getOwner()); + String lgort = ""; + String owner=""; + List<DetlDto> detlDtos = new ArrayList<>(); + for (String[] locNo1 : locNos2) { + String locNo = locNo1[0]; + if (locNo1[1].equals("骞冲簱")){ + List<ManLocDetl> manLocDetls = new ArrayList<>(); + if (locNo1[3] == null){ + manLocDetls = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>().eq("loc_no", locNo).eq("matnr",locNo1[2])); + }else { + manLocDetls = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>().eq("loc_no", locNo).eq("matnr",locNo1[2]).eq("batch",locNo1[3])); + } + for (ManLocDetl manLocDetl:manLocDetls){ + if (Cools.isEmpty(owner)) { + owner = manLocDetl.getOwner$(); + } +// detlDtos.add(new DetlDto(manLocDetl.getMatnr(), manLocDetl.getBatch(),manLocDetl.getBrand(), +// manLocDetl.getStandby1(),manLocDetl.getStandby2(),manLocDetl.getStandby3(), +// manLocDetl.getBoxType1(),manLocDetl.getBoxType2(),manLocDetl.getBoxType3(), manLocDetl.getAnfme())); + manLocDetl.setOwner(param.getOwnerId()); + try{ + manLocDetlService.update(manLocDetl,new EntityWrapper<ManLocDetl>().eq("loc_no", locNo).eq("matnr",manLocDetl.getMatnr())); + }catch (Exception e){ + throw new Exception("鏇存柊搴撳瓨鏄庣粏鎷ユ湁鑰呭瓧娈典俊鎭嚭閿欎簡"); + } + } + }else if (locNo1[1].equals("绔嬪簱")){ + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo).eq("matnr",locNo1[2]).eq("batch",locNo1[3])); + for (LocDetl locDetl:locDetls){ + if (Cools.isEmpty(lgort)) { + lgort = locDetl.getOrigin(); + } + if (Cools.isEmpty(owner)) { + owner = locDetl.getOwner$(); + } + detlDtos.add(new DetlDto(locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBrand(), + locDetl.getStandby1(),locDetl.getStandby2(),locDetl.getStandby3(), + locDetl.getBoxType1(),locDetl.getBoxType2(),locDetl.getBoxType3(), locDetl.getAnfme())); + locDetl.setOwner(param.getOwnerId()); + try{ + locDetlService.update(locDetl,new EntityWrapper<LocDetl>().eq("loc_no", locNo).eq("matnr",locDetl.getMatnr())); + }catch (Exception e){ + throw new Exception("鏇存柊搴撳瓨鏄庣粏鎷ユ湁鑰呭瓧娈典俊鎭嚭閿欎簡"); + } + } + }else { + throw new Exception("鏇存柊搴撲綅鎷ユ湁鑰呭瓧娈典俊鎭嚭閿欎簡"); + } + } + }catch (Exception e){ + throw new CoolException("绉讳氦浣滀笟鍑洪敊浜嗭細"+e); } } @@ -294,8 +399,10 @@ } // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectById(taskDto.getLocNo()); - // 鑾峰彇璺緞 - int ioType = taskDto.isAll() ? 101 : 103; + // 鍒ゆ柇鏄惁鏄洏鐐瑰崟 + String orderNo = taskDto.getLocDtos().get(0).getOrderNo(); + OrderPakout orderPakout = orderPakOutService.selectByNo(orderNo); + int ioType = orderPakout.getDocType() == 8 ? 107 : (taskDto.isAll() ? 101 : 103); StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); @@ -326,10 +433,14 @@ // 鐢熸垚宸ヤ綔妗f槑缁� for (LocDto locDto : taskDto.getLocDtos()) { if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; } - OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); - if (orderDetl == null) { - orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); - } +// OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); + OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.FALSE, locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getBrand() + ,locDto.getStandby1(),locDto.getStandby2(),locDto.getStandby3(),locDto.getBoxType1(),locDto.getBoxType2(),locDto.getBoxType3()); +// if (orderDetl == null) { +//// orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); +// orderDetl = OrderInAndOutUtil.selectItem(Boolean.FALSE, locDto.getOrderNo(), locDto.getMatnr(), null); +// +// } WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(orderDetl); wrkDetl.setZpallet(wrkMast.getBarcode()); @@ -345,11 +456,16 @@ if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } - // 淇敼璁㈠崟鏄庣粏 - if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { - throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); - } - orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); +// // 淇敼璁㈠崟鏄庣粏 +// if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { +// throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); +// } +// orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); + OrderInAndOutUtil.increaseWorkQty(Boolean.FALSE,orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), + orderDetl.getBrand(),orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(), + orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3() + , locDto.getAnfme()); + OrderInAndOutUtil.updateOrder(Boolean.FALSE,orderDetl.getOrderId(), 2L, userId); } // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓� locMast = locMastService.selectById(taskDto.getLocNo()); @@ -372,7 +488,9 @@ BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); // 妫�绱㈠簱浣� LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); - StartupDto dto = commonService.getLocNo( 10, devpNo, null,null,null, locTypeDto); + FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(); + + StartupDto dto = commonService.getLocNo( 10, devpNo, findLocNoAttributeVo, locTypeDto); int workNo = dto.getWorkNo(); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� @@ -429,6 +547,13 @@ if (Cools.isEmpty(param.getOutSite())) { throw new CoolException("绔欑偣涓嶅瓨鍦�"); } + + // 搴撲綅鍐荤粨涓嶈兘鍑哄簱 + String firstFrozenLocNo = locMastMapper.findFirstFrozenLocNo(param.getLocNos()); + if (firstFrozenLocNo != null) { + throw new CoolException(firstFrozenLocNo + "搴撲綅宸茶鍐荤粨!"); + } + for (String locNo : param.getLocNos()) { // 鑾峰彇宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type); @@ -496,7 +621,7 @@ } for (String locNo : param.getLocNos()) { // 鑾峰彇宸ヤ綔鍙� - int workNo = commonService.getWorkNo(0); + int workNo = commonService.getWorkNo(2); // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectById(locNo); if (Cools.isEmpty(locMast)) { @@ -560,11 +685,18 @@ 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()); + LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(),paramLocDetl.getBrand() + ,paramLocDetl.getStandby1(),paramLocDetl.getStandby2(),paramLocDetl.getStandby3(),paramLocDetl.getBoxType1(),paramLocDetl.getBoxType2(),paramLocDetl.getBoxType3()); if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount())); } } if (!locDetlDtos.isEmpty()) { + // 搴撲綅鍙烽泦鍚� + List<String> locNoList = param.getLocDetls().stream().map(StockOutParam.LocDetl::getLocNo).distinct().collect(Collectors.toList()); + String firstFrozenLocNo = locMastMapper.findFirstFrozenLocNo(locNoList); + if (firstFrozenLocNo != null) { + throw new CoolException(firstFrozenLocNo + "搴撲綅宸茶鍐荤粨!"); + } LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); if (locMast.getLocSts().equals("F")){ // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱 @@ -589,6 +721,19 @@ if (Cools.isEmpty(loc)){ throw new CoolException("鏈壘鍒板簱浣�"); } + // 鍒ゆ柇搴撲綅鏄惁鍐荤粨 + String sourceLocFrozen = locMastMapper.findFirstFrozenLocNo(Arrays.asList(sourceLoc.getLocNo(),loc.getLocNo())); + if (sourceLocFrozen != null) { + throw new CoolException(sourceLocFrozen + "搴撲綅宸茶鍐荤粨!"); + } + + // 鍒ゆ柇搴撳瓨鏄惁鍐荤粨 + Optional<LocDetl> first = locDetls.stream().filter(locDetl -> locDetl.getFrozen() == 1).findFirst(); + if (first.isPresent()) { + LocDetl locDetl = first.get(); + throw new CoolException(locDetl.getLocNo() + "," + locDetl.getMatnr() + "," + locDetl.getBatch() + "搴撳瓨鏄庣粏宸茶鍐荤粨!"); + } + if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))){ throw new CoolException("搴撲綅鐘舵�佸凡鏀瑰彉"); } @@ -707,6 +852,31 @@ List<LocDetlAdjustParam.LocDetlAdjust> list = param.getList(); + // 娣诲姞鍘嗗彶宸ヤ綔涓绘。 + WrkMastLog wrkMast = new WrkMastLog(); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(5); + wrkMast.setIoPri(13D); // 浼樺厛绾� + wrkMast.setCrnNo(locMast.getCrnNo()); + wrkMast.setSourceLocNo(locMast.getLocNo()); + wrkMast.setLocNo(locMast.getLocNo()); + wrkMast.setBarcode(locMast.getBarcode()); // 鎵樼洏鐮� + wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("N"); // 绌烘澘 + wrkMast.setLinkMis("Y"); + // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + wrkMast.setAppeUser(userId); + wrkMast.setModiUser(userId); + + // 澧炲垹鏀瑰彧鍒涘缓涓�娆″伐浣滀富妗� + boolean updateFlag = true; + boolean deleteFlag = true; + boolean addFlag = true; + // 淇敼鏁伴噺 Iterator<LocDetl> iterator = locDetls.iterator(); while (iterator.hasNext()) { @@ -720,7 +890,8 @@ if (!locDetl.getAnfme().equals(adjust.getCount())) { // todo 鐩樼偣璁板綍 // 淇敼搴撳瓨 - if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) { + if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBrand(), + locDetl.getStandby1(),locDetl.getStandby2(),locDetl.getStandby3(),locDetl.getBoxType1(),locDetl.getBoxType2(),locDetl.getBoxType3())) { throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触"); } // 淇濆瓨璋冩暣璁板綍 @@ -735,6 +906,30 @@ adjDetl.setAppeTime(now); adjDetl.setAppeUser(userId); adjDetlService.save(adjDetl, userId); + + if (updateFlag) { + wrkMast.setWrkNo(commonService.getWorkNo(3)); + wrkMast.setIoType(23); + boolean res = wrkMastLogService.insert(wrkMast); + if (!res) { + throw new CoolException("搴撳瓨璋冩暣-淇敼 淇濆瓨宸ヤ綔妗eけ璐�"); + } + updateFlag = false; + } + + // 娣诲姞鍘嗗彶宸ヤ綔鏄庣粏 + WrkDetlLog wrkDetl = new WrkDetlLog(); + wrkDetl.sync(locDetl); + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetl.setIoTime(wrkMast.getIoTime()); + wrkDetl.setAnfme(adjust.getCount()); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + wrkMast.setAppeUser(userId); + wrkMast.setModiUser(userId); + if (!wrkDetlLogService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } } iterator.remove(); iterator1.remove(); @@ -745,7 +940,8 @@ // 鍒犻櫎搴撳瓨 for (LocDetl locDetl : locDetls) { // todo 鐩樼偣璁板綍 - if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) { + if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBrand(), + locDetl.getStandby1(),locDetl.getStandby2(),locDetl.getStandby3(),locDetl.getBoxType1(),locDetl.getBoxType2(),locDetl.getBoxType3())) { throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿搴撳瓨鏄庣粏澶辫触"); } // 淇濆瓨璋冩暣璁板綍 @@ -760,6 +956,30 @@ adjDetl.setAppeTime(now); adjDetl.setAppeUser(userId); adjDetlService.save(adjDetl, userId); + + if (deleteFlag) { + wrkMast.setWrkNo(commonService.getWorkNo(3)); + wrkMast.setIoType(22); + boolean res = wrkMastLogService.insert(wrkMast); + if (!res) { + throw new CoolException("搴撳瓨璋冩暣-鍒犻櫎 淇濆瓨宸ヤ綔妗eけ璐�"); + } + deleteFlag = false; + } + + // 娣诲姞鍘嗗彶宸ヤ綔鏄庣粏 + WrkDetlLog wrkDetl = new WrkDetlLog(); + wrkDetl.sync(locDetl); + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetl.setIoTime(wrkMast.getIoTime()); + wrkDetl.setAnfme(0.0); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + wrkMast.setAppeUser(userId); + wrkMast.setModiUser(userId); + if (!wrkDetlLogService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } } // 娣诲姞搴撳瓨 @@ -770,6 +990,7 @@ locDetl.sync(mat); locDetl.setBatch(adjust.getBatch()); locDetl.setLocNo(locMast.getLocNo()); + locDetl.setZpallet(locMast.getBarcode()); locDetl.setAnfme(adjust.getCount()); // 鏁伴噺 locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅 locDetl.setModiTime(now); @@ -790,6 +1011,30 @@ adjDetl.setAppeTime(now); adjDetl.setAppeUser(userId); adjDetlService.save(adjDetl, userId); + + if (addFlag) { + wrkMast.setWrkNo(commonService.getWorkNo(3)); + wrkMast.setIoType(21); + boolean res = wrkMastLogService.insert(wrkMast); + if (!res) { + throw new CoolException("搴撳瓨璋冩暣-鏂板 淇濆瓨宸ヤ綔妗eけ璐�"); + } + addFlag = false; + } + + // 娣诲姞鍘嗗彶宸ヤ綔鏄庣粏 + WrkDetlLog wrkDetl = new WrkDetlLog(); + wrkDetl.sync(locDetl); + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetl.setIoTime(wrkMast.getIoTime()); + wrkDetl.setAnfme(adjust.getCount()); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + wrkMast.setAppeUser(userId); + wrkMast.setModiUser(userId); + if (!wrkDetlLogService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } } // 淇敼搴撲綅鐘舵�� int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); @@ -885,28 +1130,34 @@ 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("璁㈠崟鏁版嵁鍥炴粴澶辫触"); +// } + OrderInAndOutUtil.decrease(Boolean.FALSE,wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(), + wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), + wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(), wrkDetl.getAnfme()); //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼 boolean flag = true; - List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo())); +// List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo())); + Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, wrkDetl.getOrderNo()); + List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId()); for(OrderDetl orderDetl : orderDetls){ if(orderDetl.getWorkQty() > 0){ flag = false; } } if(flag){ - Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo())); +// Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo())); if(!Cools.isEmpty(order) && order.getSettle()==2){ order.setSettle(1L); order.setUpdateBy(userId); order.setUpdateTime(now); } - if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){ - throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�"); - } +// if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){ +// throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�"); +// } + OrderInAndOutUtil.updateOrder(Boolean.FALSE,order.getId(),order.getSettle(),userId); } } } -- Gitblit v1.9.1