From 504b8cb910483dd7771984682488e8d5e7826d42 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期日, 20 七月 2025 20:41:01 +0800
Subject: [PATCH] 深库位出库被堵塞移库修改
---
src/main/resources/mapper/LocMastMapper.xml | 13 +++++++++++++
src/main/java/com/zy/service/impl/MainServiceImpl.java | 23 +++++++++++++++++++----
src/main/java/com/zy/mapper/LocMastMapper.java | 6 ++++++
3 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/mapper/LocMastMapper.java b/src/main/java/com/zy/mapper/LocMastMapper.java
index 7c61d74..17187e7 100644
--- a/src/main/java/com/zy/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/mapper/LocMastMapper.java
@@ -22,6 +22,8 @@
LocMast queryFreeLocMast(@Param("row") Integer row, @Param("locType1") Short locType1);
+ LocMast queryFreeLocMastNew(@Param("row") Integer row, @Param("model") String model);
+
@Select("select loc_no from asr_loc_mast where 1=1 and loc_sts = 'O' and crn_no = #{crnNo}")
List<String> queryGroupEmptyStock(Integer crnNo);
@@ -35,4 +37,8 @@
@Select("select count(*) as count from asr_loc_mast where 1=1 and loc_sts = 'O' and loc_type1 = #{locType1} and crn_no = #{crnNo}")
Integer selectEmptyLocCount(@Param("locType1") Short locType1, @Param("crnNo") Integer crnNo);
+ /**
+ * 鏍规嵁鐗╂枡鍚嶇О鏌ヨ妗跺瀷
+ */
+ String selectMatMatnrByMaktx(@Param("maktx") String maktx);
}
diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 7cc1322..23b5831 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -118,6 +118,9 @@
private WaitPakinMapper waitPakinMapper;
@Autowired
private LocMastService locMastService;
+
+ @Resource
+ private LocMastMapper locMastMapper;
@Autowired
private StaDescService staDescService;
@Autowired
@@ -898,7 +901,7 @@
}
}
- } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
+ } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("M")|| shallowLoc.getLocSts().equals("Z")) {
News.warnNoLog(""+mark+" - 2"+" - 9"+" - // F銆丏 搴撲綅鐘舵��={}",shallowLoc.getLocSts());
// WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
//2022-08-16 modify,涓嶆牴鎹畊pdmk鏍囪绉诲簱浠诲姟(瀹规槗琚彇娑堝鑷村牭濉�)锛屾煡璇㈠伐浣滄。鏄惁瀛樺湪浠诲姟
@@ -1526,13 +1529,25 @@
*/
private synchronized void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc,Integer mark) {
+ // 鍙湁208L鑳芥斁11灞�
+ String model = null;
+ if(shallowLoc.getLocSts().equals("F")) {
+ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo()));
+ if(locDetl != null && locDetl.getModel() != null) {
+ String matModel = locMastMapper.selectMatMatnrByMaktx(locDetl.getModel());
+ if(matModel != null && matModel.equals("208L")) {
+ model = "208L";
+ }
+ }
+ }
try {
News.warnNoLog(""+mark+"moveLocForDeepLoc"+" - 0"+" - 寮�濮嬫墽琛�:鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)");
List<Integer> rows = locMastService.queryDistinctRow(crn.getId());
LocMast loc = null;
for (Integer row : rows) {
if (Utils.isDeepLoc(slaveProperties, row)) {
- loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType2());
+// loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType2());
+ loc = locMastMapper.queryFreeLocMastNew(row,model);
if (loc != null) {
if (Utils.isDeepLoc(slaveProperties, loc.getLocNo())) {
@@ -1551,8 +1566,8 @@
if (null == loc) {
for (Integer row : rows) {
if (Utils.isShallowLoc(slaveProperties, row)) {
- loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType2());
-
+// loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType2());
+ loc = locMastMapper.queryFreeLocMastNew(row,model);
if (null != loc) {//瀵瑰簲娣卞簱浣嶉潪鍦ㄥ簱鐘舵��,涓嶈兘绉诲簱
String deepLoc = Utils.getDeepLoc(slaveProperties, loc.getLocNo());
LocMast deepLoc1 = locMastService.selectById(deepLoc);
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 065e056..245b4f4 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -58,5 +58,18 @@
select top 1 * from asr_loc_mast where crn_no = #{crnNo} and loc_sts = 'O'
ORDER BY NEWID()
</select>
+ <select id="queryFreeLocMastNew" resultType="com.zy.entity.LocMast">
+ select top 1 *
+ from asr_loc_mast
+ where row1=#{row}
+ and loc_sts='O'
+ <if test="model != null">
+ and lev1 not in (11)
+ </if>
+ order by NEWID(),lev1 asc,bay1 asc
+ </select>
+ <select id="selectMatMatnrByMaktx" resultType="java.lang.String">
+ select model from man_mat where maktx = #{maktx}
+ </select>
</mapper>
--
Gitblit v1.9.1