| src/main/java/com/zy/asrs/mapper/BasRgvOptMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/BasRgvOptService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/BasRgvOptServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/core/MainProcess.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/system/mapper/ConfigMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/system/service/ConfigService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/system/service/impl/ConfigServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/BasRgvOptMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/ConfigMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/mapper/BasRgvOptMapper.java
@@ -3,10 +3,11 @@ import com.baomidou.mybatisplus.mapper.BaseMapper; import com.zy.asrs.entity.BasRgvOpt; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @Mapper @Repository public interface BasRgvOptMapper extends BaseMapper<BasRgvOpt> { BasRgvOpt getBasRgvOpt(@Param("rgvNo") Integer rgvNo); } src/main/java/com/zy/asrs/service/BasRgvOptService.java
@@ -4,5 +4,5 @@ import com.zy.asrs.entity.BasRgvOpt; public interface BasRgvOptService extends IService<BasRgvOpt> { BasRgvOpt getBasRgvOpt(Integer rgvNo); } src/main/java/com/zy/asrs/service/impl/BasRgvOptServiceImpl.java
@@ -9,4 +9,8 @@ @Service("basRgvOptService") public class BasRgvOptServiceImpl extends ServiceImpl<BasRgvOptMapper, BasRgvOpt> implements BasRgvOptService { @Override public BasRgvOpt getBasRgvOpt(Integer rgvNo){ return this.baseMapper.getBasRgvOpt(rgvNo); } } src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -43,6 +43,8 @@ import com.zy.core.thread.LedThread; import com.zy.core.thread.RgvThread; import com.zy.core.thread.SiemensDevpThread; import com.zy.system.entity.Config; import com.zy.system.service.ConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -77,6 +79,8 @@ private WaitPakinMapper waitPakinMapper; @Autowired private LocMastService locMastService; @Autowired private ConfigService configService; @Autowired private StaDescService staDescService; @Autowired @@ -4656,34 +4660,25 @@ rgvCommand.setRgvNo(rgvId); // RGV编号 RgvTaskStatusType type; Integer targetPosition = 0; String typeNo = null; if(wrkMastSta.getWrkSts() == 0){ type = RgvTaskStatusType.FETCH; //取货 targetPosition = wrkMastSta.getStaStart(); typeNo = "2"; }else{ type = RgvTaskStatusType.PUT; //放货 targetPosition = wrkMastSta.getStaEnd(); typeNo = "3"; } Date now = new Date(); if (targetPosition == 1038) { System.out.println("小车下发命令时间:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(now)); } EntityWrapper<BasRgvOpt> entityWrapper = new EntityWrapper<>(); entityWrapper.eq("rgv_no", rgvId) .orderBy("send_time"); BasRgvOpt basRgvOpt = basRgvOptService.selectOne(entityWrapper); BasRgvOpt basRgvOpt = basRgvOptService.getBasRgvOpt(rgvId); // 防止重复下发命令 if (basRgvOpt != null) { // 获取最新记录的 mode 对应的任务类型 RgvTaskStatusType latestTaskStatus = RgvTaskStatusType.valueOf(basRgvOpt.getMode()); // 判断当前命令与最新记录是否相同 if (latestTaskStatus == type && basRgvOpt.getPosSta().equals(wrkMastSta.getWorkSta())) { if (typeNo.equals(basRgvOpt.getMode()) && basRgvOpt.getPosSta().equals(wrkMastSta.getWorkSta())) { // 如果最新记录的 mode 和 posSta 与当前命令相同,认为是重复命令 log.error("命令重复下发,当前命令与最新记录相同,任务不下发!"); return false; } } rgvCommand.setTaskNo(Math.toIntExact(wrkMastSta.getWrkNo())); // 工位工作号 rgvCommand.setTaskStatus(type); // 工位任务模式: 取货 rgvCommand.setTargetPosition(targetPosition); //工位目标站点 @@ -5723,6 +5718,9 @@ * agv任务生成 Empty * */ public synchronized void agvTaskCreateR() { Config configAGVAUTOIN = configService.selectConfigByCode("AGVAUTOIN"); // 根据输送线plc遍历 for (DevpSlave devp : slaveProperties.getDevp()) { // 遍历出库口 @@ -5762,20 +5760,22 @@ .le("row1", 26) .orderBy("io_time",true) ); }else if(inStaAgv.getStaNo() < 4000){ }else if(inStaAgv.getStaNo() < 4000 && Boolean.parseBoolean(configAGVAUTOIN.getValue())){ locMastList = locMastService.selectList(new EntityWrapper<LocMast>() .eq("loc_sts", "R") .ge("row1", 28) .le("row1", 31) .orderBy("io_time",true)); floorNo = 2; }else{ }else if(inStaAgv.getStaNo() < 5000){ locMastList = locMastService.selectList(new EntityWrapper<LocMast>() .eq("loc_sts", "R") .ge("row1", 32) .le("row1", 38) .orderBy("io_time",true)); floorNo = 3; }else{ continue; } for (LocMast locMast : locMastList){ src/main/java/com/zy/core/MainProcess.java
@@ -31,6 +31,7 @@ private int i = 0; private int q = 0; private boolean rgcWrk = true; private int k = 0; /** * =====>> 开始工作 src/main/java/com/zy/system/mapper/ConfigMapper.java
@@ -3,10 +3,11 @@ import com.baomidou.mybatisplus.mapper.BaseMapper; import com.zy.system.entity.Config; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @Mapper @Repository public interface ConfigMapper extends BaseMapper<Config> { Config selectConfigByCode(@Param("code") String code); } src/main/java/com/zy/system/service/ConfigService.java
@@ -4,5 +4,6 @@ import com.zy.system.entity.Config; public interface ConfigService extends IService<Config> { Config selectConfigByCode(String code); } src/main/java/com/zy/system/service/impl/ConfigServiceImpl.java
@@ -8,5 +8,9 @@ @Service("configService") public class ConfigServiceImpl extends ServiceImpl<ConfigMapper, Config> implements ConfigService { @Override public Config selectConfigByCode(String code){ return this.baseMapper.selectConfigByCode(code); }; } src/main/resources/mapper/BasRgvOptMapper.xml
@@ -24,4 +24,13 @@ </resultMap> <select id="getBasRgvOpt" resultMap="BaseResultMap"> SELECT TOP 1 * FROM bas_rgv_opt WHERE rgv_no = #{rgvNo} ORDER BY send_time DESC </select> </mapper> src/main/resources/mapper/ConfigMapper.xml
@@ -12,5 +12,9 @@ <result column="status" property="status" /> </resultMap> <select id="selectConfigByCode" resultMap="BaseResultMap"> select top 1 * from sys_config where 1=1 and code=#{code} </select> </mapper>