From a84386f98cc752516d492222684d5c850c9c7a1e Mon Sep 17 00:00:00 2001
From: pjb <pjb123456>
Date: 星期一, 21 七月 2025 00:00:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/mdqzasrs' into mdqzasrs
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 502 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 416 insertions(+), 86 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 f4a0121..db9cc3e 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,11 @@
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.mapper.OrderDetlPakoutMapper;
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 +29,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 +83,21 @@
@Autowired
private WaitPakinService waitPakinService;
+ @Autowired
+ private LocOwnerService locOwnerService;
+
+ @Autowired
+ private ManLocDetlService manLocDetlService;
+
+ @Resource
+ private LocMastMapper locMastMapper;
+
+ @Resource
+ private OrderPakoutService orderPakOutService;
+
+ @Resource
+ private OrderDetlPakoutMapper orderDetlPakoutMapper;
+
@Override
@Transactional
public String startupFullPutStore(FullStoreParam param, Long userId) {
@@ -90,8 +110,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());
- StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs, locTypeDto, 0);
+// 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();
// 鐢熸垚宸ヤ綔妗�
@@ -122,9 +147,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 {
@@ -163,11 +188,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.鍑哄簱
@@ -177,6 +209,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);
}
}
@@ -241,6 +351,7 @@
wrkMast.setEmptyMk("N"); // 绌烘澘
wrkMast.setLinkMis("N");
wrkMast.setBarcode(locMast.getBarcode());
+ wrkMast.setPdcType(dto.getLocDetlDtos().get(0).getLocDetl().getModel());
wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
@@ -293,8 +404,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));
@@ -325,10 +438,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());
@@ -344,11 +461,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());
@@ -371,7 +493,9 @@
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
// 妫�绱㈠簱浣�
LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
- StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto, 0);
+ FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+
+ StartupDto dto = commonService.getLocNo( 10, devpNo, findLocNoAttributeVo, locTypeDto);
int workNo = dto.getWorkNo();
Date now = new Date();
// 鐢熸垚宸ヤ綔妗�
@@ -428,16 +552,26 @@
if (Cools.isEmpty(param.getOutSite())) {
throw new CoolException("绔欑偣涓嶅瓨鍦�");
}
+
+ // 搴撲綅鍐荤粨涓嶈兘鍑哄簱
+ String firstFrozenLocNo = locMastMapper.findFirstFrozenLocNo(param.getLocNos());
+ if (firstFrozenLocNo != null) {
+ throw new CoolException(firstFrozenLocNo + "搴撲綅宸茶鍐荤粨!");
+ }
+
+ if (Cools.isEmpty(param.getOutSite())) {
+ throw new CoolException("绔欑偣涓嶅瓨鍦�");
+ }
for (String locNo : param.getLocNos()) {
// 鑾峰彇宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type);
+ int workNo = commonService.getWorkNo(2);
// 鑾峰彇搴撲綅
LocMast locMast = locMastService.selectById(locNo);
if (Cools.isEmpty(locMast)) {
throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�");
}
- if (!locMast.getLocSts().equals("D")){
- throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+ if (!locMast.getLocSts().equals("M") && !locMast.getLocSts().equals("Z")) {
+ throw new CoolException("搴撲綅鐘舵�佹湁璇細" + locMast.getLocSts());
}
// 鑾峰彇婧愮珯
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
@@ -455,8 +589,8 @@
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
- wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
- wrkMast.setIoPri(10D);
+ wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬�
+ wrkMast.setIoPri(14D);
wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
wrkMast.setCrnNo(locMast.getCrnNo());
@@ -475,7 +609,7 @@
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
// 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害
- if (locMast.getLocSts().equals("D")){
+ if (locMast.getLocSts().equals("M") || locMast.getLocSts().equals("Z")){
locMast.setLocSts("R");
locMast.setModiUser(userId);
locMast.setModiTime(now);
@@ -495,7 +629,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)) {
@@ -517,8 +651,8 @@
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
- wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
- wrkMast.setIoPri(10D);
+ wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬�
+ wrkMast.setIoPri(14D);
wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
wrkMast.setCrnNo(locMast.getCrnNo());
@@ -532,13 +666,12 @@
wrkMast.setAppeTime(now);
wrkMast.setModiUser(1L);
wrkMast.setModiTime(now);
- wrkMast.setMemo("鐢熸垚鑷姩绌烘澘鍑哄簱");
boolean res = wrkMastService.insert(wrkMast);
if (!res) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
// 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害
- if (locMast.getLocSts().equals("D")){
+ if (locMast.getLocSts().equals("M") || locMast.getLocSts().equals("Z")){
locMast.setLocSts("R");
locMast.setModiUser(1L);
locMast.setModiTime(now);
@@ -559,11 +692,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.鐩樼偣鍑哄簱
@@ -588,7 +728,20 @@
if (Cools.isEmpty(loc)){
throw new CoolException("鏈壘鍒板簱浣�");
}
- if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))){
+ // 鍒ゆ柇搴撲綅鏄惁鍐荤粨
+ 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("M") && !sourceLoc.getLocSts().equals("Z"))){
throw new CoolException("搴撲綅鐘舵�佸凡鏀瑰彉");
}
if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
@@ -610,7 +763,7 @@
wrkMast.setFullPlt(Cools.isEmpty(locDetls)?"N":"Y"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
- wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘
+ wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("M") ? "M" : sourceLoc.getLocSts().equals("Z") ? "Z" : "N"); // 绌烘澘
wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮�
wrkMast.setLinkMis("N");
wrkMast.setAppeUser(userId);
@@ -637,7 +790,7 @@
}
}
// 淇敼婧愬簱浣嶇姸鎬�
- if (sourceLoc.getLocSts().equals("D") || sourceLoc.getLocSts().equals("F")) {
+ if (sourceLoc.getLocSts().equals("F") || sourceLoc.getLocSts().equals("M") || sourceLoc.getLocSts().equals("Z")) {
sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害
sourceLoc.setModiUser(userId);
sourceLoc.setModiTime(now);
@@ -667,15 +820,30 @@
if (Cools.isEmpty(wrkMast)){
throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
}
+ if (wrkMast.getStaNo() == 1090 && wrkMast.getLocNo() == null) {
+ throw new CoolException(workNo+"宸ヤ綔妗f棤娉曞畬鎴�,搴撲綅鍙蜂负绌猴紒");
+ }
if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
}
+ // 瀹屾垚绌烘《搴撳叆鍑哄簱浠诲姟鍙︿竴涓换鍔�
+ int workNoOther = 0;
// 鍏ュ簱 + 搴撲綅杞Щ
- if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
+ if ((wrkMast.getWrkSts() < 4 && wrkMast.getIoType() != 101 && wrkMast.getIoType() != 110) || (wrkMast.getWrkSts() > 10
+ && wrkMast.getIoType()==11) || wrkMast.getIoType() == 10 || (wrkMast.getIoType() == 3)) {
wrkMast.setWrkSts(4L);
+ workNoOther = wrkMast.getWorkNoOther();
// 鍑哄簱
- } else if (wrkMast.getWrkSts() > 10) {
- wrkMast.setWrkSts(14L);
+ } else if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 110) {
+ if(wrkMast.getWrkSts() == 2) {
+ wrkMast.setWrkSts(15L);
+ } else {
+ wrkMast.setWrkSts(14L);
+ }
+ workNoOther = wrkMast.getWorkNoOther();
+ } else if(wrkMast.getIoType() == 1 && wrkMast.getWrkSts() == 10) {
+ wrkMast.setWrkSts(2L);
+ wrkMast.setRgvFinishTime(new Date());
}
Date now = new Date();
wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true));
@@ -687,12 +855,22 @@
if (!wrkMastService.updateById(wrkMast)) {
throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
}
+ if(workNoOther != 0) {
+ WrkMast wrkMast1 = wrkMastService.selectById(workNoOther);
+ wrkMast1.setWrkSts(wrkMast.getWrkSts());
+ wrkMast1.setCrnStrTime(wrkMast.getCrnStrTime());
+ wrkMast1.setCrnEndTime(now);
+ wrkMast1.setModiTime(now);
+ wrkMast1.setModiUser(userId);
+ wrkMast1.setManuType("鎵嬪姩瀹屾垚");
+ wrkMastService.updateById(wrkMast1);
+ }
}
@Override
@Transactional
public void adjustLocDetl(LocDetlAdjustParam param, Long userId) {
- param.integrate();
+// param.integrate();
LocMast locMast = locMastService.selectById(param.getLocNo());
if (Cools.isEmpty(locMast)) {
throw new CoolException("搴撲綅涓嶅瓨鍦�");
@@ -705,6 +883,31 @@
List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", param.getLocNo()));
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();
@@ -719,7 +922,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() + "鎵瑰彿淇敼鏁伴噺澶辫触");
}
// 淇濆瓨璋冩暣璁板綍
@@ -734,6 +938,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();
@@ -744,7 +972,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() + "鎵瑰彿搴撳瓨鏄庣粏澶辫触");
}
// 淇濆瓨璋冩暣璁板綍
@@ -759,6 +988,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("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
}
// 娣诲姞搴撳瓨
@@ -769,6 +1022,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);
@@ -789,6 +1043,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()));
@@ -821,7 +1099,7 @@
String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣�
String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬�
// 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級
- if (wrkMast.getWrkSts() < 4) {
+ if (wrkMast.getWrkSts() <= 10) {
locNo = wrkMast.getLocNo();
locSts = "O";
@@ -832,7 +1110,7 @@
if (Cools.isEmpty(locMast)) {
throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:"+ wrkMast.getSourceLocNo());
}
- locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F");
+ locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N")?wrkMast.getEmptyMk():"F");
locMast.setModiTime(now);
locMast.setModiUser(userId);
locMastService.updateById(locMast);
@@ -840,13 +1118,17 @@
// 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
} else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
locNo = wrkMast.getSourceLocNo();
- // 鍑哄簱 ===>> F.鍦ㄥ簱
- if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
+ if (wrkMast.getIoType() == 110) {
+ if(wrkMast.getStaNo() == 1035) { // 瀛愭媶鐩樻満绔欑偣
+ locSts = "Z";
+ }else {
+ locSts = "M";
+ }
+// locSts = "D";
+ } else if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
+ // 鍑哄簱 ===>> F.鍦ㄥ簱
locSts = "F";
- // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
- } else if (wrkMast.getIoType() == 110) {
- locSts = "D";
- // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉�
+ // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
} else if (wrkMast.getIoType() == 11) {
locSts = wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F";
// 搴撲綅杞Щ锛氱洰鏍囧簱浣�
@@ -863,48 +1145,45 @@
throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
}
- //鍙栨秷鍏ュ簱宸ヤ綔妗f椂锛屾煡璇㈢粍鎵樿〃锛屽鏋滄湁灏嗙姸鎬佹敼涓哄緟澶勭悊
- if(wrkMast.getIoType() == 1) {
- List<WaitPakin> waitPakins=waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
- for (WaitPakin waitPakin:waitPakins){
- if (!Cools.isEmpty(waitPakin)) {
- waitPakin.setIoStatus("N");
- waitPakin.setLocNo("");
- waitPakinService.update(waitPakin, new EntityWrapper<WaitPakin>()
- .eq("order_no", waitPakin.getOrderNo())
- .eq("matnr", waitPakin.getMatnr())
- .eq("batch", waitPakin.getBatch()));
- }
- }
- }
+ // 鍒犻櫎缁勬墭閫氱煡妗�
+ waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet",wrkMast.getBarcode()));
+
//鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺
if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) {
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());
+ orderDetlPakoutMapper.increaseQtyByOrderNoNew(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+ wrkDetl.getBatch(),wrkDetl.getModel(),wrkDetl.getVolume(),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);
}
}
}
@@ -936,27 +1215,61 @@
}
// 鍒犻櫎宸ヤ綔涓绘。
boolean wrkMastRes = wrkMastService.deleteById(wrkMast);
+ // 淇濆瓨鏄庣粏
+ wrkDetlLogService.save(wrkMast.getWrkNo());
+ // 鍒犻櫎宸ヤ綔妗f槑缁�
+ boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
- if (wrkMast.getIoType() != 10 && wrkMast.getIoType() != 110) {
- // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
- if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
-// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
+ // 绌烘《搴撲换鍔�
+ if(wrkMast.getWorkNoOther() != null && wrkMast.getWorkNoOther() != 0) {
+ WrkMast wrkMast1 = wrkMastService.selectById(wrkMast.getWorkNoOther());
+ if (wrkMast1 != null) {
+ if(wrkMast1.getIoType() == 1) {
+ wrkMast1.setLocSts("O");
+ } else {
+ wrkMast1.setLocSts("F");
+ }
+ // 鍙栨秷鎿嶄綔浜哄憳璁板綍
+ wrkMast1.setManuType("鎵嬪姩鍙栨秷");
+ wrkMast1.setModiUser(userId);
+ wrkMast1.setModiTime(now);
+
+ // 鍒犻櫎缁勬墭閫氱煡妗�
+ waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet",wrkMast1.getBarcode()));
+ // 鍒犻櫎宸ヤ綔涓绘。
+ wrkMastService.deleteById(wrkMast1);
+ // 淇濆瓨宸ヤ綔鏄庣粏
+ wrkDetlLogService.save(wrkMast1.getWrkNo());
+ // 鍒犻櫎宸ヤ綔鏄庣粏
+ wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast1.getWrkNo()));
+ // 淇敼搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectById(wrkMast1.getIoType() == 1 ? wrkMast1.getLocNo() : wrkMast1.getSourceLocNo());
+ if (Cools.isEmpty(locMast)) {
+ throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo);
+ }
+ locMast.setLocSts(locSts);
+ locMast.setModiTime(now);
+ locMast.setModiUser(userId);
+ locMastService.updateById(locMast);
}
- // 鍒犻櫎宸ヤ綔妗f槑缁�
- boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
}
+
// 淇敼搴撲綅鐘舵��
- LocMast locMast = locMastService.selectById(locNo);
- if (Cools.isEmpty(locMast)) {
- throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo);
- }
- locMast.setLocSts(locSts);
- locMast.setModiTime(now);
- locMast.setModiUser(userId);
- boolean locMastRes = locMastService.updateById(locMast);
- if (!wrkMastRes || !locMastRes) {
- throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+ if (locNo != null) {
+ if (wrkMast.getIoType() != 3) {
+ LocMast locMast = locMastService.selectById(locNo);
+ if (Cools.isEmpty(locMast)) {
+ throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo);
+ }
+ locMast.setLocSts(locSts);
+ locMast.setModiTime(now);
+ locMast.setModiUser(userId);
+ boolean locMastRes = locMastService.updateById(locMast);
+ if (!wrkMastRes || !locMastRes) {
+ throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+ }
+ }
}
}
@@ -1024,7 +1337,7 @@
}
LocTypeDto locTypeDto = new LocTypeDto();
locTypeDto.setLocType1((short) 1);
- return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list);
+ return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list.get(0),false);
}
@Override
@@ -1129,7 +1442,24 @@
if (Cools.isEmpty(mat)){
throw new CoolException("鐩爣搴撲綅鍟嗗搧缂栫爜鏈夎锛�");
}
- locDetlService.updateMatTurn(param.getLocDetls().get(0).getMatnr(),mat.getMatnr());
+ 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());
+ }
+ try {
+ locDetlService.updateMatTurn(param.getLocDetls().get(0).getMatnr(),mat.getMatnr());
+ }catch (Exception e){
+ throw new CoolException("瀵规暟鎹簱淇敼鍑洪敊锛�");
+ }
+ for (LocDetl locDetl:locDetls){
+ // 淇濆瓨璋冩暣璁板綍
+ AdjDetl adjDetl = new AdjDetl();
+ adjDetl.setLocNo(locDetl.getLocNo());
+ adjDetl.setMatnr(mat.getMatnr());
+ adjDetl.setMatnrOld(param.getLocDetls().get(0).getMatnr());
+ adjDetl.setAdjQty(locDetl.getAnfme());
+ adjDetlService.save(adjDetl, userId);
+ }
}
}
--
Gitblit v1.9.1