package org.springblade.mdm.basesetting.producedivision.service; 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.mp.support.Query; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.mdm.basesetting.producedivision.entity.ProduceDivision; import org.springblade.mdm.basesetting.producedivision.mapper.ProduceDivisionMapper; import org.springblade.mdm.basesetting.producedivision.vo.ProduceDivisionVO; import org.springblade.mdm.basesetting.producedivision.vo.ProduceDivisionViewVO; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service public class ProduceDivisionService extends BizServiceImpl { /** * 新增分工表 * @param vo */ @Transactional public void saveDivision(ProduceDivisionVO vo){ if(drawingNoExists(vo.getDrawingNo(),null)){ throw new ServiceException("图号已存在:"+vo.getDrawingNo()); } ProduceDivision plan = new ProduceDivision(); BeanUtil.copyProperties(vo, plan); this.save(plan); } /** * 判断图号是否已存在 * @param drawingNo 图号 * @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; } /** * 修改分工表 * @param vo 数据VO * @return 是否成功 */ public boolean updateDivision(ProduceDivisionVO vo) { 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()); plan.setTeamLeaderId(vo.getTeamLeaderId()); plan.setProgrammerId(vo.getProgrammerId()); plan.setCheckerId(vo.getCheckerId()); plan.setSeniorId(vo.getSeniorId()); return this.updateById(plan); } /** * 查询分页 * @param query 查询参数 * @return 分页数据 */ public IPage pageQuery(String name, Query query) { return this.getBaseMapper().pageQuery(Condition.getPage(query),name); } }