From 89af7e4c0a0fcd715bad4dbcf4e66442c0bf5975 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 14 五月 2022 23:33:53 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/RowLastnoService.java | 2 +
src/main/java/com/zy/asrs/service/WorkService.java | 2
src/main/java/com/zy/asrs/mapper/StaDescMapper.java | 2 +
src/main/resources/mapper/RowLastnoMapper.xml | 8 ++++
src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java | 4 ++
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 77 +++++++++++++++++++++++++++++++++++++-
src/main/java/com/zy/asrs/service/StaDescService.java | 2 +
src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java | 2 +
src/main/resources/mapper/StaDescMapper.xml | 6 +++
src/main/java/com/zy/asrs/controller/WorkController.java | 4 +-
src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java | 5 ++
11 files changed, 109 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java
index bc186d4..eae764b 100644
--- a/src/main/java/com/zy/asrs/controller/WorkController.java
+++ b/src/main/java/com/zy/asrs/controller/WorkController.java
@@ -154,8 +154,8 @@
@RequestMapping("/deal/preHave/start")
@ManagerAuth(memo = "鍏堝叆鍝佸鐞�")
public R dealPreHave(@RequestParam Integer wrkNo) {
- StartupDto startupDto = workService.dealPreHaveStart(wrkNo, getUserId());
- return R.ok("浠诲姟閲嶆柊鍏ュ簱锛岀洰鏍囧簱浣嶏細" + startupDto.getLocNo());
+ String locNo = workService.dealPreHaveStart(wrkNo, getUserId());
+ return R.ok("浠诲姟閲嶆柊鍏ュ簱锛岀洰鏍囧簱浣嶏細" + locNo);
}
}
diff --git a/src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java b/src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java
index bfb9079..1a1ca80 100644
--- a/src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java
@@ -9,4 +9,6 @@
@Repository
public interface RowLastnoMapper extends BaseMapper<RowLastno> {
+ RowLastno findBySection(Integer row);
+
}
diff --git a/src/main/java/com/zy/asrs/mapper/StaDescMapper.java b/src/main/java/com/zy/asrs/mapper/StaDescMapper.java
index b79dfc7..c26c603 100644
--- a/src/main/java/com/zy/asrs/mapper/StaDescMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/StaDescMapper.java
@@ -14,4 +14,6 @@
List<Integer> queryOutStaNosByLocNo(@Param("locNo") String locNo, @Param("typeNo") Integer typeNo);
+ StaDesc queryCrnStn(Integer crnNo);
+
}
diff --git a/src/main/java/com/zy/asrs/service/RowLastnoService.java b/src/main/java/com/zy/asrs/service/RowLastnoService.java
index dca50fd..66fb173 100644
--- a/src/main/java/com/zy/asrs/service/RowLastnoService.java
+++ b/src/main/java/com/zy/asrs/service/RowLastnoService.java
@@ -5,4 +5,6 @@
public interface RowLastnoService extends IService<RowLastno> {
+ RowLastno findBySection(Integer row);
+
}
diff --git a/src/main/java/com/zy/asrs/service/StaDescService.java b/src/main/java/com/zy/asrs/service/StaDescService.java
index 4d47cf9..13d18b8 100644
--- a/src/main/java/com/zy/asrs/service/StaDescService.java
+++ b/src/main/java/com/zy/asrs/service/StaDescService.java
@@ -13,4 +13,6 @@
StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo);
+ StaDesc queryCrnStn(Integer crnNo);
+
}
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index f5c0c1f..239535b 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -85,6 +85,6 @@
/**
* 閫氱煡妗f墜鍔ㄧ敓鎴愪换鍔�
*/
- StartupDto dealPreHaveStart(Integer wrkNo, Long userId);
+ String dealPreHaveStart(Integer wrkNo, Long userId);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java
index 1a32cff..4926799 100644
--- a/src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java
@@ -9,4 +9,8 @@
@Service("rowLastnoService")
public class RowLastnoServiceImpl extends ServiceImpl<RowLastnoMapper, RowLastno> implements RowLastnoService {
+ @Override
+ public RowLastno findBySection(Integer row) {
+ return this.baseMapper.findBySection(row);
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
index c92d7e8..1b995a3 100644
--- a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
@@ -54,4 +54,9 @@
return staDesc;
}
+ @Override
+ public StaDesc queryCrnStn(Integer crnNo) {
+ return this.baseMapper.queryCrnStn(crnNo);
+ }
+
}
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 dab964d..0b89c2c 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -13,9 +13,11 @@
import com.zy.asrs.entity.param.LocDetlAdjustParam;
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.service.*;
+import com.zy.asrs.utils.Utils;
import com.zy.common.model.*;
import com.zy.common.model.enums.IoWorkType;
import com.zy.common.model.enums.WorkNoType;
+import com.zy.common.properties.SlaveProperties;
import com.zy.common.service.CommonService;
import com.zy.common.web.WcsController;
import lombok.extern.slf4j.Slf4j;
@@ -69,6 +71,10 @@
private OrderDetlService orderDetlService;
@Autowired
private WcsController wcsController;
+ @Autowired
+ private RowLastnoService rowLastnoService;
+ @Autowired
+ private SlaveProperties slaveProperties;
@Override
@Transactional
@@ -881,9 +887,76 @@
}
@Override
- public StartupDto dealPreHaveStart(Integer wrkNo, Long userId) {
+ @Transactional
+ public String dealPreHaveStart(Integer wrkNo, Long userId) {
+ WrkMast wrkMast = wrkMastService.selectById(wrkNo);
+ if (wrkMast == null) {
+ throw new CoolException("浠诲姟宸插け鏁�");
+ }
+ String locNo = wrkMast.getLocNo();
+ LocMast locMast = locMastService.selectById(locNo);
+ assert locMast != null;
+ RowLastno rowLastno = rowLastnoService.findBySection(locMast.getRow1());
+ assert rowLastno != null;
- return null;
+ // 鐩爣搴撲綅
+ LocMast targetLoc = null;
+
+ for (int curRow = rowLastno.getsRow(); curRow<=rowLastno.geteRow(); curRow++) {
+
+ if (Utils.isShallowLoc(slaveProperties, curRow)) {
+ Integer deepRow = Utils.getDeepRow(slaveProperties, curRow);
+ targetLoc = locMastService.queryFreeLocMast(deepRow, locMast.getLocType1());
+ // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+ if (!locMastService.checkEmptyCount(targetLoc)) {
+ continue;
+ }
+ }
+ if (Cools.isEmpty(targetLoc)) {
+ targetLoc = locMastService.queryFreeLocMast(curRow, locMast.getLocType1());
+ // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+ if (!locMastService.checkEmptyCount(targetLoc)) {
+ continue;
+ }
+ // 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X
+ if (null != targetLoc && Utils.isShallowLoc(slaveProperties, targetLoc.getLocNo())) {
+ LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, targetLoc.getLocNo()));
+ if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) {
+ continue;
+ }
+ }
+ // 鐩爣搴撲綅 ===>> 娣卞簱浣嶏紝 鍒欐牎楠屽叾娴呭簱浣嶆槸鍚︿负 O
+ if (null != targetLoc && Utils.isDeepLoc(slaveProperties, targetLoc.getLocNo())) {
+ LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, targetLoc.getLocNo()));
+ if (!shallowLoc.getLocSts().equals("O")) {
+ continue;
+ }
+ }
+ }
+
+ if (!Cools.isEmpty(targetLoc)) {
+ break;
+ }
+
+ }
+
+ if (targetLoc == null) {
+ throw new CoolException("鎿嶄綔澶辫触锛屽綋鍓嶄粨搴撴壘涓嶅埌绌哄簱浣�");
+ }
+
+ // 淇敼宸ヤ綔妗�
+ StaDesc staDesc = staDescService.queryCrnStn(targetLoc.getCrnNo());
+ if (Cools.isEmpty(staDesc)) {
+ throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+ }
+ wrkMast.setWrkSts(2L);
+ wrkMast.setLocNo(targetLoc.getLocNo());
+ wrkMast.setStaNo(staDesc.getCrnStn());
+ if (!wrkMastService.updateById(wrkMast)) {
+ throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
+ }
+
+ return targetLoc.getLocNo();
}
}
diff --git a/src/main/resources/mapper/RowLastnoMapper.xml b/src/main/resources/mapper/RowLastnoMapper.xml
index 45639f6..fd58a60 100644
--- a/src/main/resources/mapper/RowLastnoMapper.xml
+++ b/src/main/resources/mapper/RowLastnoMapper.xml
@@ -19,4 +19,12 @@
</resultMap>
+ <select id="findBySection" resultMap="BaseResultMap">
+ select * from asr_row_lastno
+ where 1=1
+ and s_row <= #{row}
+ and e_row >= #{row}
+ order by (e_row - s_row)
+ </select>
+
</mapper>
diff --git a/src/main/resources/mapper/StaDescMapper.xml b/src/main/resources/mapper/StaDescMapper.xml
index ab8b4c6..6bbea2d 100644
--- a/src/main/resources/mapper/StaDescMapper.xml
+++ b/src/main/resources/mapper/StaDescMapper.xml
@@ -29,7 +29,13 @@
<if test="typeNo != null and typeNo !=''">
and asd.type_no = #{typeNo}
</if>
+ </select>
+ <select id="queryCrnStn" resultMap="BaseResultMap">
+ select top 1 * from asr_sta_desc
+ where 1=1
+ and crn_no = #{crnNo}
+ and type_no = 1
</select>
</mapper>
--
Gitblit v1.9.1