From b8b193fddead0318eca4ee81167e873df622854c Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期三, 22 五月 2024 16:10:41 +0800
Subject: [PATCH] #
---
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java | 126 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 125 insertions(+), 1 deletions(-)
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java
index ee20d56..06afdd8 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java
@@ -5,6 +5,7 @@
import com.zy.asrs.common.domain.entity.StaDesc;
import com.zy.asrs.common.domain.enums.IoWorkType;
import com.zy.asrs.common.domain.enums.WorkNoType;
+import com.zy.asrs.common.domain.param.EmptyPlateOutParam;
import com.zy.asrs.common.domain.param.FullStoreParam;
import com.zy.asrs.common.domain.param.LocDetlAdjustParam;
import com.zy.asrs.common.domain.param.StockOutParam;
@@ -94,6 +95,7 @@
wrkMast.setModiUser(String.valueOf(userId));
wrkMast.setModiTime(now);
wrkMast.setHostId(hostId);
+ wrkMast.setCrnNo(dto.getCrnNo());
if (!wrkMastService.save(wrkMast)) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
@@ -149,6 +151,64 @@
}
@Override
+ public String emptyPlateIn(Integer devpNo, Long userId, Long hostId) {
+ // 婧愮珯鐐圭姸鎬佹娴�
+ BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true, hostId);
+ // 妫�绱㈠簱浣�
+ LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+ StartupDto dto = commonService.getLocNo(10, devpNo, null, null, hostId, locTypeDto, 0);
+ int workNo = dto.getWorkNo();
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+ wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
+ wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+ wrkMast.setCrnNo(dto.getCrnNo());
+ wrkMast.setSourceStaNo(dto.getSourceStaNo());
+ wrkMast.setStaNo(dto.getStaNo());
+ wrkMast.setLocNo(dto.getLocNo());
+ wrkMast.setFullPlt("N"); // 婊℃澘
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("Y"); // 绌烘澘
+ wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
+ // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeUser(String.valueOf(userId));
+ wrkMast.setAppeTime(new Date());
+ wrkMast.setModiUser(String.valueOf(userId));
+ wrkMast.setModiTime(new Date());
+ wrkMast.setHostId(hostId);
+ boolean res = wrkMastService.save(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 鏇存柊婧愮珯鐐逛俊鎭�
+ sourceStaNo.setWrkNo(workNo);
+ sourceStaNo.setModiUser(userId);
+ sourceStaNo.setModiTime(new Date());
+ if (!basDevpService.updateById(sourceStaNo)){
+ throw new CoolException("鏇存柊婧愮珯澶辫触");
+ }
+ // 鏇存柊鐩爣搴撲綅鐘舵��
+ LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>()
+ .eq(LocMast::getLocNo, dto.getLocNo())
+ .eq(LocMast::getHostId, hostId));
+ if (locMast.getLocSts().equals("O")){
+ locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+ locMast.setModiUser(userId);
+ locMast.setModiTime(new Date());
+ if (!locMastService.updateById(locMast)){
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+ }
+ return dto.getLocNo();
+ }
+
+ @Override
@Transactional
public void startupFullTakeStore(StockOutParam param, Long userId, Long hostId) {
// 鑾峰彇搴撲綅鏄庣粏
@@ -164,6 +224,70 @@
stockOut(param.getOutSite(), locDetlDtos, null, userId, hostId);
} else {
throw new CoolException("搴撳瓨涓嶅瓨鍦�");
+ }
+ }
+
+ @Override
+ public void emptyPlateOut(EmptyPlateOutParam param, Long userId, Long hostId) {
+ if (Cools.isEmpty(param.getOutSite())) {
+ throw new CoolException("绔欑偣涓嶅瓨鍦�");
+ }
+ for (String locNo : param.getLocNos()) {
+ // 鑾峰彇宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type);
+ // 鑾峰彇搴撲綅
+ LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>()
+ .eq(LocMast::getLocNo, locNo)
+ .eq(LocMast::getHostId, hostId));
+ if (Cools.isEmpty(locMast)) {
+ throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�");
+ }
+ if (!locMast.getLocSts().equals("D")){
+ throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+ }
+ // 鑾峰彇婧愮珯
+ StaDesc staDesc = staDescService.getOne(new LambdaQueryWrapper<StaDesc>()
+ .eq(StaDesc::getTypeNo, 110)
+ .eq(StaDesc::getStnNo, param.getOutSite())
+ .eq(StaDesc::getDeviceNo, locMast.getCrnNo()));
+ Integer sourceStaNo = staDesc.getDeviceStn();
+ if (Cools.isEmpty(sourceStaNo)) {
+ throw new CoolException("妫�绱㈡簮绔欏け璐�");
+ }
+ Date now = new Date();
+ // 淇濆瓨宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(101L); // 宸ヤ綔鐘舵�侊細101.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
+ wrkMast.setIoPri(10D);
+ wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
+ wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
+ wrkMast.setCrnNo(locMast.getCrnNo());
+ wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
+ wrkMast.setFullPlt("N"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("Y"); // 绌烘澘
+ wrkMast.setAppeUser(String.valueOf(userId));
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiUser(String.valueOf(userId));
+ wrkMast.setModiTime(now);
+ wrkMast.setHostId(hostId);
+ boolean res = wrkMastService.save(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害
+ if (locMast.getLocSts().equals("D")){
+ locMast.setLocSts("R");
+ locMast.setModiUser(userId);
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
+ }
+ }
}
}
@@ -367,7 +491,7 @@
if (Cools.isEmpty(wrkMast)){
throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
}
- if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
+ if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 199) {
throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
}
// 鍏ュ簱 + 搴撲綅杞Щ
--
Gitblit v1.9.1