yangys
2025-09-09 3d558e1bb5091b76a6525f6fab015574e1755200
blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/ProduceDivisionService.java
@@ -9,6 +9,7 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.mdm.basesetting.producedivision.entity.ProduceDivision;
import org.springblade.mdm.basesetting.producedivision.entity.QinzheFgb;
import org.springblade.mdm.basesetting.producedivision.mapper.ProduceDivisionMapper;
import org.springblade.mdm.basesetting.producedivision.vo.DivisionExcel;
import org.springblade.mdm.basesetting.producedivision.vo.ImportResult;
@@ -26,15 +27,19 @@
public class ProduceDivisionService extends BizServiceImpl<ProduceDivisionMapper, ProduceDivision> {
   @Autowired
   private MdmUserService tUserService;
   @Autowired
   private QinzheFgbService qinzheFgbService;
   /**
    * 新增分工表
    * @param vo
    */
   @Transactional
   public void saveDivision(ProduceDivisionVO vo){
      if(drawingNoExists(vo.getDrawingNo(),null)){
      /*
      if(drawingNoExists(vo.getpro,null)){
         throw new ServiceException("图号已存在:"+vo.getDrawingNo());
      }
      }*/
      ProduceDivision plan = new ProduceDivision();
      BeanUtil.copyProperties(vo, plan);
      this.save(plan);
@@ -46,11 +51,12 @@
    * @param excludeId 排除id
    * @return 是否存在
    */
   /*
   boolean drawingNoExists(String drawingNo,Long excludeId){
      return this.lambdaQuery()
         .eq(ProduceDivision::getDrawingNo, drawingNo)
         .ne(excludeId!=null,ProduceDivision::getId,excludeId).count()>0;
   }
   }*/
   /**
    * 修改分工表
@@ -61,9 +67,10 @@
      if(vo.getId() == null){
         throw new ServiceException("id不能未空");
      }
      /*
      if(drawingNoExists(vo.getDrawingNo(),vo.getId())){
         throw new ServiceException("图号已存在:"+vo.getDrawingNo());
      }
      }*/
      ProduceDivision plan = this.getById(vo.getId());
@@ -154,12 +161,37 @@
         .eq(ProduceDivision::getTeamLeaderId,division.getTeamLeaderId()).count()>0;
   }
   public ProduceDivision getByDrawingNo(String drawingNo){
      List<ProduceDivision> divs = lambdaQuery().eq(ProduceDivision::getDrawingNo, drawingNo).list();
      if(divs.isEmpty()){
         return null;
      }else{
         return divs.get(0);
   /**
    * 根据勤哲零件号于主管编制获取分工表数据 图号->勤哲数据(编制) ->  主制分工表数据
    *
    * @param drawingNo
    * @return
    */
   public ProduceDivision getByDrawingNoWithQinzhe(String drawingNo){
      QinzheFgb qinzheFgb = qinzheFgbService.getByLjh(drawingNo);
      if(qinzheFgb == null){
         throw new ServiceException("未找到零组件号:"+drawingNo);
      }
      Long programmerId = tUserService.getUserIdByName(qinzheFgb.getZggy());
      if(programmerId == null){
         throw new ServiceException("根据["+qinzheFgb.getZggy()+"]未找到对应的系统用户,请检查用户是否存在");
      }
      ProduceDivision division = lambdaQuery().eq(ProduceDivision::getProgrammerId, programmerId).list().stream().findFirst().orElse(null);
      if(division == null){
         throw new ServiceException("人员职责表无主管工艺["+qinzheFgb.getZggy()+"]对应的数据");
      }
      return division;
   }
   /**
    * 选择主管工艺数据
    * @param programmer
    * @return
    */
    public List<ProduceDivisionViewVO> queryProgrammer(String programmer) {
      return baseMapper.queryProgrammer(programmer);
    }
}