skyouc
昨天 95549a8f8a6a64ed7fc822f275e5c8b8d4e5c0ae
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CheckOrderSchedules.java
@@ -4,11 +4,9 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.enums.CheckDiffExceStatus;
import com.vincent.rsf.server.manager.enums.CheckExceStatus;
import com.vincent.rsf.server.manager.enums.TaskStsType;
import com.vincent.rsf.server.manager.enums.TaskType;
import com.vincent.rsf.server.manager.enums.*;
import com.vincent.rsf.server.manager.service.*;
import com.vincent.rsf.server.manager.service.impl.LocServiceImpl;
import com.vincent.rsf.server.system.utils.SystemAuthUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -40,6 +38,8 @@
    private CheckOrderService checkOrderService;
    @Autowired
    private CheckOrderItemService checkOrderItemService;
    @Autowired
    private LocServiceImpl locService;
    /**
     * @author Ryan
@@ -51,7 +51,7 @@
    @Transactional(rollbackFor = Exception.class)
    public void genReCheck() {
        List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>()
                .notExists("SELECT 1 FROM man_check_diff_item cdi WHERE id = cdi.task_item_id"));
                .notExists("SELECT 1 FROM man_check_diff_item cdi WHERE id != cdi.task_item_id"));
        if (taskItems.isEmpty()) {
            return;
        }
@@ -83,6 +83,10 @@
            List<CheckDiffItem> diffItems = new ArrayList<>();
            CheckDiff finalCheckDiff = checkDiff;
            items.forEach(item -> {
                Task task = taskService.getById(item.getTaskId());
                if (Objects.isNull(task)) {
                    throw new CoolException("数据错误:任务不存在!!");
                }
                CheckDiffItem checkDiffItem = new CheckDiffItem();
                BeanUtils.copyProperties(item, checkDiffItem);
                checkDiffItem.setCheckId(finalCheckDiff.getId())
@@ -90,10 +94,25 @@
                        .setTaskId(item.getTaskId())
                        .setCreateBy(loginUserId)
                        .setCreateTime(new Date())
                        .setBarcode(task.getBarcode())
                        .setUpdateBy(loginUserId)
                        .setUpdateTime(new Date())
                        .setOrderCode(finalCheckDiff.getOrderCode());
                diffItems.add(checkDiffItem);
                if (Objects.isNull(finalCheckDiff.getAreaId())) {
                    Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>()
                            .eq(Loc::getCode, task.getOrgLoc())
                            .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_R.type));
                    if (Objects.isNull(loc)) {
                        throw new CoolException("盘点库位不存在!!");
                    }
                    finalCheckDiff.setAreaId(loc.getAreaId()).setAreaName(loc.getAreaId$());
                    if (!checkDiffService.updateById(finalCheckDiff)) {
                        throw new CoolException("库区信息修改失败!!");
                    }
                }
            });
           if (!checkDiffItemService.saveBatch(diffItems)) {