From b00eeab31bd13ba34a03301aa441b0751d6a93e4 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期五, 19 十二月 2025 17:00:51 +0800
Subject: [PATCH] 第六排成品可以放第七排原材料
---
src/main/java/com/zy/common/service/CommonService.java | 229 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 227 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 7930dd8..779d5c7 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -7,6 +7,7 @@
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
+import com.zy.asrs.mapper.LocMastMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
import com.zy.asrs.utils.VersionUtils;
@@ -46,6 +47,9 @@
private LocDetlService locDetlService;
@Autowired
private SlaveProperties slaveProperties;
+
+ @Autowired
+ private LocMastMapper locMastMapper;
/**
* 鐢熸垚宸ヤ綔鍙�
@@ -109,9 +113,12 @@
if (sourceStaNo < 200) {
whsType = 1;
crnNo=1;
- } else if (sourceStaNo >= 200) {
+ } else if (sourceStaNo < 300) {
whsType = 2;
crnNo=2;
+ }else {
+ whsType = 3;
+ crnNo=3;
}
int workNo = getWorkNo(0);
@@ -218,7 +225,13 @@
} else {
curRow = sRow;
}
- crnNo = whsType;
+ basCrnpService.checkSiteStatus(crnNo, true);
+ }else {
+ if (curRow == sRow) {
+ curRow = eRow;
+ } else {
+ curRow = sRow;
+ }
basCrnpService.checkSiteStatus(crnNo, true);
}
}
@@ -496,4 +509,216 @@
}
}
+ public StartupDto emptyIngetLocNo(Integer devpNo) {
+ int crnNo = 0;
+
+ if (devpNo == 304) {
+ crnNo = 3;
+ } else if(devpNo == 204) {
+ crnNo = 2;
+ } else if(devpNo == 104) {
+ crnNo = 1;
+ }else if(devpNo == 311) {
+ crnNo = 4;
+ }
+
+ // 鐩爣搴撲綅
+ LocMast locMast = locMastMapper.queryEmptyLocNoByStaNo(crnNo);
+
+ if (locMast == null) {
+ throw new CoolException("娌℃湁绌哄簱浣�");
+ }
+
+ // 鑾峰彇鐩爣绔�
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ .eq("type_no", 10)
+ .eq("stn_no", devpNo)
+ .eq("crn_no", crnNo);
+ StaDesc staDesc = staDescService.selectOne(wrapper);
+ if (Cools.isEmpty(staDesc)) {
+ log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}, crnNo={}", 10, devpNo, crnNo);
+ throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+ }
+
+ // 妫�娴嬬洰鏍囩珯
+ BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn());
+ if (!staNo.getAutoing().equals("Y")) {
+ throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�");
+ }
+
+ basCrnpService.checkSiteStatus(crnNo, true);
+
+ // 杩斿洖dto
+ StartupDto startupDto = new StartupDto();
+ startupDto.setWorkNo(getWorkNo(0));
+ startupDto.setCrnNo(crnNo);
+ startupDto.setSourceStaNo(devpNo);
+ startupDto.setStaNo(devpNo);
+ startupDto.setLocNo(locMast.getLocNo());
+ return startupDto;
+ }
+
+ public StartupDto getLocNoBy304(String type) {
+
+ int row;
+ int devpNo = 304;
+ int crnNo = 3;
+ if (type.equals("1")) {
+ row = 7;
+ } else if (type.equals("2")) {
+ row = 6;
+ } else {
+ throw new CoolException("304鐗╂枡绫诲埆璇嗗埆閿欒锛�" + type);
+ }
+
+ // 鐩爣搴撲綅
+ LocMast locMast = locMastMapper.queryLocByBarCode(row);
+
+ //绗叚鎺掓垚鍝佸彲浠ユ斁绗竷鎺掑師鏉愭枡
+ if (locMast == null && type.equals("2")){
+ locMast = locMastMapper.queryLocByBarCode(7);
+ }
+
+
+ if (locMast == null) {
+ throw new CoolException("304鍏ュ簱娌℃湁绌哄簱浣�");
+ }
+
+ // 鑾峰彇鐩爣绔�
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ .eq("type_no", 1)
+ .eq("stn_no", devpNo)
+ .eq("crn_no", crnNo);
+ StaDesc staDesc = staDescService.selectOne(wrapper);
+ if (Cools.isEmpty(staDesc)) {
+ log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}, crnNo={}", 1, devpNo, crnNo);
+ throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+ }
+
+ // 妫�娴嬬洰鏍囩珯
+ BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn());
+ if (!staNo.getAutoing().equals("Y")) {
+ throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�");
+ }
+
+ basCrnpService.checkSiteStatus(crnNo, true);
+
+ // 杩斿洖dto
+ StartupDto startupDto = new StartupDto();
+ startupDto.setWorkNo(getWorkNo(0));
+ startupDto.setCrnNo(crnNo);
+ startupDto.setSourceStaNo(devpNo);
+ startupDto.setStaNo(devpNo);
+ startupDto.setLocNo(locMast.getLocNo());
+ return startupDto;
+ }
+
+ public StartupDto getLocNoBy311(String type) {
+
+ int row;
+ int devpNo = 311;
+ int crnNo = 4;
+// if (type.equals("1")) {
+// row = 7;
+// } else if (type.equals("2")) {
+// row = 6;
+// } else {
+// throw new CoolException("304鐗╂枡绫诲埆璇嗗埆閿欒锛�" + type);
+// }
+
+ // 鐩爣搴撲綅
+ List<LocMast> locMasts = locMastMapper.selectOneByCrnNo(4);
+ LocMast locMast = locMasts.get(0);
+ if (locMast == null) {
+ throw new CoolException("311鍏ュ簱娌℃湁绌哄簱浣�");
+ }
+
+ // 鑾峰彇鐩爣绔�
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ .eq("type_no", 1)
+ .eq("stn_no", devpNo)
+ .eq("crn_no", crnNo);
+ StaDesc staDesc = staDescService.selectOne(wrapper);
+ if (Cools.isEmpty(staDesc)) {
+ log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}, crnNo={}", 1, devpNo, crnNo);
+ throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+ }
+
+ // 妫�娴嬬洰鏍囩珯
+ BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn());
+ if (!staNo.getAutoing().equals("Y")) {
+ throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�");
+ }
+
+ basCrnpService.checkSiteStatus(crnNo, true);
+
+ // 杩斿洖dto
+ StartupDto startupDto = new StartupDto();
+ startupDto.setWorkNo(getWorkNo(0));
+ startupDto.setCrnNo(crnNo);
+ startupDto.setSourceStaNo(devpNo);
+ startupDto.setStaNo(devpNo);
+ startupDto.setLocNo(locMast.getLocNo());
+ return startupDto;
+ }
+
+ /**
+ * 涓�鏈熷鎵惧簱浣�
+ * 1-6灞� 鏉$爜1鎴栬��2寮�澶�
+ * 7-11灞� 鏉$爜8寮�澶�
+ * @param ioType 1.鍏ュ簱
+ * @param devpNo 鍏ュ簱绔欑偣
+ * @param barcode 鏉$爜
+ * @return 搴撲綅淇℃伅
+ */
+ public StartupDto getLocNoNew(int ioType, Integer devpNo, String barcode) {
+ char type = barcode.charAt(0);
+ int flag = 0;
+ if (type == '1' || type == '2') {
+ flag = 1;
+ } else if( type == '8') {
+ flag = 2;
+ }
+ if (flag == 0) {
+ throw new CoolException("鏉$爜鏈夎锛�" + barcode);
+ }
+
+ // 鐩爣搴撲綅
+ LocMast locMast = locMastMapper.queryLocByBarCodeNew(devpNo,flag);
+ if (locMast == null) {
+ throw new CoolException("鍏ュ簱娌℃湁绌哄簱浣�");
+ }
+
+ // 鍫嗗灈鏈哄彿
+ Integer crnNo = locMast.getCrnNo();
+
+ // 鑾峰彇鐩爣绔�
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ .eq("type_no", ioType)
+ .eq("stn_no", devpNo)
+ .eq("crn_no", crnNo);
+ StaDesc staDesc = staDescService.selectOne(wrapper);
+ if (Cools.isEmpty(staDesc)) {
+ log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}, crnNo={}", 1, devpNo, crnNo);
+ throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+ }
+
+ // 妫�娴嬬洰鏍囩珯
+ BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn());
+ if (!staNo.getAutoing().equals("Y")) {
+ throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�");
+ }
+
+ basCrnpService.checkSiteStatus(crnNo, true);
+
+ // 杩斿洖dto
+ StartupDto startupDto = new StartupDto();
+ startupDto.setWorkNo(getWorkNo(0));
+ startupDto.setCrnNo(crnNo);
+ startupDto.setSourceStaNo(devpNo);
+ startupDto.setStaNo(devpNo);
+ startupDto.setLocNo(locMast.getLocNo());
+ return startupDto;
+
+ }
}
--
Gitblit v1.9.1