自动化立体仓库 - WMS系统
lty
3 天以前 419c6a9b87b37be567a581d6a80d7e3f505d84e9
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
@@ -12,6 +13,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import javax.annotation.Resource;
import java.util.Iterator;
import java.util.List;
@@ -41,6 +43,9 @@
    @Autowired
    private WrkMastStaLogService wrkMastStaLogService;
    @Resource
    private OrderDetlMapper orderDetlMapper;
    @Transactional
    public ReturnT<String> start(WrkMast wrkMast) {
        try {
@@ -62,18 +67,18 @@
                // 全板入库
                if (wrkMast.getIoType() == 1) {
                    // 入库通知单
                    if (!Cools.isEmpty(wrkMast.getBarcode())) {
                        // 保存入库通知档历史档
                        if (!waitPakinLogService.save(wrkMast.getBarcode())) {
//                            exceptionHandle("保存入库通知档历史档[workNo={0}]失败", wrkMast.getWrkNo());
                            log.error("保存入库通知档历史档[workNo={"+wrkMast.getWrkNo()+"}]失败");
                        }
                        // 删除入库通知档
                        if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()))) {
//                            exceptionHandle("删除入库通知档[workNo={0}]失败", wrkMast.getWrkNo());
                            log.error("删除入库通知档[workNo={"+wrkMast.getWrkNo()+"}]失败");
                        }
                    }
//                    if (!Cools.isEmpty(wrkMast.getBarcode())) {
//                        // 保存入库通知档历史档
//                        if (!waitPakinLogService.save(wrkMast.getBarcode())) {
////                            exceptionHandle("保存入库通知档历史档[workNo={0}]失败", wrkMast.getWrkNo());
//                            log.error("保存入库通知档历史档[workNo={"+wrkMast.getWrkNo()+"}]失败");
//                        }
//                        // 删除入库通知档
//                        if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()))) {
////                            exceptionHandle("删除入库通知档[workNo={0}]失败", wrkMast.getWrkNo());
//                            log.error("删除入库通知档[workNo={"+wrkMast.getWrkNo()+"}]失败");
//                        }
//                    }
//                    // 手动入库生成单据 【 上报三方平台 】
//                    if (!Cools.isEmpty(wrkDetls)) {
//                        if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) {
@@ -90,12 +95,19 @@
                }
            // 出库 --------------------------------------------------------------------------------
            } else if (wrkMast.getWrkSts() == 15) {
//                if (!Cools.isEmpty(wrkDetls)) {
//                    if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
//                        exceptionHandle("生成手动出库单据[workNo={0}]失败", wrkMast.getWrkNo());
//                    }
//                }
            } else if (wrkMast.getWrkSts() == 15 && wrkMast.getIoType() != 110) {
                List<WrkDetl> wrkDetls101 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                if (wrkDetls101.isEmpty()) {
//                        exceptionHandle("全板出库 ===>> 工作明细档为空;[workNo={0}]", wrkMast.getWrkNo());
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return FAIL.setMsg("全板出库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                }
                for (WrkDetl wrkDetl : wrkDetls101) {
                    if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                        // 更新订单完成数量
                        orderDetlMapper.updateOrderDetlQtyByGroupNo(wrkDetl.getOrderNo(), wrkDetl.getBrand());
                    }
                }
            }
            // 保存工作主档历史档