yangys
2025-07-08 ffd5abc74eea1f6ee6433ac11e401aaa57bcc4ab
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/AutoAssignUsersService.java
@@ -1,28 +1,44 @@
package org.springblade.mdm.flow.excution;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.AllArgsConstructor;
import org.springblade.mdm.basesetting.producedivision.entity.ProduceDivision;
import org.springblade.mdm.basesetting.producedivision.mapper.ProduceDivisionMapper;
import org.springblade.mdm.basesetting.producedivision.service.ProduceDivisionService;
import org.springblade.mdm.flow.vo.TaskAssignVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
/**
 * 获取自动匹配的专业组长,编制人员,教研员,和高师
 */
@AllArgsConstructor
@Service
public class AutoAssignUsersService {
   @Autowired
   private ProduceDivisionMapper planMapper;
   public Map<String,Object> autoAssignUsers(long producePlanId){
      ProduceDivision pplan = planMapper.selectById(producePlanId);
   //private final ProduceDivisionMapper divMapper;
   private final ProduceDivisionService divService;
   public Map<String,Object> autoAssignUsers(TaskAssignVO startVO){
      LambdaQueryWrapper<ProduceDivision> queryWrapper = new LambdaQueryWrapper<>();
      queryWrapper.eq(ProduceDivision::getDrawingNo,startVO.getDrawingNo());
      Optional<ProduceDivision> optDiv = divService.getOneOpt(queryWrapper);
      if(!optDiv.isPresent()){
         throw new RuntimeException("未找到主制分工表数据");
      }
      ProduceDivision division = optDiv.get();
      Map<String,Object> result = new HashMap<String,Object>();
      result.put("teamLeader",pplan.getTeamLeaderId());
      result.put("programmer",pplan.getProgrammerId());
      result.put("checker",pplan.getCheckerId());
      result.put("senior",pplan.getSeniorId());
      result.put("teamLeader",division.getTeamLeaderId());
      result.put("programmer",division.getProgrammerId());
      result.put("checker",division.getCheckerId());
      result.put("senior",division.getSeniorId());
      return result;
   }
}