自动化立体仓库 - WMS系统
skyouc
5 天以前 08915b05c42b2ba97a8bb0809aeb48802ae63b46
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -5,6 +5,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.enums.TaskStatusType;
import com.zy.asrs.service.*;
import com.zy.asrs.service.impl.OrderPakinServiceImpl;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.OrderInAndOutUtil;
@@ -17,6 +18,7 @@
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
/**
 * Created by vincent on 2020/7/6
@@ -47,6 +49,8 @@
    private TaskDetlService taskDetlService;
    @Autowired
    private TaskDetlLogService taskDetlLogService;
    @Autowired
    private OrderPakinService orderPakinService;
    @Transactional(rollbackFor = Exception.class)
    public ReturnT<String> start(WrkMast wrkMast) {
@@ -62,7 +66,15 @@
                        if (wrkMast.getIoType() ==  1 || wrkMast.getIoType() == 8 ||  wrkMast.getIoType() == 54 ||  wrkMast.getIoType() == 104){
                            OrderInAndOutUtil.checkComplete(Boolean.TRUE,wrkDetl.getOrderNo());
                        } else {
                            OrderInAndOutUtil.checkComplete(Boolean.FALSE,wrkDetl.getOrderNo());
                            OrderPakin orderPakin = orderPakinService.selectOne(new EntityWrapper<OrderPakin>()
                                    .eq("order_no", wrkDetl.getOrderNo())
                                    .in("doc_type", 7));
                            if (!Objects.isNull(orderPakin)) {
                                OrderInAndOutUtil.checkComplete(Boolean.TRUE, orderPakin.getOrderNo());
                            }
                        }
                        iterator.remove();
                    }
@@ -119,10 +131,13 @@
            }
            // 保存工作明细档历史档
            if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
                log.error("保存工作明细历史档[workNo={0}]失败", wrkMast.getWrkNo());
//                exceptionHandle("保存工作明细历史档[workNo={0}]失败", wrkMast.getWrkNo());
            }
            // 删除工作明细档
            if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) {
                log.error("保存工作明细历史档[workNo={0}]失败", wrkMast.getWrkNo());
//                exceptionHandle("删除工作明细档[workNo={0}]失败", wrkMast.getWrkNo());
            }
        } catch (Exception e) {
@@ -205,6 +220,8 @@
            if (!taskService.deleteById(task)) {
                exceptionHandle("删除工作主档[workNo={0}]失败", task.getWrkNo());
            }
            List<TaskDetl> taskDetls2 = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()));
            for (TaskDetl taskDetl :taskDetls2){
                TaskDetlLog taskDetlLog = new TaskDetlLog();
@@ -213,14 +230,16 @@
                taskDetlLog.setId(null);
                // 保存工作明细档历史档
                if (!taskDetlLogService.insert(taskDetlLog)) {
                exceptionHandle("保存工作明细历史档[workNo={0}]失败", task.getWrkNo());
                    log.error("保存工作明细历史档[workNo={0}]失败", task.getWrkNo());
//                    exceptionHandle("保存工作明细历史档[workNo={0}]失败", task.getWrkNo());
                }
                // 删除工作明细档
                if (!taskDetlService.deleteById(taskDetl)) {
                exceptionHandle("删除工作明细档[workNo={0}]失败", task.getWrkNo());
                // 删除工作明细
                }
            }
            if (!taskDetlService.delete(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()))) {
                log.error("保存工作明细历史档[workNo={0}]失败", task.getWrkNo());
//                exceptionHandle("删除工作明细档[workNo={0}]失败", task.getWrkNo());
            }
        } catch (Exception e) {
            log.error("fail", e);