From b8b193fddead0318eca4ee81167e873df622854c Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期三, 22 五月 2024 16:10:41 +0800
Subject: [PATCH] #
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/WorkController.java | 8 ++++
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/WorkService.java | 6 +++
zy-asrs-common/src/main/java/com/zy/asrs/common/domain/param/EmptyPlateOutParam.java | 36 ++++++++++++++++++
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/CommonService.java | 1
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java | 65 ++++++++++++++++++++++++++++++++
5 files changed, 116 insertions(+), 0 deletions(-)
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/param/EmptyPlateOutParam.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/param/EmptyPlateOutParam.java
new file mode 100644
index 0000000..51f595b
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/param/EmptyPlateOutParam.java
@@ -0,0 +1,36 @@
+package com.zy.asrs.common.domain.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/6/13
+ */
+@Data
+public class EmptyPlateOutParam {
+
+ // 鍑虹珯鍙�
+ private Integer outSite;
+ // AGV鍑虹珯鍙�
+ private String stationCode;
+
+ // 搴撲綅鍙烽泦鍚�
+ private List<String> locNos;
+
+ public Integer getOutSite() {
+ return outSite;
+ }
+
+ public void setOutSite(Integer outSite) {
+ this.outSite = outSite;
+ }
+
+ public List<String> getLocNos() {
+ return locNos;
+ }
+
+ public void setLocNos(List<String> locNos) {
+ this.locNos = locNos;
+ }
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/CommonService.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/CommonService.java
index dc37f85..984dbf9 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/CommonService.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/CommonService.java
@@ -325,6 +325,7 @@
startupDto.setSourceStaNo(sourceStaNo);
startupDto.setStaNo(staNo.getDevNo());
startupDto.setLocNo(locMast.getLocNo());
+ startupDto.setCrnNo(locMast.getCrnNo());
return startupDto;
}
}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/WorkService.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/WorkService.java
index f2b4085..55002d2 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/WorkService.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/WorkService.java
@@ -3,6 +3,7 @@
import com.zy.asrs.common.domain.dto.LocDetlDto;
import com.zy.asrs.common.domain.dto.TaskDto;
import com.zy.asrs.common.domain.enums.IoWorkType;
+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;
@@ -31,6 +32,11 @@
void startupFullTakeStore(StockOutParam param, Long userId, Long hostId);
/**
+ * 绌烘澘鍑哄簱
+ */
+ void emptyPlateOut(EmptyPlateOutParam param, Long userId, Long hostId);
+
+ /**
* 鎵嬪姩瀹屾垚宸ヤ綔妗�
*/
void completeWrkMast(String workNo, Long userId, Long hostId);
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 23d3fdb..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;
@@ -227,6 +228,70 @@
}
@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("鏇存柊搴撲綅鐘舵�佸け璐�");
+ }
+ }
+ }
+ }
+
+ @Override
@Transactional
public void stockOut(Integer staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId, Long hostId) {
Date now = new Date();
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/WorkController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/WorkController.java
index b58e4db..d9029b4 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/WorkController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/WorkController.java
@@ -1,5 +1,6 @@
package com.zy.asrs.wms.controller;
+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;
@@ -99,6 +100,13 @@
return R.ok("鍑哄簱鍚姩鎴愬姛");
}
+ @RequestMapping("/empty/plate/out/start")
+ @ManagerAuth(memo = "绌烘澘鍑哄簱")
+ public R emptyPlateOutStart(EmptyPlateOutParam param) {
+ workService.emptyPlateOut(param, getUserId(), getHostId());
+ return R.ok("鍑哄簱鍚姩鎴愬姛");
+ }
+
@RequestMapping("/hand/control/wrkMast")
@ManagerAuth(memo = "鎵嬪姩澶勭悊宸ヤ綔妗�")
public R handControlWrkMast(@RequestParam String workNo,
--
Gitblit v1.9.1