From 79f209a5ec9236adfd4576285d50a7b860da7230 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期二, 26 十二月 2023 13:22:12 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 4 +
src/main/java/com/zy/asrs/utils/Utils.java | 47 +++++++++++++++
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 6 -
src/main/resources/mapper/LocMastMapper.xml | 5 +
src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 3
src/main/java/com/zy/common/web/WcsController.java | 44 +++++++++++---
src/main/java/com/zy/asrs/service/LocMastService.java | 2
src/main/java/com/zy/common/service/CommonService.java | 10 ++-
8 files changed, 101 insertions(+), 20 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index 099ae60..c9bcea1 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -35,6 +35,5 @@
List<LocMast> selectNodeEByLev(Integer lev);
-
-
+ LocMast selectByLoc(String locNo);
}
diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java
index df7e0a5..6a9da74 100644
--- a/src/main/java/com/zy/asrs/service/LocMastService.java
+++ b/src/main/java/com/zy/asrs/service/LocMastService.java
@@ -49,4 +49,6 @@
List<LocMast> selectByLocNo(List<String> locNo);
List<LocMast> selectNodeELocByLev(Integer lev);
+
+ LocMast selectByLoc(String loc);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index d2618bc..5cc778f 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -79,6 +79,10 @@
}
+ @Override
+ public LocMast selectByLoc(String locNo) {
+ return this.baseMapper.selectByLoc(locNo);
+ }
@Override
public List<LocMast> selectByLocNo(List<String> locNo) {
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 df878dd..6d3bdc3 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -490,9 +490,6 @@
@Transactional
public WrkMast emptyPlateOut(EmptyPlateOutParam param) {
WrkMast wrkMast = new WrkMast();
- if (Cools.isEmpty(param.getOutSite())) {
- throw new CoolException("绔欑偣涓嶅瓨鍦�");
- }
for (String locNo : param.getLocNos()) {
// 鑾峰彇宸ヤ綔鍙�
int workNo = commonService.getWorkNo(0);
@@ -504,7 +501,6 @@
// 鑾峰彇婧愮珯
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", 110)
- .eq("stn_no", param.getOutSite())
.eq("crn_no", locMast.getCrnNo());
StaDesc staDesc = staDescService.selectOne(wrapper);
Integer sourceStaNo = staDesc.getCrnStn();
@@ -520,7 +516,7 @@
wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
wrkMast.setIoPri(10D);
wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
- wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
+ wrkMast.setStaNo(1007); // 鐩爣绔�
wrkMast.setCrnNo(locMast.getCrnNo());
wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
wrkMast.setFullPlt("N"); // 婊℃澘锛歒
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 890436b..41cefd3 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -6,12 +6,59 @@
import java.text.DecimalFormat;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
/**
* Created by vincent on 2020/8/27
*/
public class Utils {
+ public static final List<Integer> FIRST_GROUP_ROW_LIST = new ArrayList<Integer>() {{
+ add(1);add(2);
+ }};
+ public static final List<Integer> SECOND_GROUP_ROW_LIST = new ArrayList<Integer>() {{
+ add(3);add(4);
+ }};
+ public static final List<Integer> FIRST_GROUP_ROW_LIST2 = new ArrayList<Integer>() {{
+ add(5);add(6);
+ }};
+ public static final List<Integer> SECOND_GROUP_ROW_LIST2 = new ArrayList<Integer>() {{
+ add(7);add(8);
+ }};
+ public static List<String> getGroupLocNo(String locNo, Boolean pakIn) {
+ int row = getRow(locNo);
+ List<String> result = new ArrayList<>();
+ if (FIRST_GROUP_ROW_LIST.contains(row)) {
+ for (Integer groupRow : FIRST_GROUP_ROW_LIST) {
+ result.add(zerofill(String.valueOf(groupRow), 2) + locNo.substring(2));
+ }
+ } else if (SECOND_GROUP_ROW_LIST.contains(row)) {
+ List<Integer> clone = Arrays.asList(new Integer[SECOND_GROUP_ROW_LIST.size()]);
+ Collections.copy(clone, SECOND_GROUP_ROW_LIST);
+ Collections.reverse(clone);
+ for (Integer integer : clone) {
+ result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2));
+ }
+ }else if (FIRST_GROUP_ROW_LIST2.contains(row)) {
+ for (Integer groupRow : FIRST_GROUP_ROW_LIST2) {
+ result.add(zerofill(String.valueOf(groupRow), 2) + locNo.substring(2));
+ }
+ } else if (SECOND_GROUP_ROW_LIST2.contains(row)) {
+ List<Integer> clone = Arrays.asList(new Integer[SECOND_GROUP_ROW_LIST2.size()]);
+ Collections.copy(clone, SECOND_GROUP_ROW_LIST2);
+ Collections.reverse(clone);
+ for (Integer integer : clone) {
+ result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2));
+ }
+ }
+
+ if (!pakIn) {
+ //鍑哄簱锛屽弽杞暟鎹�
+ Collections.reverse(result);
+ }
+ return result;
+ }
private static final DecimalFormat fmt = new DecimalFormat("##0.00");
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 813d3db..e2676b5 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -142,7 +142,11 @@
// 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭
if (staDescId == 10) {
- List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow));
+ StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("type_no", staDescId).eq("stn_no", sourceStaNo));
+ if (Cools.isEmpty(staDesc)){
+ throw new CoolException("绌烘墭鍏ュ簱绔欑偣璺緞涓嶅瓨鍦�");
+ }
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow).eq("crn_no",staDesc.getCrnNo()));
if (locMasts.size() > 0) {
for (LocMast loc : locMasts) {
if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) {
@@ -176,10 +180,10 @@
throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
}
Integer crnNo1 = shelves.get(curRow);
- crnNo1 = crnNo1 + divides*1;
+// crnNo1 = crnNo1 + divides*1;
if (basCrnpService.checkSiteError(crnNo1, true)) {
crnNo = crnNo1;
- curRow = curRow + divides*4;
+// curRow = curRow + divides*4;
break;
}
}
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index b2f31ac..113b666 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -8,6 +8,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.EmptyPlateOutParam;
import com.zy.asrs.service.*;
+import com.zy.asrs.utils.Utils;
import com.zy.common.CodeRes;
import com.zy.common.model.LocTypeDto;
import com.zy.common.model.StartupDto;
@@ -143,17 +144,42 @@
@PostMapping("auto/emptyOut/v1")
@ResponseBody
- public R autoEmptyOut(){
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("loc_sts", "D"));
- if (Cools.isEmpty(locMast)) {
+ public R autoEmptyOut(@RequestParam("crnNo") Integer crnNo) {
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D")
+ .eq("crn_no", crnNo)
+ .orderBy("lev1,bay1,row1"));
+ if (locMasts.isEmpty()) {
return R.error("搴撳瓨娌℃湁绌烘澘");
}
- EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
- emptyPlateOutParam.setOutSite(12);
- emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locMast.getLocNo()+"");}});
- WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam);
- return R.ok(!Cools.isEmpty(wrkMast)? R.ok("鑷姩绌烘墭鍑哄簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触"));
+
+ for (LocMast locMast : locMasts) {
+ LocMast locMast0 = null;
+ List<String> outerLocNo = Utils.getGroupLocNo(locMast.getLocNo(), false);
+ for (String loc : outerLocNo) {
+ LocMast locMast1 = locMastService.selectByLoc(loc);
+ if (locMast1 == null) {
+ continue;
+ }
+
+ if (locMast1.getLocSts().equals("D")) {
+ locMast0 = locMast1;
+ break;
+ }
+ }
+
+ if (locMast0 == null) {
+ continue;
+ }
+
+ EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
+ ArrayList<String> locNos = new ArrayList<>();
+ locNos.add(locMast0.getLocNo());
+ emptyPlateOutParam.setLocNos(locNos);
+ WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam);
+ return R.ok(!Cools.isEmpty(wrkMast) ? R.ok("鑷姩绌烘墭鍑哄簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触"));
+ }
+ return R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触");
}
/**
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index d217db3..95b5fa0 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -98,7 +98,10 @@
<select id="selectNodeEByLev" resultMap="BaseResultMap">
SELECT * FROM asr_node_loc_DT_E_view WHERE lev1 = #{lev}
</select>
-
+ <select id="selectByLoc" resultMap="BaseResultMap">
+ select * from asr_loc_mast
+ where loc_no = #{locNo}
+ </select>
</mapper>
--
Gitblit v1.9.1