自动化立体仓库 - WMS系统
chen.llin
12 小时以前 7692db6072ef569b5734d218cb11fa82e80171d1
src/main/java/com/zy/asrs/service/impl/TaskLogServiceImpl.java
@@ -1,20 +1,23 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.exception.CoolException;
import com.zy.asrs.entity.Task;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.WrkMastLog;
import com.zy.asrs.mapper.TaskLogMapper;
import com.zy.asrs.entity.TaskDetl;
import com.zy.asrs.entity.TaskDetlLog;
import com.zy.asrs.entity.TaskLog;
import com.zy.asrs.mapper.TaskLogMapper;
import com.zy.asrs.service.TaskDetlLogService;
import com.zy.asrs.service.TaskDetlService;
import com.zy.asrs.service.TaskLogService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.service.TaskService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Objects;
@Service("taskLogService")
@@ -22,6 +25,10 @@
    @Autowired
    private TaskService taskService;
    @Autowired
    private TaskDetlService taskDetlService;
    @Autowired
    private TaskDetlLogService taskDetlLogService;
    /**
     * @author Ryan
@@ -32,18 +39,33 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean save(Integer wrkNo) {
        Task task = taskService.selectOne(new EntityWrapper<Task>().eq("wrk_no", wrkNo));
        Task task = taskService.selectOne(new EntityWrapper<Task>()
                .eq("wrk_no", wrkNo)
                .andNew("(is_deleted = 0)"));
        if (Objects.isNull(task)) {
            throw new CoolException("数据错误:任务不存在!!");
        }
        TaskLog taskLog = new TaskLog();
        BeanUtils.copyProperties(task, taskLog);
        taskLog.setLogId(task.getId());
        if (!this.insert(taskLog)) {
            throw new CoolException("任务日志保存失败!!");
        }
        return false;
        List<TaskDetl> detls = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", wrkNo));
        // 空托入库(io_type=10)和空托出库(io_type=110)可能没有明细,允许为空
        if (Objects.nonNull(detls) && !detls.isEmpty()) {
            detls.forEach(detl -> {
                TaskDetlLog detlLog = new TaskDetlLog();
                BeanUtils.copyProperties(detl, detlLog);
                detlLog.setId(null);
                detlLog.setTaskID(taskLog.getId());
                if (!taskDetlLogService.insert(detlLog)) {
                    throw new CoolException("工作档明细历史保存失败!!");
                }
            });
        }
        return true;
    }
}