#
Junjie
2024-12-24 8e5594bcd3ecffcdb4befd4e399f6bf18d0fdba9
#
5个文件已修改
260 ■■■■ 已修改文件
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkChargeMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkMastMapper.xml 75 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -1,7 +1,6 @@
package com.zy.asrs.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.WrkMast;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
@@ -11,8 +10,6 @@
@Mapper
@Repository
public interface WrkMastMapper extends BaseMapper<WrkMast> {
    WrkMast selectBySourceLocNo(@Param("sourceLocNo") String sourceLocNo);
//    @Select("select * from asr_wrk_mast where ((wrk_sts = 4 Or wrk_sts = 14 ) and io_type <> 103 and io_type <> 104 and io_type <> 107 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,io_time,wrk_no")
    List<WrkMast> selectToBeCompleteData();
@@ -25,26 +22,6 @@
    WrkMast selectPakInStep1(@Param("sourceStaNo")Integer sourceStaNo, @Param("barcode")String barcode);
    WrkMast selectPakInStep11(@Param("sourceStaNo")Integer sourceStaNo);
    // 拣料再入库时,站点有物且需求时查询
//    @Select("select top 1 * from asr_wrk_mast where wrk_no=#{workNo} and wrk_sts=14 and (io_type=103 or io_type=107 or io_type=104)")
    WrkMast selectPickStep(@Param("wrkNo")Short wrkNo);
    WrkMast selectWorking(@Param("crnNo")Integer crnNo);
    // work log -------------------------------------------------------
    @Insert("insert into asr_wrk_mast_log select * from asr_wrk_mast where wrk_no=#{workNo}")
    int saveWrkMastLog(Integer workNo);
    @Insert("insert into asr_wrk_detl_log select * from asr_wrk_detl where wrk_no=#{workNo}")
    int saveWrkDetlLog(Integer workNo);
    @Update("update asr_wrk_mast set ste_no = null where wrk_no = #{wrkNo}")
    int setSteEmpty(Integer wrkNo);
    List<WrkMast> selectAll(@Param("staNo")Integer staNo);
    WrkMast selectRackInStep4(Short workNo,Integer staNo);
    List<WrkMast> selectInStep4();
@@ -65,8 +42,6 @@
    WrkMast selectLiftWrkMast(Integer liftNo);
    List<WrkMast> selectInOutWrkMast();//查询出入库工作档
    List<WrkMast> selectLocToLocWrkMast();//查询库位移转工作档
    WrkMast selectPickStepByBarcode(String barcode);
@@ -81,5 +56,4 @@
    List<WrkMast> selectInWrkMastByLiftNo(Integer liftNo);//搜索指定提升机的入库任务
    List<WrkMast> select300Wrk();//搜索300站任务
}
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1089,15 +1089,6 @@
                return false;//站点必须自动、空闲、没有托盘
            }
            if (wrkMast.getStaNo() == 300) {
                //出300站,检测300站任务数量
                List<WrkMast> wrkMasts = wrkMastMapper.select300Wrk();
                if (wrkMasts.size() >= 20) {
                    News.info("{}任务,输送线任务过载{}", wrkMast.getWrkNo(), wrkMasts.size());
                    return false;
                }
            }
            if (wrkMast.getShuttleNo() == null) {//没有绑定小车,进行调度
                //强制预留一台小车给入库任务
                int lev = Utils.getLev(wrkMast.getSourceLocNo());
@@ -2523,66 +2514,36 @@
     * 其他  ===>> LED显示器复位,显示默认信息
     */
    public void ledReset() {
        try {
            //        for (LedSlave led : slaveProperties.getLed()) {
//
//            // 获取输送线plc线程
//            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
//            // 命令集合
//            boolean reset = true;
//            for (Integer staNo : led.getStaArr()) {
//                // 获取叉车站点
//                StaProtocol staProtocol = devpThread.getStation().get(staNo);
//                if (staProtocol == null) {
//                    continue;
//        try {
//            for (LedSlave led : slaveProperties.getLed()) {
//                // 获取输送线plc线程
//                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
//                // 命令集合
//                boolean reset = true;
//                for (Integer staNo : led.getStaArr()) {
//                    // 获取叉车站点
//                    StaProtocol staProtocol = devpThread.getStation().get(staNo);
//                    if (staProtocol == null) {
//                        continue;
//                    }
//                    if (staProtocol.isLoading()) {
//                        reset = false;
//                        break;
//                    }
//                }
//                if (staProtocol.getWorkNo() != 0 && staProtocol.isLoading()) {
//                    reset = false;
//                    break;
//                // 获取led线程
//                LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
//                // led显示默认内容
//                if (reset) {
//                    ledThread.setLedMk(true);
//                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) {
//                        log.error("{}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort());
//                    }
//                }
//            }
//            // 获取led线程
//            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
//            // led显示默认内容
//            if (reset && !ledThread.isLedMk()) {
//                ledThread.setLedMk(true);
//                if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) {
//                    News.error(" - {}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort());
//                } else {
//                    News.error("{}号LED命令下发成功!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort());
//                    ledThread.setLedMk(false);
//                }
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
            for (LedSlave led : slaveProperties.getLed()) {
                // 获取输送线plc线程
                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
                // 命令集合
                boolean reset = true;
                for (Integer staNo : led.getStaArr()) {
                    // 获取叉车站点
                    StaProtocol staProtocol = devpThread.getStation().get(staNo);
                    if (staProtocol == null) {
                        continue;
                    }
                    if (staProtocol.isLoading()) {
                        reset = false;
                        break;
                    }
                }
                // 获取led线程
                LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
                // led显示默认内容
                if (reset) {
                    ledThread.setLedMk(true);
                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) {
                        log.error("{}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort());
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
src/main/resources/application.yml
@@ -141,62 +141,6 @@
    port: 5005
    devpPlcId: ${wcs-slave.devp[0].id}
    staArr: 104
  # LED5
  led[4]:
    id: 5
    ip: 10.10.10.155
    port: 5005
    devpPlcId: ${wcs-slave.devp[0].id}
    staArr: 201
  # LED6
  led[5]:
    id: 6
    ip: 10.10.10.155
    port: 5005
    devpPlcId: ${wcs-slave.devp[0].id}
    staArr: 202
  # LED7
  led[6]:
    id: 7
    ip: 10.10.10.155
    port: 5005
    devpPlcId: ${wcs-slave.devp[0].id}
    staArr: 204
  # LED8
  led[7]:
    id: 8
    ip: 10.10.10.155
    port: 5005
    devpPlcId: ${wcs-slave.devp[0].id}
    staArr: 325
  # LED9
  led[8]:
    id: 9
    ip: 10.10.10.155
    port: 5005
    devpPlcId: ${wcs-slave.devp[0].id}
    staArr: 331
  # LED10
  led[9]:
    id: 10
    ip: 10.10.10.155
    port: 5005
    devpPlcId: ${wcs-slave.devp[0].id}
    staArr: 333
  # LED11
  led[10]:
    id: 11
    ip: 10.10.10.155
    port: 5005
    devpPlcId: ${wcs-slave.devp[0].id}
    staArr: 339
  # LED11
  led[11]:
    id: 12
    ip: 10.10.10.155
    port: 5005
    devpPlcId: ${wcs-slave.devp[0].id}
    staArr: 345
  # 四向穿梭车1
  shuttle[0]:
src/main/resources/mapper/WrkChargeMapper.xml
@@ -32,7 +32,7 @@
    </resultMap>
    <select id="selectWorking" resultMap="BaseResultMap">
        select top 1 *
        select *
        from asr_wrk_charge
        where 1=1
        <if test="shuttleNo != null">
@@ -41,10 +41,11 @@
        and wrk_sts &lt; 60
        and memo = 'charge'
        order by appe_time, io_pri desc
        limit 0,1
    </select>
    <select id="selectWorkingOfCharge" resultMap="BaseResultMap">
        select top 1 *
        select *
        from asr_wrk_charge
        where 1=1
        <if test="charge != null">
@@ -53,10 +54,11 @@
        and wrk_sts &lt; 60
        and memo = 'charge'
        order by appe_time, io_pri desc
        limit 0,1
    </select>
    <select id="selectWorkingOfReset" resultMap="BaseResultMap">
        select top 1 *
        select *
        from asr_wrk_charge
        where 1=1
        <if test="steNo != null">
@@ -65,12 +67,14 @@
        and wrk_sts &lt; 47
        and memo = 'reset'
        order by appe_time, io_pri desc
        limit 0,1
    </select>
    <select id="selectByWorkNo" resultMap="BaseResultMap">
        select top 1 * from asr_wrk_charge
        select * from asr_wrk_charge
        where wrk_no=#{workNo}
        order by appe_time, io_pri desc
        limit 0,1
    </select>
</mapper>
src/main/resources/mapper/WrkMastMapper.xml
@@ -66,10 +66,6 @@
    </resultMap>
    <select id="selectBySourceLocNo"  resultMap="BaseResultMap">
        select top 1 * from asr_wrk_mast where source_loc_no = #{sourceLocNo}
    </select>
    <select id="selectToBeCompleteData" resultMap="BaseResultMap">
        select * from asr_wrk_mast where ((wrk_sts = 4 Or wrk_sts = 14 ) and io_type != 103 and io_type != 104 and io_type != 107 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,io_time,wrk_no
    </select>
@@ -84,42 +80,16 @@
    </select>
    <select id="selectPakInStep1" resultMap="BaseResultMap">
        select top 1 * from asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=2 and barcode=#{barcode} and (io_type=1 or io_type=10) order by io_pri desc,io_time,wrk_no ASC
        select * from asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=2 and barcode=#{barcode} and (io_type=1 or io_type=10) order by io_pri desc,io_time,wrk_no ASC limit 0,1
    </select>
    <select id="selectPakInStep11" resultMap="BaseResultMap">
        select top 1 * from asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=1 and (io_type=1 or io_type=10) order by io_pri desc,io_time,wrk_no ASC
    </select>
    <select id="selectPickStep" resultMap="BaseResultMap">
        select top 1 * from asr_wrk_mast where wrk_no=#{wrkNo} and wrk_sts=34 and (io_type=103 or io_type=107 or io_type=104)
    </select>
    <select id="selectWorking" resultMap="BaseResultMap">
        select top 1 * from dbo.asr_wrk_mast where 1=1 and (wrk_sts=7 or wrk_sts=16) and crn_no=#{crnNo} order by io_time,wrk_no
    </select>
    <select id="selectAll" resultMap="BaseResultMap">
        select * from dbo.asr_wrk_mast where 1=1
        and wrk_sts!=1 and wrk_sts!=11
        and wrk_sts!=18 and wrk_sts!=9 and wrk_sts &lt; 20 and io_type!=11
        and source_sta_no=#{staNo}
    </select>
    <select id="selectRackInStep4" resultMap="BaseResultMap">
        select top 1 *
        from dbo.asr_wrk_mast
        where 1=1
        and wrk_sts = 4
        and sta_no = #{staNo}
        and wrk_no=#{workNo}
        and io_type in (1,10,53)
        order by io_pri desc,wrk_sts desc
        select * from asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=1 and (io_type=1 or io_type=10) order by io_pri desc,io_time,wrk_no ASC limit 0,1
    </select>
    <select id="selectInStep4" resultMap="BaseResultMap">
        select *
        from dbo.asr_wrk_mast
        from asr_wrk_mast
        where 1=1
        and wrk_sts = 4
        and io_type in (1,10,53,57)
@@ -127,46 +97,48 @@
    </select>
    <select id="selectByWorkNo" resultMap="BaseResultMap">
        select top 1 * from dbo.asr_wrk_mast
        select * from dbo.asr_wrk_mast
        where wrk_no=#{workNo}
        limit 0,1
    </select>
    <select id="selectLiftStep223103" resultMap="BaseResultMap">
        select * from dbo.asr_wrk_mast
        select * from asr_wrk_mast
        where 1=1
        and wrk_sts in (2,23,103)
        order by io_pri desc,wrk_sts desc
    </select>
    <select id="selectByWorkNo324104" resultMap="BaseResultMap">
        select top 1 * from dbo.asr_wrk_mast
        select * from asr_wrk_mast
        where wrk_no=#{workNo}
        and wrk_sts in (3,24,103,106)
        limit 0,1
    </select>
    <select id="selectBy2125" resultMap="BaseResultMap">
        select * from dbo.asr_wrk_mast
        select * from asr_wrk_mast
        where wrk_sts in (21,25)
        and io_type in (101,103,107,110)
        order by io_pri desc,wrk_sts desc
    </select>
    <select id="selectNoShuttleWrkByLev" resultMap="BaseResultMap">
        select * from dbo.asr_wrk_mast
        select * from asr_wrk_mast
        where shuttle_no is null
        and ((wrk_sts = 2 and loc_no like #{lev}) or (wrk_sts = 21 and source_loc_no like #{lev}))
        order by io_pri desc,wrk_sts desc
    </select>
    <select id="selectShuttleWrkByLev" resultMap="BaseResultMap">
        select * from dbo.asr_wrk_mast
        select * from asr_wrk_mast
        where shuttle_no is not null
        and ((wrk_sts not in (9,10)  and loc_no like #{lev}) or (wrk_sts not in (29,30) and source_loc_no like #{lev}))
        order by io_pri desc,wrk_sts desc
    </select>
    <select id="selectShuttleOutWrkByLev" resultMap="BaseResultMap">
        select * from dbo.asr_wrk_mast
        select * from asr_wrk_mast
        where shuttle_no is not null
        and (wrk_sts not in (29,30) and source_loc_no like #{lev})
        order by io_pri desc,wrk_sts desc
@@ -176,13 +148,6 @@
        select top 1 * from asr_wrk_mast
        where lift_no = #{liftNo}
        and wrk_sts in (3,4,24,25,102,103,104,105,106,107,108,109)
    </select>
    <select id="selectInOutWrkMast" resultMap="BaseResultMap">
        select * from asr_wrk_mast
        where io_type in (1,101)
        and wrk_sts not in (9,10,29,30)
        order by io_pri desc,wrk_sts desc
    </select>
    <select id="selectLocToLocWrkMast" resultMap="BaseResultMap">
@@ -201,7 +166,7 @@
    </select>
    <select id="selectShuttleHasMoveWorking" resultMap="BaseResultMap">
        select top 1 * from dbo.asr_wrk_mast
        select top 1 * from asr_wrk_mast
        where 1=1
        and shuttle_no = #{shuttleNo}
        and wrk_sts not in (111)
@@ -210,7 +175,7 @@
    </select>
    <select id="selectShuttleMoveWrk" resultMap="BaseResultMap">
        select * from dbo.asr_wrk_mast
        select * from asr_wrk_mast
        where 1=1
        and wrk_sts in (101,103,105,107,109,111)
        and io_type = 200
@@ -218,7 +183,7 @@
    </select>
    <select id="selectShuttleWorking" resultMap="BaseResultMap">
        select top 1 * from dbo.asr_wrk_mast
        select top 1 * from asr_wrk_mast
        where 1=1
        and shuttle_no = #{shuttleNo}
        and wrk_sts not in (9,10,23,29,30)
@@ -227,14 +192,14 @@
    </select>
    <select id="selectByBarcode" resultMap="BaseResultMap">
        select top 1 * from dbo.asr_wrk_mast
        select top 1 * from asr_wrk_mast
        where 1=1
        and barcode = #{barcode}
        order by io_pri desc,io_time,wrk_no asc
    </select>
    <select id="selectInWrkMastByLiftNo" resultMap="BaseResultMap">
        select * from dbo.asr_wrk_mast
        select * from asr_wrk_mast
        where 1=1
        and lift_no = #{liftNo}
        and io_type &lt;= 100
@@ -242,10 +207,4 @@
        order by io_pri desc,io_time,wrk_no asc
    </select>
    <select id="select300Wrk" resultMap="BaseResultMap">
        select * from asr_wrk_mast
        where (source_sta_no in (300) and io_type > 100)
        or (source_sta_no in (341) and wrk_sts = 2)
        or (sta_no in (300) and shuttle_no is not null)
    </select>
</mapper>