自动化立体仓库 - WCS系统
#
LSH
2023-10-19 1e18d2f1734062a38176e22113f2b65ad8aa2024
#
4个文件已修改
37 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/TaskWrkMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
@@ -20,11 +20,14 @@
    TaskWrk selectPakIn(@Param("crnNo") Integer crnNo, @Param("workNo") Integer workNo, @Param("startPoint") String startPoint);
    List<TaskWrk> selectPakOut(@Param("crnNo") Integer crnNo, @Param("targetPoint") String targetPoint);
    List<TaskWrk> selectPakOut3(@Param("crnNo") Integer crnNo, @Param("targetPoint") String targetPoint);
    List<TaskWrk> selectPakOutIoType(@Param("crnNo") Integer crnNo);
    WrkMast selectCrnWorking(@Param("crnNo") Integer crnNo);
    TaskWrk selectCrnWorking(@Param("crnNo") Integer crnNo);
    TaskWrk selectCrnNoWorking(@Param("crnNo") Integer crnNo,@Param("workNo") Integer workNo);
    List<TaskWrk> selectToBeHistoryData();
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -487,7 +487,7 @@
     */
    public void locToLoc(CrnSlave slave, CrnProtocol crnProtocol){
        for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
            // 获取工作状态为11(生成出库ID)的出库工作档
            // 获取工作状态为11(生成出库ID)的移库工作档
            List<TaskWrk> taskWrks = taskWrkMapper.selectPakOut3(slave.getId(), crnStn.getStaNo().toString());
            for (TaskWrk taskWrk : taskWrks){
                if (taskWrk == null) {
@@ -618,23 +618,22 @@
            //  状态:等待确认 并且  任务完成位 = 1
            if (crnProtocol.getTaskFinish() == 1 && crnProtocol.getTaskNo() != 0) {
                // 获取入库待确认工作档
                WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue());
                if (wrkMast == null) {
                TaskWrk taskWrk = taskWrkMapper.selectCrnNoWorking(crn.getId(),crnProtocol.getTaskNo().intValue());
                if (taskWrk == null) {
                    log.error("堆垛机处于等待确认且任务完成状态,但未找到工作档。堆垛机号={},工作号={}", crn.getId(), crnProtocol.getTaskNo());
                    continue;
                }
                // 入库 + 库位转移  ==> 4.入库完成
                if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
                    wrkMast.setWrkSts(4L);
                if (taskWrk.getWrkSts() == 3 || (taskWrk.getWrkSts() == 12 && taskWrk.getIoType() == 3)) {
                    taskWrk.setWrkSts(4);
                } else {
                    continue;
                }
                Date now = new Date();
                wrkMast.setCrnEndTime(now);
                wrkMast.setModiTime(now);
                Integer integerWrkMast = wrkMastMapper.updateById(wrkMast);
                taskWrk.setModiTime(now);
                Integer integerTaskWrk = taskWrkMapper.updateById(taskWrk);
                // 修改成功后复位堆垛机
                if (integerWrkMast > 0) {
                if (integerTaskWrk > 0) {
                    // 堆垛机复位
                    crnThread.setResetFlag(true);
                }
src/main/java/com/zy/core/MainProcess.java
@@ -44,7 +44,7 @@
                    }
                    // 演示
                    mainService.crnDemoOfLocMove1();
//                    mainService.crnDemoOfLocMove1();
                    // 入库  ===>> 入库站到堆垛机站,根据条码扫描生成入库工作档
//                    mainService.generateStoreWrkFile(); // 组托
                    // 出库  ===>>  堆垛机出库站到出库站
@@ -57,9 +57,9 @@
                    // 堆垛机异常信息记录
                    mainService.recCrnErr();
                    // 入库  ===>> 空栈板初始化入库,叉车入库站放货
                    mainService.storeEmptyPlt();
//                    mainService.storeEmptyPlt();
                    mainService.outOfDevp();
//                    mainService.outOfDevp();
                    // 其他  ===>> // 入出库模式切换函数
                    i++;
src/main/resources/mapper/TaskWrkMapper.xml
@@ -82,6 +82,15 @@
        order by io_pri desc,create_time,wrk_no ASC
    </select>
    <select id="selectCrnNoWorking" resultMap="BaseResultMap">
        select top 1 * from dbo.wcs_task_wrk
        where 1=1
        and (wrk_sts=3 or wrk_sts=12)
        and crn_no=#{crnNo}
        and wrk_no=#{workNo}
        order by io_pri desc,create_time,wrk_no ASC
    </select>
    <select id="selectToBeHistoryData" resultMap="BaseResultMap">
        select * from dbo.wcs_task_wrk
        where 1=1