8af4d8f9621cee06aca1207a180eba1cff7a0922..2f4e2a7a7e42c789a3129bffdb6ad307eff83f12
2 天以前 1
#
2f4e2a 对比 | 目录
2 天以前 1
#
4bf569 对比 | 目录
10个文件已修改
65 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/mapper/BasRgvOptMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/BasRgvOptService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasRgvOptServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/mapper/ConfigMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/ConfigService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/impl/ConfigServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasRgvOptMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ConfigMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | 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>