自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-10-18 b5130c2e6d60c7f23e37f7c620375bc4e253caa3
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -1,9 +1,11 @@
package com.zy.asrs.task.handler;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
@@ -36,11 +38,11 @@
    private WaitPakinService waitPakinService;
    public ReturnT<String> start(WrkMast wrkMast) {
        // 4.入库完成
        if (wrkMast.getWrkSts() == 4) {
        // 9.入库完成
        if (wrkMast.getWrkSts() == 9) {
            return doIn(wrkMast);
        // 14.出库完成
        } else  if (wrkMast.getWrkSts() == 14) {
            // 17.出库完成
        } else  if (wrkMast.getWrkSts() == 17) {
            return doOut(wrkMast);
        }
        return SUCCESS;
@@ -59,6 +61,9 @@
                case 10:
                    // 修改库位状态=D
                    if (locMast.getLocSts().equals("S") || locMast.getLocSts().equals("Q")) {
                        if (!Cools.isEmpty(wrkMast.getBarcode())) {
                            locMast.setBarcode(wrkMast.getBarcode());
                        }
                        locMast.setLocSts("D");
                        locMast.setIoTime(now);
                        locMast.setModiTime(now);
@@ -102,19 +107,19 @@
                        // 更新入库通知档 ioStatus ===>> Y
                        try {
                            Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
                                    .eq("zpallet", wrkDetl.getZpallet())
                                    .eq("matnr", wrkDetl.getMatnr())
                                    .eq("anfme", wrkDetl.getAnfme());
                            if (Cools.isEmpty(wrkDetl.getBatch())) {
                                wrapper.eq("batch", wrkDetl.getBatch());
                            } else {
                                wrapper.isNull("batch").or().eq("batch", "");
                            }
                            WaitPakin setParam = new WaitPakin();
                            setParam.setIoStatus("Y");
                            setParam.setModiTime(now);
                            waitPakinService.update(setParam, wrapper);
//                            Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
//                                    .eq("zpallet", wrkDetl.getZpallet())
//                                    .eq("matnr", wrkDetl.getMatnr())
//                                    .eq("anfme", wrkDetl.getAnfme());
//                            if (Cools.isEmpty(wrkDetl.getBatch())) {
//                                wrapper.eq("batch", wrkDetl.getBatch());
//                            } else {
//                                wrapper.isNull("batch").or().eq("batch", "");
//                            }
//                            WaitPakin setParam = new WaitPakin();
//                            setParam.setIoStatus("Y");
//                            setParam.setModiTime(now);
//                            waitPakinService.update(setParam, wrapper);
                        } catch (Exception ignore){}
                    }
@@ -204,7 +209,7 @@
                    }
                    // 修改库位状态 Q ====>> F
                    if (locMast.getLocSts().equals("Q")) {
                        locMast.setLocSts("F");
                        locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D");
                        locMast.setBarcode(wrkMast.getBarcode());
                        locMast.setIoTime(now);
                        locMast.setModiTime(now);
@@ -249,7 +254,7 @@
                    break;
            }
            // 修改工作主档状态
            wrkMast.setWrkSts(5L);
            wrkMast.setWrkSts(10L);
            wrkMast.setModiTime(now);
            if (!wrkMastService.updateById(wrkMast)) {
                exceptionHandle("更新入库完成状态失败;[workNo={0}]", wrkMast.getWrkNo());
@@ -274,6 +279,10 @@
            switch (wrkMast.getIoType()) {
                // 全板出库
                case 101:
                    // 出库确认信号位
//                    if (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N")) {
//                        return SUCCESS;
//                    }
                    // 根据工作号,查询工作明细档
                    List<WrkDetl> wrkDetls101 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                    if (wrkDetls101.isEmpty()) {
@@ -314,7 +323,7 @@
                    break;
            }
            // 修改工作主档状态
            wrkMast.setWrkSts(15L);
            wrkMast.setWrkSts(18L);
            wrkMast.setModiTime(now);
            if (!wrkMastService.updateById(wrkMast)) {
                exceptionHandle("更新出库完成状态失败;[workNo={0}]", wrkMast.getWrkNo());