TaskAssignServiceImpl.java 2.03 KB
package com.huaheng.api.erp.server;


import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.huaheng.api.erp.domain.WebserviceResult;
import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;

public class TaskAssignServiceImpl implements TaskAssignService {

    @Resource
    private TaskHeaderService taskHeaderService;

    @Override
    public String taskAssign(String locationList) {
        String[] locations = locationList.split(",");
        List<Integer> executeList=  new ArrayList<>();
        for (String locationCode : locations) {
            if (locationCode == null || locationCode.equals("")) {
                return WebserviceResult.error("库位号不能为空");
            }
            LambdaQueryWrapper<TaskHeader> task1Wrappers = Wrappers.lambdaQuery();
            task1Wrappers.eq(TaskHeader::getToLocation, locationCode)
                    .le(TaskHeader::getStatus, 1);
            TaskHeader taskHeader1 = taskHeaderService.getOne(task1Wrappers);
            LambdaQueryWrapper<TaskHeader> task2Wrappers = Wrappers.lambdaQuery();
            task2Wrappers.eq(TaskHeader::getFromLocation, locationCode)
                    .le(TaskHeader::getStatus, 1);
            TaskHeader taskHeader2 = taskHeaderService.getOne(task2Wrappers);
            if (taskHeader1 == null && taskHeader2 == null) {
                return WebserviceResult.error("该库位不存在正在执行的任务");
            }
            if (taskHeader1 != null && taskHeader2 == null) {
                executeList.add(taskHeader1.getId());
            }
            if (taskHeader1 == null && taskHeader2 != null) {
                executeList.add(taskHeader2.getId());
            }
        }
        taskHeaderService.sendTaskToWcs(executeList.toArray(new Integer[0]));
        return WebserviceResult.success("成功");
    }
}