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