yangys
2025-08-06 1911be8941e5fe2705c2c56e74e52bd426468793
blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/MachineService.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BizServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.utils.BeanUtil;
@@ -25,13 +26,56 @@
   @Transactional
   public void saveMachine(MachineSaveVO vo){
      //TODO
      checkMachine(vo);
      if(existsByCode(vo.getCode(),null)){
         throw new ServiceException("机床编码已存在:"+vo.getCode());
      }
      Machine machine = new Machine();
      BeanUtil.copyProperties(vo, machine);
      machine.setId(null);
      this.save(machine);
   }
   /**
    * 检查机床录入数据
    * @param vo 录入的表单数据VO
    */
   void checkMachine(MachineSaveVO vo){
      if(Func.isEmpty(vo.getCode())){
         throw new ServiceException("机床编码不能为空");
      }
      if(Func.isEmpty(vo.getName())){
         throw new ServiceException("机床类型不能为空");
      }
      if(Func.isEmpty(vo.getMachineGroupCode())){
         throw new ServiceException("所属组织不能为空");
      }
      if(Func.isEmpty(vo.getMachineSpec())){
         throw new ServiceException("机床类型不能为空");
      }
   }
   /**
    * 根据机床编码判断机床是否存在
    * @param code 机床编码
    * @param excludeId 排除id
    * @return 是否存在
    */
   boolean existsByCode(String code,Long excludeId){
      return this.lambdaQuery().eq(Machine::getCode, code).ne(excludeId!=null,Machine::getId, excludeId).count()>0;
   }
   public boolean updateMachine(MachineSaveVO vo) {
      checkMachine(vo);
      if(existsByCode(vo.getCode(),vo.getId())){
         throw new ServiceException("机床编码已存在:"+vo.getCode());
      }
      Machine machine = this.getById(vo.getId());
      machine.setMachineSpec(vo.getMachineSpec());