From 06dcb0ea144ae13689545ada3496d01cf686d181 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 15 十一月 2023 15:51:16 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/WrkMastService.java | 2 +
src/main/java/com/zy/asrs/utils/Utils.java | 25 ++++++++++++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 20 ++++++++++
src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java | 25 ++++++++++++
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 4 ++
src/main/resources/mapper/WrkMastMapper.xml | 8 ++++
6 files changed, 84 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 90bba5e..6af4d04 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -118,4 +118,8 @@
* 鏌ヨ鏄惁鏄洏鐐瑰嚭搴擄紝妫�鏂欏嚭搴�
*/
WrkMast selectpj(@Param("staNo")Integer staNo,@Param("barcode")String barcode);
+
+ List<WrkMast> selectLaneWrkMastIn();//鏌ヨ鍏ュ簱浠诲姟
+
+ List<WrkMast> selectLaneWrkMastOut();//鏌ヨ鍑哄簱浠诲姟
}
diff --git a/src/main/java/com/zy/asrs/service/WrkMastService.java b/src/main/java/com/zy/asrs/service/WrkMastService.java
index bd2be23..5263e48 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastService.java
@@ -17,4 +17,6 @@
int getOutToStn182(Integer devpNo);
WrkMast selectpj(Integer staNo,String barcode);
+
+ List<WrkMast> selectLaneWrkMast(Integer lane, Boolean pakIn);//鏌ヨ鎸囧畾宸烽亾浠诲姟
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index e9739c2..7c81420 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -67,6 +67,8 @@
@Autowired
private WrkMastMapper wrkMastMapper;
@Autowired
+ private WrkMastService wrkMastService;
+ @Autowired
private WrkDetlService wrkDetlService;
@Autowired
private WaitPakinMapper waitPakinMapper;
@@ -736,6 +738,15 @@
continue;
}
+ //鍒ゆ柇鍫嗗灈鏈哄拰褰撳墠浠诲姟鏄惁澶勪簬涓�涓贩閬�
+ if (Utils.getLaneByLocNo(wrkMast.getLocNo()) != crnProtocol.getCrnLane()) {
+ //鍒ゆ柇鍫嗗灈鏈烘墍鍦ㄥ贩閬撴槸鍚﹀瓨鍦ㄥ叾浠栦换鍔★紝濡傚瓨鍦ㄥ垯浼樺厛鎵ц
+ List<WrkMast> wrkMasts = wrkMastService.selectLaneWrkMast(crnProtocol.getCrnLane(), true);
+ if (!wrkMasts.isEmpty()) {
+ continue;//褰撳墠鍫嗗灈鏈烘墍鍦ㄥ贩閬撳瓨鍦ㄤ换鍔�
+ }
+ }
+
// 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
if (Utils.isDeepLoc(slaveProperties, wrkMast.getLocNo())) {
String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getLocNo());
@@ -930,6 +941,15 @@
// return;
}
+ //鍒ゆ柇鍫嗗灈鏈哄拰褰撳墠浠诲姟鏄惁澶勪簬涓�涓贩閬�
+ if (Utils.getLaneByLocNo(wrkMast.getLocNo()) != crnProtocol.getCrnLane()) {
+ //鍒ゆ柇鍫嗗灈鏈烘墍鍦ㄥ贩閬撴槸鍚﹀瓨鍦ㄥ叾浠栦换鍔★紝濡傚瓨鍦ㄥ垯浼樺厛鎵ц
+ List<WrkMast> laneWrkMasts = wrkMastService.selectLaneWrkMast(crnProtocol.getCrnLane(), false);
+ if (!laneWrkMasts.isEmpty()) {
+ continue;//褰撳墠鍫嗗灈鏈烘墍鍦ㄥ贩閬撳瓨鍦ㄤ换鍔�
+ }
+ }
+
// 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
CrnCommand crnCommand = new CrnCommand();
crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
index d5b6da9..6c2cc0d 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -5,8 +5,11 @@
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.utils.Utils;
import org.springframework.stereotype.Service;
+import javax.rmi.CORBA.Util;
+import java.util.ArrayList;
import java.util.List;
@Service("wrkMastService")
@@ -37,4 +40,26 @@
return this.baseMapper.selectpj(staNo,barcode);
}
+ @Override
+ public List<WrkMast> selectLaneWrkMast(Integer lane, Boolean pakIn) {
+ List<WrkMast> list = new ArrayList<>();
+
+ List<WrkMast> wrkMasts = null;
+ if (pakIn) {
+ wrkMasts = this.baseMapper.selectLaneWrkMastIn();
+ }else {
+ wrkMasts = this.baseMapper.selectLaneWrkMastOut();
+ }
+
+ if (wrkMasts == null) {
+ return list;
+ }
+
+ for (WrkMast wrkMast : wrkMasts) {
+ if (Utils.getLaneByLocNo(wrkMast.getLocNo()) == lane) {
+ list.add(wrkMast);
+ }
+ }
+ return list;
+ }
}
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 36a0324..d1ee128 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -161,6 +161,31 @@
}
+ /**
+ * 閫氳繃搴撲綅鍙疯幏鍙栨墍鍦ㄥ贩閬�
+ */
+ public static int getLaneByLocNo(String locNo) {
+ int row = Utils.getRow(locNo);
+ switch (row) {
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ return 1;
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ return 2;
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ return 3;
+ }
+ return 0;
+ }
+
public static void main(String[] args) {
SlaveProperties slaveProperties = new SlaveProperties();
slaveProperties.setDoubleDeep(true);
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 47a7004..14e16a5 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -195,4 +195,12 @@
<select id="selectpj" resultMap="BaseResultMap">
select * from dbo.asr_wrk_mast where wrk_sts =14 and barcode=#{barcode}
</select>
+
+ <select id="selectLaneWrkMastIn" resultMap="BaseResultMap">
+ select * from dbo.asr_wrk_mast where wrk_sts=2 and (io_type=1 or io_type=10 or io_type=53 or io_type=54 or io_type=57) order by io_pri desc,io_time,wrk_no ASC
+ </select>
+
+ <select id="selectLaneWrkMastOut" resultMap="BaseResultMap">
+ select * from dbo.asr_wrk_mast where wrk_sts in (11,12,13,14) and io_type>100 order by io_pri desc,io_time,wrk_no asc
+ </select>
</mapper>
--
Gitblit v1.9.1