|  |  | 
 |  |  | import com.doumee.core.utils.Utils; | 
 |  |  | import com.doumee.dao.business.*; | 
 |  |  | import com.doumee.dao.business.dto.*; | 
 |  |  | import com.doumee.dao.business.join.DispatchUnitJoinMapper; | 
 |  |  | import com.doumee.dao.business.join.DuLogJoinMapper; | 
 |  |  | import com.doumee.dao.business.join.DuSolutionJoinMapper; | 
 |  |  | import com.doumee.dao.business.join.DuWorkTypeJoinMapper; | 
 |  |  | import com.doumee.dao.business.join.*; | 
 |  |  | import com.doumee.dao.business.model.*; | 
 |  |  | import com.doumee.dao.system.model.SystemUser; | 
 |  |  | import com.doumee.service.business.DispatchUnitService; | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private DuSolutionMapper duSolutionMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SolutionWorktypeJoinMapper solutionWorktypeJoinMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private DuWorktypeMapper    duWorktypeMapper; | 
 |  |  | 
 |  |  |         dispatchUnitMapper.updateById(update); | 
 |  |  |         if(Constants.equalsInteger(param.getWorktypeStatus(),Constants.ONE)){ | 
 |  |  |             //审核通过,修改状态,产生历史版本 | 
 |  |  |             newVersionData(dispatchUnitMapper.selectById(param.getId()),update,false); | 
 |  |  |             newVersionData(model,update,false); | 
 |  |  |             //存储操作历史 | 
 |  |  |             this.saveDuLog(update,Constants.DispatchUnitLogType.WORK_TYPE_AUDIT_PASS,update.getCheckInfo()); | 
 |  |  |  | 
 |  |  |         }else{ | 
 |  |  |             //更新明细数据为审核失败 | 
 |  |  |             duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda() | 
 |  |  | 
 |  |  |             newVersion = dispatchUnitMapper.selectOne(new QueryWrapper<DispatchUnit>().lambda() | 
 |  |  |                     .eq(DispatchUnit::getIsdeleted,Constants.ZERO) | 
 |  |  |                     .eq(DispatchUnit::getDataType,Constants.TWO) | 
 |  |  |                     .eq(DispatchUnit::getBaseId,model.getId()).last(" limit 1")); | 
 |  |  |                     .eq(DispatchUnit::getBaseId,model.getId()) | 
 |  |  |                     .last(" limit 1")); | 
 |  |  |         } | 
 |  |  |         if(Objects.isNull(newVersion)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到派遣单位最新版本"); | 
 |  |  | 
 |  |  |     public Integer create(SaveDispatchUnitDTO saveDispatchUnitDTO) { | 
 |  |  |         if(Objects.isNull(saveDispatchUnitDTO) | 
 |  |  |             || StringUtils.isEmpty(saveDispatchUnitDTO.getName()) | 
 |  |  |             || StringUtils.isEmpty(saveDispatchUnitDTO.getCode()) | 
 |  |  |             || StringUtils.isEmpty(saveDispatchUnitDTO.getContent()) | 
 |  |  |             || CollectionUtils.isEmpty(saveDispatchUnitDTO.getSaveDuSolutionDTOList()) | 
 |  |  |         ){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  | 
 |  |  |         )> Constants.ZERO){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【派遣单位名称】已存在"); | 
 |  |  |         }; | 
 |  |  |         if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda() | 
 |  |  |                 .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) | 
 |  |  |                 .eq(DispatchUnit::getCode,saveDispatchUnitDTO.getCode()) | 
 |  |  |                 .eq(DispatchUnit::getIsdeleted,Constants.ZERO) | 
 |  |  |         )> Constants.ZERO){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【派遣单位信用代码】已存在"); | 
 |  |  |         }; | 
 |  |  | //        if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda() | 
 |  |  | //                .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) | 
 |  |  | //                .eq(DispatchUnit::getCode,saveDispatchUnitDTO.getCode()) | 
 |  |  | //                .eq(DispatchUnit::getIsdeleted,Constants.ZERO) | 
 |  |  | //        )> Constants.ZERO){ | 
 |  |  | //            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【派遣单位信用代码】已存在"); | 
 |  |  | //        }; | 
 |  |  |         DispatchUnit dispatchUnit = new DispatchUnit(); | 
 |  |  |         dispatchUnit.setCreateDate(new Date()); | 
 |  |  |         dispatchUnit.setCreator(loginUserInfo.getId()); | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         //存储待办信息 | 
 |  |  |         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT; | 
 |  |  |         //删除其他待办 | 
 |  |  | 
 |  |  |         )> Constants.ZERO){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【派遣单位名称】已存在"); | 
 |  |  |         }; | 
 |  |  |         if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda() | 
 |  |  |                 .ne(DispatchUnit::getId,saveDispatchUnitDTO.getId()) | 
 |  |  |                 .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) | 
 |  |  |                 .eq(DispatchUnit::getCode,saveDispatchUnitDTO.getCode()) | 
 |  |  |                 .eq(DispatchUnit::getIsdeleted,Constants.ZERO) | 
 |  |  |         )> Constants.ZERO){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【派遣单位信用代码】已存在"); | 
 |  |  |         } | 
 |  |  |         dispatchUnit.setCode(saveDispatchUnitDTO.getCode()); | 
 |  |  |         dispatchUnit.setContent(saveDispatchUnitDTO.getContent()); | 
 |  |  |         dispatchUnit.setName(saveDispatchUnitDTO.getName()); | 
 |  |  | 
 |  |  |  | 
 |  |  |         //存储操作记录 | 
 |  |  |         this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.EDIT_UNIT,null); | 
 |  |  |  | 
 |  |  | //        this.dealDuData(saveDispatchUnitDTO,loginUserInfo); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         //存储待办信息 | 
 |  |  |         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT; | 
 |  |  | 
 |  |  |                 if(Objects.isNull(saveDuWorkTypeDTO.getWorkTypeId())){ | 
 |  |  |                     throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【"+saveDuSolutionDTO.getSolutionName()+"】该方案下"+saveDuWorkTypeDTO.getWorkTypeName()+"该工种信息异常"); | 
 |  |  |                 } | 
 |  |  |                 //验证方案与工种的关系 | 
 |  |  |                 if(solutionWorktypeJoinMapper.selectCount(new QueryWrapper<SolutionWorktype>().lambda().eq(SolutionWorktype::getSolutionId,saveDuSolutionDTO.getSolutionId()) | 
 |  |  |                         .eq(SolutionWorktype::getWorktypeId,saveDuWorkTypeDTO.getWorkTypeId()))<=0){ | 
 |  |  |                     throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【"+saveDuSolutionDTO.getSolutionName()+"】该方案下"+saveDuWorkTypeDTO.getWorkTypeName()+"该工种信息无绑定关系"); | 
 |  |  |                 }; | 
 |  |  |                 if(duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>() | 
 |  |  |                         .lambda().eq(DuWorktype::getDuSolutionId,duSolution.getId()) | 
 |  |  |                         .eq(DuWorktype::getIsdeleted,Constants.ZERO) | 
 |  |  | 
 |  |  |                         .eq(DispatchUnit::getStatus,Constants.ZERO) | 
 |  |  |                         .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+dispatchUnitQueryDTO.getSolutionId()+" limit 1) as du_solution_id" ) | 
 |  |  |                         .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) | 
 |  |  |                         .eq(DispatchUnit::getStatus,Constants.ZERO) | 
 |  |  |                         .eq(Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,Constants.TWO) | 
 |  |  |                         .eq(!Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType()) | 
 |  |  |                         .exists(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()), | 
 |  |  |                                 "select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and  b.solution_id="+dispatchUnitQueryDTO.getSolutionId() ) | 
 |  |  |                                 "select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.status = 1 and  b.solution_id="+dispatchUnitQueryDTO.getSolutionId() ) | 
 |  |  |                         .exists(!Objects.isNull(dispatchUnitQueryDTO.getApplyId()), | 
 |  |  |                                 " select 1 from apply_detail ad where ad.isdeleted = 0 and ad.apply_id = "+dispatchUnitQueryDTO.getApplyId()+" " + | 
 |  |  |                                         " and ad.du_id = t.id ") |