自动化立体仓库 - WCS系统
Junjie
2023-12-24 d749f488a802175dfa10851ebdffdb15c9bdeba8
#提升机
6个文件已修改
37 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/mapper/BasLiftOptMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/BasLiftOptService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasLiftOptServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/LiftThread.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasLiftOptMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasLiftOptMapper.java
@@ -12,7 +12,7 @@
@Repository
public interface BasLiftOptMapper extends BaseMapper<BasLiftOpt> {
    BasLiftOpt selectByDeviceWrk(String deviceWrk);
    BasLiftOpt selectByDeviceWrk(String deviceWrk, Integer liftNo);
    List<Map<String, Object>> selectRunStatistic();//获取提升机每天运行数据
src/main/java/com/zy/asrs/service/BasLiftOptService.java
@@ -5,6 +5,6 @@
public interface BasLiftOptService extends IService<BasLiftOpt> {
    BasLiftOpt selectByDeviceWrk(String deviceWrk);
    BasLiftOpt selectByDeviceWrk(String deviceWrk, Integer liftNo);
}
src/main/java/com/zy/asrs/service/impl/BasLiftOptServiceImpl.java
@@ -10,7 +10,7 @@
public class BasLiftOptServiceImpl extends ServiceImpl<BasLiftOptMapper, BasLiftOpt> implements BasLiftOptService {
    @Override
    public BasLiftOpt selectByDeviceWrk(String deviceWrk) {
        return this.baseMapper.selectByDeviceWrk(deviceWrk);
    public BasLiftOpt selectByDeviceWrk(String deviceWrk, Integer liftNo) {
        return this.baseMapper.selectByDeviceWrk(deviceWrk, liftNo);
    }
}
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.*;
@@ -1611,8 +1612,7 @@
            NyLiftCommand liftCommand = NyLiftUtils.getLiftCommand(liftProtocol.getLiftNo().intValue(), NyLiftTaskModelType.MOVE_TRAY.id, startSta, targetSta, wrkMast.getWrkNo());
            if (wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57) {
                //拣料再回库,重新分配设备工作号
                Random random = new Random();
                int deviceWrk = Math.abs((liftCommand.getTaskNo().intValue() + random.nextInt(9999)));//获取设备工作号
                int deviceWrk = commonService.getWorkNo(8);//生成提升机设备工作号
                liftCommand.setTaskNo((short) deviceWrk);
            }
            ArrayList<NyLiftCommand> commands = new ArrayList<>();
@@ -1775,10 +1775,13 @@
                        && liftProtocol.getTaskNo() != 0
                        && !liftProtocol.getBusy()
                ) {
                    BasLiftOpt basLiftOpt = basLiftOptService.selectByDeviceWrk(liftProtocol.getTaskNo().toString());
                    int taskNo = liftProtocol.getTaskNo().intValue();
                    if (basLiftOpt != null) {
                        taskNo = basLiftOpt.getWrkNo();
                    if (taskNo >= 20000 && taskNo <= 30000) {
                        //提升机设备工作号,需要查询对应任务号
                        BasLiftOpt basLiftOpt = basLiftOptService.selectByDeviceWrk(liftProtocol.getTaskNo().toString(), liftSlave.getId());
                        if (basLiftOpt != null) {
                            taskNo = basLiftOpt.getWrkNo();
                        }
                    }
                    //将任务档标记为完成
@@ -3523,8 +3526,7 @@
                //获取提升机命令,调度提升机到源站位置
                NyLiftCommand liftCommand = NyLiftUtils.getLiftCommand(liftProtocol.getLiftNo().intValue(), NyLiftTaskModelType.MOVE_CAR.id, sourceLiftSta.getStaNo(), sourceLiftSta.getStaNo(), wrkMast.getWrkNo());
                Random random = new Random();
                int deviceWrk = Math.abs((liftCommand.getTaskNo().intValue() + random.nextInt(9999)));//获取设备工作号
                int deviceWrk = commonService.getWorkNo(8);//生成提升机设备工作号
                liftCommand.setTaskNo((short) deviceWrk);//更换随机任务号
                ArrayList<NyLiftCommand> commands = new ArrayList<>();
src/main/java/com/zy/core/thread/LiftThread.java
@@ -351,11 +351,15 @@
            return false;
        }
        BasLiftOptService basLiftOptService = SpringUtils.getBean(BasLiftOptService.class);
        BasLiftOpt basLiftOpt = basLiftOptService.selectByDeviceWrk(liftProtocol.getTaskNo().toString());
        if (basLiftOpt != null) {
            wrkNo = basLiftOpt.getWrkNo().shortValue();
        if (wrkNo >= 20000 && wrkNo <= 30000) {
            //提升机设备工作号,需要查询对应任务号
            BasLiftOptService basLiftOptService = SpringUtils.getBean(BasLiftOptService.class);
            BasLiftOpt basLiftOpt = basLiftOptService.selectByDeviceWrk(liftProtocol.getTaskNo().toString(), liftProtocol.getLiftNo().intValue());
            if (basLiftOpt != null) {
                wrkNo = basLiftOpt.getWrkNo().shortValue();
            }
        }
        Object o = redisUtil.get(RedisKeyType.LIFT.key + wrkNo);
        if (o == null) {
            return false;
src/main/resources/mapper/BasLiftOptMapper.xml
@@ -20,6 +20,7 @@
    <select id="selectByDeviceWrk" resultMap="BaseResultMap">
        select top 1 * from asr_bas_lift_opt
        where device_wrk = #{deviceWrk}
        and lift_no = #{liftNo}
        order by send_time desc
    </select>