package com.vincent.rsf.server.manager.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.server.api.entity.enums.TaskStsType; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.manager.entity.WaitPakin; import com.vincent.rsf.server.manager.entity.WaitPakinItem; import com.vincent.rsf.server.manager.mapper.TaskMapper; import com.vincent.rsf.server.manager.entity.Task; import com.vincent.rsf.server.manager.service.TaskService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vincent.rsf.server.manager.service.WaitPakinItemService; import com.vincent.rsf.server.manager.service.WaitPakinService; import com.vincent.rsf.server.system.constant.SerialRuleCode; import com.vincent.rsf.server.system.utils.SerialRuleUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @Service("taskService") public class TaskServiceImpl extends ServiceImpl implements TaskService { @Autowired private WaitPakinService waitPakinService; @Autowired private WaitPakinItemService waitPakinItemService; /** * @author Ryan * @description 生成任务列表 * @param * @return * @time 2025/3/29 15:59 */ @Override public R generateTasks(List waitPakin) { if (Objects.isNull(waitPakin) || waitPakin.isEmpty()) { throw new CoolException("参数不能为空!!"); } /**获取组拖*/ List ids = waitPakin.stream().map(WaitPakin::getId).collect(Collectors.toList()); List waitPakins = waitPakinService.list(new LambdaQueryWrapper().in(WaitPakin::getId, ids)); if (waitPakins.isEmpty()) { throw new CoolException("组拖信息不存在!!"); } /**获取组拖明细**/ List waitPakinItems = waitPakinItemService.list(new LambdaQueryWrapper().eq(WaitPakinItem::getPakinId, ids)); if (waitPakinItems.isEmpty()) { throw new CoolException("数据错误:组拖明细不存在"); } Task task = new Task(); String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_TASK_CODE, null); task.setTaskCode(ruleCode).setTaskStatus(TaskStsType.GENERATE_IN.id.shortValue()); return null; } }