|  |  | 
 |  |  | import com.doumee.core.model.PageWrap; | 
 |  |  | import com.doumee.core.utils.Constants; | 
 |  |  | import com.doumee.core.utils.Utils; | 
 |  |  | import com.doumee.dao.business.DispatchUnitMapper; | 
 |  |  | import com.doumee.dao.business.DuLogMapper; | 
 |  |  | import com.doumee.dao.business.DuSolutionMapper; | 
 |  |  | import com.doumee.dao.business.DuWorktypeMapper; | 
 |  |  | 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; | 
 |  |  | 
 |  |  |     private DuSolutionMapper duSolutionMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SolutionWorktypeJoinMapper solutionWorktypeJoinMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private DuWorktypeMapper    duWorktypeMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SystemDictDataBiz systemDictDataBiz; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private NoticesMapper noticesMapper; | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     @Transactional(rollbackFor = {Exception.class,BusinessException.class}) | 
 |  |  | 
 |  |  |         dispatchUnitMapper.updateById(update); | 
 |  |  |         if(Constants.equalsInteger(param.getWorktypeStatus(),Constants.ONE)){ | 
 |  |  |             //审核通过,修改状态,产生历史版本 | 
 |  |  |             newVersionData(dispatchUnitMapper.selectById(param.getId()),update); | 
 |  |  |             newVersionData(model,update,false); | 
 |  |  |             //存储操作历史 | 
 |  |  |             this.saveDuLog(update,Constants.DispatchUnitLogType.WORK_TYPE_AUDIT_PASS,update.getCheckInfo()); | 
 |  |  |  | 
 |  |  |         }else{ | 
 |  |  |             //更新明细数据为审核失败 | 
 |  |  |             duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda() | 
 |  |  | 
 |  |  |             //存储操作历史 | 
 |  |  |             this.saveDuLog(update,Constants.DispatchUnitLogType.WORK_TYPE_AUDIT_UN_PASS,update.getCheckInfo()); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         //存储待办信息 | 
 |  |  |         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT; | 
 |  |  |         //删除其他待办 | 
 |  |  |         noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId())); | 
 |  |  |  | 
 |  |  |         return  1; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void newVersionData(DispatchUnit model, DispatchUnit update) { | 
 |  |  |         dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda() | 
 |  |  |                 .set(DispatchUnit::getDataType,Constants.ZERO) | 
 |  |  |                 .eq(DispatchUnit::getIsdeleted,Constants.ZERO) | 
 |  |  |                 .eq(DispatchUnit::getBaseId,model.getId())); | 
 |  |  |     private void newVersionData(DispatchUnit model, DispatchUnit update,Boolean flag) { | 
 |  |  |         DispatchUnit newVersion = new DispatchUnit(); | 
 |  |  |         BeanUtils.copyProperties(model, newVersion); | 
 |  |  |         newVersion.setWorktypeStatus(Constants.ONE); | 
 |  |  |         newVersion.setCheckDate(update.getEditDate()); | 
 |  |  |         newVersion.setCheckUserId(update.getCheckUserId()); | 
 |  |  |         newVersion.setCheckInfo(update.getCheckInfo()); | 
 |  |  |         newVersion.setCreateDate(update.getCreateDate()); | 
 |  |  |         newVersion.setCreator(update.getEditor()); | 
 |  |  |         newVersion.setBaseId(model.getBaseId()); | 
 |  |  |         newVersion.setDataType(Constants.TWO); | 
 |  |  |         dispatchUnitMapper.insert(newVersion); | 
 |  |  |  | 
 |  |  |         if(flag){ | 
 |  |  |             dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda() | 
 |  |  |                     .set(DispatchUnit::getDataType,Constants.ZERO) | 
 |  |  |                     .eq(DispatchUnit::getIsdeleted,Constants.ZERO) | 
 |  |  |                     .eq(DispatchUnit::getBaseId,model.getId())); | 
 |  |  |             BeanUtils.copyProperties(model, newVersion); | 
 |  |  |             newVersion.setWorktypeStatus(Constants.ONE); | 
 |  |  |             newVersion.setCheckDate(update.getEditDate()); | 
 |  |  |             newVersion.setCheckUserId(update.getCheckUserId()); | 
 |  |  |             newVersion.setCheckInfo(update.getCheckInfo()); | 
 |  |  |             newVersion.setStatus(Constants.ZERO); | 
 |  |  |             newVersion.setCreateDate(update.getCreateDate()); | 
 |  |  |             newVersion.setCreator(update.getEditor()); | 
 |  |  |             newVersion.setBaseId(model.getId()); | 
 |  |  |             newVersion.setDataType(Constants.TWO); | 
 |  |  |             dispatchUnitMapper.insert(newVersion); | 
 |  |  |         }else{ | 
 |  |  |             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")); | 
 |  |  |         } | 
 |  |  |         if(Objects.isNull(newVersion)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到派遣单位最新版本"); | 
 |  |  |         } | 
 |  |  |         List<DuWorktype> newWorktypes = new ArrayList<>(); | 
 |  |  |         List<DuSolution> solutions = duSolutionMapper.selectList(new QueryWrapper<DuSolution>().lambda() | 
 |  |  |                 .eq(DuSolution::getIsdeleted,Constants.ZERO) | 
 |  |  | 
 |  |  |                 .eq(DuSolution::getStatus,Constants.ZERO) | 
 |  |  |                 .eq(DuSolution::getDispatchUnitId,model.getId()) | 
 |  |  |         ); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         if(solutions == null || solutions.size() ==0){ | 
 |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             for (DuWorktype w : worktypes) { | 
 |  |  |                 if(Constants.equalsInteger(w.getStatus(),Constants.TWO)){ | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |                 DuWorktype nw = new DuWorktype(); | 
 |  |  |                 BeanUtils.copyProperties(w, nw); | 
 |  |  |                 nw.setCreateDate(new Date()); | 
 |  |  |                 nw.setCheckDate(update.getEditDate()); | 
 |  |  |                 nw.setStatus(Constants.ONE); | 
 |  |  |                 nw.setDuSolutionId(ns.getId()); | 
 |  |  | 
 |  |  |         DispatchUnit dispatchUnit = dispatchUnitMapper.selectById(param.getId()); | 
 |  |  |         if(Constants.equalsInteger(param.getUnitStatus(),Constants.ONE)){ | 
 |  |  |             //审核通过,修改状态,产生历史版本 | 
 |  |  |             newVersionData(dispatchUnit,update); | 
 |  |  |             newVersionData(dispatchUnit,update,true); | 
 |  |  |             //存储操作历史 | 
 |  |  |             this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_PASS,update.getCheckInfo()); | 
 |  |  |         }else{ | 
 |  |  | 
 |  |  |             //存储操作历史 | 
 |  |  |             this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_UN_PASS,update.getCheckInfo()); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //存储待办信息 | 
 |  |  |         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT; | 
 |  |  |         //删除其他待办 | 
 |  |  |         noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId())); | 
 |  |  |  | 
 |  |  |         return  1; | 
 |  |  |     } | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |     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); | 
 |  |  | 
 |  |  |                 .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) | 
 |  |  |                 .eq(DispatchUnit::getName,saveDispatchUnitDTO.getName()) | 
 |  |  |                 .eq(DispatchUnit::getIsdeleted,Constants.ZERO) | 
 |  |  |                 .eq(DispatchUnit::getDataType,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(),"【派遣单位信用代码】已存在"); | 
 |  |  |         }; | 
 |  |  | //        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()); | 
 |  |  | 
 |  |  |                 duWorktypeMapper.insert(duWorktype); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //存储待办信息 | 
 |  |  |         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT; | 
 |  |  |         //删除其他待办 | 
 |  |  |         noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId())); | 
 |  |  |         Notices notices = new Notices(noticeObjectType,Constants.ZERO,dispatchUnit.getId(),dispatchUnit.getName(), | 
 |  |  |                 dispatchUnit.getCompanyId(), Constants.NoticeType.ZERO); | 
 |  |  |         noticesMapper.insert(notices); | 
 |  |  |  | 
 |  |  |         return dispatchUnit.getId(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |         } | 
 |  |  |         if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda() | 
 |  |  |                 .ne(DispatchUnit::getId,saveDispatchUnitDTO.getId()) | 
 |  |  |                 .ne(DispatchUnit::getBaseId,saveDispatchUnitDTO.getId()) | 
 |  |  |                 .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) | 
 |  |  |                 .eq(DispatchUnit::getName,saveDispatchUnitDTO.getName()) | 
 |  |  |                 .eq(DispatchUnit::getIsdeleted,Constants.ZERO) | 
 |  |  |                 .eq(DispatchUnit::getDataType,Constants.ZERO) | 
 |  |  |         )> 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()); | 
 |  |  | 
 |  |  |         dispatchUnit.setEditor(loginUserInfo.getId()); | 
 |  |  |         dispatchUnitMapper.updateById(dispatchUnit); | 
 |  |  |  | 
 |  |  |         dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda().set(DispatchUnit::getDataType,Constants.ONE).eq(DispatchUnit::getBaseId,dispatchUnit.getId()) | 
 |  |  |                 .eq(DispatchUnit::getDataType,Constants.TWO) | 
 |  |  |         ); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         //存储操作记录 | 
 |  |  |         this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.EDIT_UNIT,null); | 
 |  |  |  | 
 |  |  | //        this.dealDuData(saveDispatchUnitDTO,loginUserInfo); | 
 |  |  |         //存储待办信息 | 
 |  |  |         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT; | 
 |  |  |         //删除其他待办 | 
 |  |  |         noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId())); | 
 |  |  |         Notices notices = new Notices(noticeObjectType,Constants.ZERO,dispatchUnit.getId(),dispatchUnit.getName(), | 
 |  |  |                 dispatchUnit.getCompanyId(), Constants.NoticeType.ZERO); | 
 |  |  |         noticesMapper.insert(notices); | 
 |  |  |  | 
 |  |  |         return dispatchUnit.getId(); | 
 |  |  |     } | 
 |  |  | 
 |  |  |         } | 
 |  |  |         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
 |  |  |         DispatchUnit dispatchUnit = this.dispatchUnitMapper.selectById(saveDispatchUnitDTO.getId()); | 
 |  |  |         if(!dispatchUnit.getUnitStatus().equals(Constants.ONE)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"派遣单位未审批通过,无法进行该操作"); | 
 |  |  |         } | 
 |  |  |         dispatchUnit.setWorktypeStatus(Constants.ZERO); | 
 |  |  |         dispatchUnit.setEditDate(new Date()); | 
 |  |  |         dispatchUnit.setEditor(loginUserInfo.getId()); | 
 |  |  | 
 |  |  |         //存储操作历史 | 
 |  |  |         this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.ADD_WORK_TYPE,null); | 
 |  |  |         this.dealDuData(saveDispatchUnitDTO,loginUserInfo); | 
 |  |  |  | 
 |  |  |         //存储待办信息 | 
 |  |  |         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT; | 
 |  |  |         //删除其他待办 | 
 |  |  |         noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId())); | 
 |  |  |         Notices notices = new Notices(noticeObjectType,Constants.ZERO,dispatchUnit.getId(),dispatchUnit.getName(), | 
 |  |  |                 dispatchUnit.getCompanyId(), Constants.NoticeType.ONE); | 
 |  |  |         noticesMapper.insert(notices); | 
 |  |  |  | 
 |  |  |         return dispatchUnit.getId(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |                 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) | 
 |  |  | 
 |  |  |         if(Objects.isNull(dispatchUnit)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未查询到派遣单位信息"); | 
 |  |  |         } | 
 |  |  |         //派遣单位审批 | 
 |  |  |         //派遣单位审核 | 
 |  |  |         if(dispatchUnitAuditDTO.getAuditType().equals(Constants.ZERO)){ | 
 |  |  |             if(dispatchUnit.getStatus().equals(Constants.ONE)){ | 
 |  |  |                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"派遣单位信息已审核"); | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public void deleteById(Integer id) { | 
 |  |  |         dispatchUnitMapper.deleteById(id); | 
 |  |  |         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
 |  |  |         DispatchUnit dispatchUnit = dispatchUnitMapper.selectById(id); | 
 |  |  |         if(Objects.isNull(dispatchUnit)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY); | 
 |  |  |         } | 
 |  |  |         if(dispatchUnit.getUnitStatus().equals(Constants.TWO)){ | 
 |  |  |             dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda() | 
 |  |  |                             .set(DispatchUnit::getEditor,loginUserInfo.getId()) | 
 |  |  |                         .set(DispatchUnit::getEditDate,new Date()) | 
 |  |  |                     .set(DispatchUnit::getIsdeleted,Constants.ONE) | 
 |  |  |                     .eq(DispatchUnit::getId,id)); | 
 |  |  |         }else{ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前派遣单位状态无法进行该操作"); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |     @Override | 
 |  |  |     public void updateById(DispatchUnit dispatchUnit) { | 
 |  |  |         dispatchUnitMapper.updateById(dispatchUnit); | 
 |  |  |         //更新历史表状态 | 
 |  |  |         if(Objects.nonNull(dispatchUnit.getId())&& Objects.nonNull(dispatchUnit.getStatus())){ | 
 |  |  |             dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda() | 
 |  |  |                     .set(DispatchUnit::getStatus,dispatchUnit.getStatus()) | 
 |  |  |                     .eq(DispatchUnit::getDataType,Constants.TWO) | 
 |  |  |                     .eq(DispatchUnit::getBaseId,dispatchUnit.getId()) | 
 |  |  |             ); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |         if (pageWrap.getModel().getBaseId() != null) { | 
 |  |  |             queryWrapper.eq(DispatchUnit::getBaseId, pageWrap.getModel().getBaseId()); | 
 |  |  |         } | 
 |  |  |         for(PageWrap.SortData sortData: pageWrap.getSorts()) { | 
 |  |  |             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { | 
 |  |  |                 queryWrapper.orderByDesc(sortData.getProperty()); | 
 |  |  |             } else { | 
 |  |  |                 queryWrapper.orderByAsc(sortData.getProperty()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         queryWrapper.orderByAsc(DispatchUnit::getUnitStatus); | 
 |  |  |         queryWrapper.orderByAsc(DispatchUnit::getWorktypeStatus); | 
 |  |  |         queryWrapper.orderByDesc(DispatchUnit::getCreateDate); | 
 |  |  | //        for(PageWrap.SortData sortData: pageWrap.getSorts()) { | 
 |  |  | //            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { | 
 |  |  | //                queryWrapper.orderByDesc(sortData.getProperty()); | 
 |  |  | //            } else { | 
 |  |  | //                queryWrapper.orderByAsc(sortData.getProperty()); | 
 |  |  | //            } | 
 |  |  | //        } | 
 |  |  |         PageData<DispatchUnit> pageData = PageData.from(dispatchUnitJoinMapper.selectJoinPage(page,DispatchUnit.class, queryWrapper)); | 
 |  |  |         return pageData; | 
 |  |  |     } | 
 |  |  | 
 |  |  |         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
 |  |  |         List<DispatchUnit> dispatchUnitList  = dispatchUnitJoinMapper.selectJoinList(DispatchUnit.class, | 
 |  |  |                 new MPJLambdaWrapper<DispatchUnit>().selectAll(DispatchUnit.class) | 
 |  |  |                         .selectAs(DuSolution::getId,DispatchUnit::getDuSolutionId) | 
 |  |  |                         .leftJoin(DuSolution.class,DuSolution::getDispatchUnitId,DispatchUnit::getId) | 
 |  |  |                         .eq(DispatchUnit::getIsdeleted,Constants.ZERO) | 
 |  |  |                         .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) | 
 |  |  |                         .eq(DispatchUnit::getStatus,Constants.ZERO) | 
 |  |  |                         //.eq(DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType()) | 
 |  |  |                         .eq(DispatchUnit::getDataType,Constants.TWO) | 
 |  |  |                         .eq(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()),DuSolution::getSolutionId,dispatchUnitQueryDTO.getSolutionId()) | 
 |  |  |                         .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()+"  order by b.CHECK_DATE desc  limit 1) as du_solution_id" ) | 
 |  |  |                         .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) | 
 |  |  |                         .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.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 ") |