From 352b3946e1afb9a27c96f58bb138e2ba5a010ec0 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 21 六月 2024 19:52:07 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java | 5 +
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 50 ++++++++++++----
src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java | 3 +
src/main/resources/mapper/BasJarMastMapper.xml | 28 +++++++++
src/main/java/com/zy/asrs/service/impl/BasJarMastServiceImpl.java | 24 ++++++-
src/main/java/com/zy/asrs/service/WrkMastExecuteService.java | 2
src/main/java/com/zy/asrs/service/BasJarMastService.java | 10 ++-
src/main/java/com/zy/asrs/mapper/BasJarMastMapper.java | 13 +++-
8 files changed, 110 insertions(+), 25 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/BasJarMastMapper.java b/src/main/java/com/zy/asrs/mapper/BasJarMastMapper.java
index 1d4626b..ea35df4 100644
--- a/src/main/java/com/zy/asrs/mapper/BasJarMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/BasJarMastMapper.java
@@ -12,12 +12,17 @@
@Repository
public interface BasJarMastMapper extends BaseMapper<BasJarMast> {
- List<BasJarMast> getJarMastByJarId(@Param("jarId") Long jarId);
+ List<BasJarMast> getJarMastByJarId(@Param("jarId") Integer jarId);
- BasJarMast getJarMastByJarIdMax(@Param("jarId") Long jarId);
+ BasJarMast getJarMastByJarIdMax(@Param("jarId") Integer jarId);
- BasJarMast getJarMastByJarIdMin(@Param("jarId") Long jarId);
+ BasJarMast getJarMastByJarIdMin(@Param("jarId") Integer jarId);
- Integer getJarMastByJarIdCount(@Param("jarId") Long jarId);
+ Integer getJarMastByJarIdCount(@Param("jarId") Integer jarId);
+
+ Integer selectJarMastOperation1(@Param("jarId") Integer jarId);
+ Integer selectJarMastOperation2(@Param("jarId") Integer jarId);
+ Integer selectJarMastOperation3(@Param("jarId") Integer jarId);
+ Integer selectJarMastOperation4(@Param("jarId") Integer jarId);
}
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
index 53d39fc..6863ec1 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
@@ -3,10 +3,13 @@
import com.zy.asrs.entity.WrkMastExecute;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface WrkMastExecuteMapper extends BaseMapper<WrkMastExecute> {
+ Integer getWrkMastByJarIdCount(@Param("jarId") Integer jarId);
+
}
diff --git a/src/main/java/com/zy/asrs/service/BasJarMastService.java b/src/main/java/com/zy/asrs/service/BasJarMastService.java
index 2744d04..3dc1f86 100644
--- a/src/main/java/com/zy/asrs/service/BasJarMastService.java
+++ b/src/main/java/com/zy/asrs/service/BasJarMastService.java
@@ -7,12 +7,14 @@
public interface BasJarMastService extends IService<BasJarMast> {
- List<BasJarMast> getJarMastByJarId(Long jarId);
+ List<BasJarMast> getJarMastByJarId(Integer jarId);
- BasJarMast getJarMastByJarIdMax(Long jarId);
+ BasJarMast getJarMastByJarIdMax(Integer jarId);
- BasJarMast getJarMastByJarIdMin(Long jarId);
+ BasJarMast getJarMastByJarIdMin(Integer jarId);
- Integer getJarMastByJarIdCount(Long jarId);
+ Integer getJarMastByJarIdCount(Integer jarId);
+
+ Integer selectJarMastOperation(Integer jarId,Integer type);
}
diff --git a/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java b/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
index bca4c26..8734246 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
@@ -5,4 +5,6 @@
public interface WrkMastExecuteService extends IService<WrkMastExecute> {
+ Integer getWrkMastByJarIdCount(Integer jarId);
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasJarMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasJarMastServiceImpl.java
index b4a3364..0832ea7 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasJarMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasJarMastServiceImpl.java
@@ -12,7 +12,7 @@
public class BasJarMastServiceImpl extends ServiceImpl<BasJarMastMapper, BasJarMast> implements BasJarMastService {
@Override
- public List<BasJarMast> getJarMastByJarId(Long jarId) {
+ public List<BasJarMast> getJarMastByJarId(Integer jarId) {
return this.baseMapper.getJarMastByJarId(jarId);
}
@@ -20,7 +20,7 @@
* 鑾峰彇jarLocDigit鏈�澶х殑BasJarMast
* */
@Override
- public BasJarMast getJarMastByJarIdMax(Long jarId) {
+ public BasJarMast getJarMastByJarIdMax(Integer jarId) {
return this.baseMapper.getJarMastByJarIdMax(jarId);
}
@@ -28,13 +28,29 @@
* 鑾峰彇jarLocDigit鏈�灏忕殑BasJarMast
* */
@Override
- public BasJarMast getJarMastByJarIdMin(Long jarId) {
+ public BasJarMast getJarMastByJarIdMin(Integer jarId) {
return this.baseMapper.getJarMastByJarIdMin(jarId);
}
@Override
- public Integer getJarMastByJarIdCount(Long jarId) {
+ public Integer getJarMastByJarIdCount(Integer jarId) {
return this.baseMapper.getJarMastByJarIdCount(jarId);
}
+ @Override
+ public Integer selectJarMastOperation(Integer jarId,Integer type) {
+ switch (type){
+ case 1:
+ return this.baseMapper.selectJarMastOperation1(jarId);
+ case 2:
+ return this.baseMapper.selectJarMastOperation2(jarId);
+ case 3:
+ return this.baseMapper.selectJarMastOperation3(jarId);
+ case 4:
+ return this.baseMapper.selectJarMastOperation4(jarId);
+ default:
+ return 99;
+ }
+ }
+
}
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 cc21f70..eb15ae1 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -109,6 +109,8 @@
private WrkMastSplitTwinService wrkMastSplitTwinService;
@Autowired
private BasJarMastService basJarMastService;
+ @Autowired
+ private WrkMastExecuteService wrkMastExecuteService;
@Value("${wms.url}")
private String wmsUrl;
@@ -4411,18 +4413,42 @@
*/
public synchronized void jarGenerateWrkMastSta() {
for (JarSlave jarSlave : slaveProperties.getJar()) {
- try{
- Integer count = basJarMastService.getJarMastByJarIdCount(jarSlave.getId().longValue());
- if (count>=7){
+ for(JarSlave.StaStn staStn : jarSlave.getJarInSta()){
+ // 鑾峰彇纭寲缃愬叆搴撶珯淇℃伅
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, staStn.getDevpPlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(staStn.getStaNo());
+ if (staProtocol == null) {
continue;
+ } else {
+ staProtocol = staProtocol.clone();
}
- BasJarMast jarMastByJarIdMax = basJarMastService.getJarMastByJarIdMax(jarSlave.getId().longValue());
- if (!Cools.isEmpty(jarMastByJarIdMax) && jarMastByJarIdMax.getJarLocDigit()==7){
- continue;
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo()!=0){
+ try{
+ if (basJarMastService.selectJarMastOperation(jarSlave.getId(),1)!=0){
+ break;
+ }
+ if (wrkMastExecuteService.getWrkMastByJarIdCount(jarSlave.getId())!=0){
+ break;
+ }
+ if (basJarMastService.getJarMastByJarIdCount(jarSlave.getId())>=7){
+ continue;
+ }
+ BasJarMast jarMastByJarIdMax = basJarMastService.getJarMastByJarIdMax(jarSlave.getId());
+ if (!Cools.isEmpty(jarMastByJarIdMax) && jarMastByJarIdMax.getJarLocDigit()==7){
+ continue;
+ }
+ WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo());
+ if (Cools.isEmpty(wrkMast) || wrkMast.getWrkSts()!=2){
+ continue;
+ }
+ if (jarGenerateWrkMastStaExecute(jarSlave,wrkMast)){
+ return;
+ };
+ }catch (Exception e){
+ log.error(jarSlave.getId()+"鍙峰皬杞﹀浣嶇嚎绋嬫姤閿欙紒"+e);
+ }
+ break;
}
- jarGenerateWrkMastStaExecute(jarSlave);
- }catch (Exception e){
- log.error(jarSlave.getId()+"鍙峰皬杞﹀浣嶇嚎绋嬫姤閿欙紒"+e);
}
}
}
@@ -4430,7 +4456,7 @@
/**
* Jar浠诲姟鍒涘缓 鎵ц
*/
- public synchronized boolean jarGenerateWrkMastStaExecute(JarSlave jarSlave) {
+ public synchronized boolean jarGenerateWrkMastStaExecute(JarSlave jarSlave,WrkMast wrkMast) {
try{
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
@@ -4451,8 +4477,8 @@
return false;
}
- //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��
- if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0 && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.jarErr==0){
+ //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂�� Other宸﹂棬鍏抽棴
+ if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0 && !jarOtherProtocol.isLeftDoor()){
}
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
index 06f9976..bfe6bf7 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
@@ -8,5 +8,8 @@
@Service("wrkMastExecuteService")
public class WrkMastExecuteServiceImpl extends ServiceImpl<WrkMastExecuteMapper, WrkMastExecute> implements WrkMastExecuteService {
-
+ @Override
+ public Integer getWrkMastByJarIdCount(Integer jarId) {
+ return this.baseMapper.getWrkMastByJarIdCount(jarId);
+ }
}
diff --git a/src/main/resources/mapper/BasJarMastMapper.xml b/src/main/resources/mapper/BasJarMastMapper.xml
index 8d7ed8a..3e23bd0 100644
--- a/src/main/resources/mapper/BasJarMastMapper.xml
+++ b/src/main/resources/mapper/BasJarMastMapper.xml
@@ -51,4 +51,32 @@
and jar_id = #{jarId}
</select>
+ <select id="selectJarMastOperation1" resultType="Integer">
+ select count(1) from asr_bas_jar_mast
+ where 1=1
+ and jar_id = #{jarId}
+ and wrk_sts
+ </select>
+
+ <select id="selectJarMastOperation2" resultType="Integer">
+ select count(1) from asr_bas_jar_mast
+ where 1=1
+ and jar_id = #{jarId}
+ and wrk_sts
+ </select>
+
+ <select id="selectJarMastOperation3" resultType="Integer">
+ select count(1) from asr_bas_jar_mast
+ where 1=1
+ and jar_id = #{jarId}
+ and wrk_sts
+ </select>
+
+ <select id="selectJarMastOperation4" resultType="Integer">
+ select count(1) from asr_bas_jar_mast
+ where 1=1
+ and jar_id = #{jarId}
+ and wrk_sts
+ </select>
+
</mapper>
--
Gitblit v1.9.1