luxiaotao1123
2021-08-11 4f52d6157759838428fbfaddbb336bb2efda289c
#盘点回滚
2个文件已修改
66 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkMastMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -1,7 +1,6 @@
package com.zy.asrs.task.handler;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
@@ -32,14 +31,12 @@
    private LocDetlService locDetlService;
    @Autowired
    private WaitPakinService waitPakinService;
    @Autowired
    private BasDevpService basDevpService;
    public ReturnT<String> start(WrkMast wrkMast) {
        // 4.入库完成
        if (wrkMast.getWrkSts() == 4) {
            return doIn(wrkMast);
        // 14.出库完成
            // 14.出库完成
        } else  if (wrkMast.getWrkSts() == 14) {
            return doOut(wrkMast);
        }
@@ -218,21 +215,17 @@
                        }
                    }
                    // todo:luxiaotao 3)修改盘点通知档 status ==> Y
                    // 入库阻塞库位移转标记
                    if (Cools.isEmpty(wrkMast.getCtnNo()) || !wrkMast.getCtnNo().equals("Y")) {
                        // 修改源库位状态 ==> O
                        LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
                        if (null != sourceLoc) {
                            sourceLoc.setBarcode("");
                            sourceLoc.setLocSts("O");
                            sourceLoc.setModiTime(now);
                            sourceLoc.setIoTime(now);
                            if (!locMastService.updateById(sourceLoc)) {
                                exceptionHandle("库位移转 ===>> 修改源库位状态失败;[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                            }
                    // 修改源库位状态 ==> O
                    LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
                    if (null != sourceLoc) {
                        sourceLoc.setBarcode("");
                        sourceLoc.setLocSts("O");
                        sourceLoc.setModiTime(now);
                        sourceLoc.setIoTime(now);
                        if (!locMastService.updateById(sourceLoc)) {
                            exceptionHandle("库位移转 ===>> 修改源库位状态失败;[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                        }
                    }
                    // 修改目标库位状态 ==> .locSts
                    locMast.setLocSts(locSts);
                    locMast.setBarcode(wrkMast.getBarcode());
@@ -291,12 +284,6 @@
                            exceptionHandle("全板出库 ===>> 修改源库位状态失败;[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                        }
                    }
                    // 修改工作主档状态
                    wrkMast.setWrkSts(15L);
                    wrkMast.setModiTime(now);
                    if (!wrkMastService.updateById(wrkMast)) {
                        exceptionHandle("更新出库完成状态失败;[workNo={0}]", wrkMast.getWrkNo());
                    }
                    break;
                // 空板出库
                case 110:
@@ -310,29 +297,16 @@
                            exceptionHandle("空板出库 ===>> 修改源库位状态失败;[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                        }
                    }
                    // 修改工作主档状态
                    wrkMast.setWrkSts(15L);
                    wrkMast.setModiTime(now);
                    if (!wrkMastService.updateById(wrkMast)) {
                        exceptionHandle("更新出库完成状态失败;[workNo={0}]", wrkMast.getWrkNo());
                    }
                    break;
                // 盘点出库
                case 107:
                    BasDevp basDevp = basDevpService.selectById(wrkMast.getStaNo());
                    if (basDevp.getWrkNo().equals(wrkMast.getWrkNo())) {
                        // 修改工作主档状态
                        wrkMast.setWrkSts(15L);
                        wrkMast.setModiTime(now);
                        if (!wrkMastService.updateById(wrkMast)) {
                            exceptionHandle("更新出库完成状态失败;[workNo={0}]", wrkMast.getWrkNo());
                        }
                    }
                    break;
                default:
                    break;
            }
            // 修改工作主档状态
            wrkMast.setWrkSts(15L);
            wrkMast.setModiTime(now);
            if (!wrkMastService.updateById(wrkMast)) {
                exceptionHandle("更新出库完成状态失败;[workNo={0}]", wrkMast.getWrkNo());
            }
        } catch (Exception e) {
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
src/main/resources/mapper/WrkMastMapper.xml
@@ -63,15 +63,15 @@
    </resultMap>
    <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 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,io_time,wrk_no
        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>
    <select id="selectToBeHistoryData" resultMap="BaseResultMap">
        select * from asr_wrk_mast
        where wrk_sts=5
        or (wrk_sts=15 and io_type!=107 and ove_mk='Y' and wrk_no not in (select wrk_no from asr_bas_devp))
        or (wrk_sts=15 and io_type!=107 and dateadd(mi,15,crn_end_time) &lt;= getdate() and wrk_no not in (select wrk_no from asr_bas_devp))
        or (wrk_sts=15 and io_type!=107 and crn_end_time is null and wrk_no not in (select wrk_no from asr_bas_devp))
        or (wrk_sts=15 and ove_mk='Y' and wrk_no not in (select wrk_no from asr_bas_devp))
        or (wrk_sts=15 and dateadd(mi,15,crn_end_time) &lt;= getdate() and wrk_no not in (select wrk_no from asr_bas_devp))
        or (wrk_sts=15 and crn_end_time is null and wrk_no not in (select wrk_no from asr_bas_devp))
        order by io_time,wrk_no asc
    </select>