|  |  | 
 |  |  | import com.doumee.dao.business.*; | 
 |  |  | import com.doumee.dao.business.model.*; | 
 |  |  | import com.doumee.dao.system.MultifileMapper; | 
 |  |  | import com.doumee.dao.system.join.NoticesJoinMapper; | 
 |  |  | import com.doumee.dao.system.model.Multifile; | 
 |  |  | import com.doumee.dao.system.model.Notices; | 
 |  |  | import com.doumee.dao.system.model.SystemUser; | 
 |  |  | import com.doumee.service.business.YwPatrolTaskRecordService; | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
 |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private YwPatrolTaskMapper ywPatrolTaskMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private YwPatrolSchemeMapper ywPatrolSchemeMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private NoticesJoinMapper noticesJoinMapper; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |                 .selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName) | 
 |  |  |                 .selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent) | 
 |  |  |                 .selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname) | 
 |  |  |  | 
 |  |  |                 .selectAs(YwPatrolScheme::getTitle,YwPatrolTaskRecord::getSchemeTitle) | 
 |  |  |                 .selectAs(YwPatrolTask::getTitle,YwPatrolTaskRecord::getTaskCode) | 
 |  |  |                 .selectAs(YwPatrolTask::getStartDate,YwPatrolTaskRecord::getStartDate) | 
 |  |  |                 .selectAs(YwPatrolTask::getEndDate,YwPatrolTaskRecord::getEndDate) | 
 |  |  |  | 
 |  |  |                 .leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId) | 
 |  |  |                 .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId) | 
 |  |  |                 .leftJoin(YwPatrolTask.class,YwPatrolTask::getId,YwPatrolTaskRecord::getTaskId) | 
 |  |  |                 .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId) | 
 |  |  |                 .eq(YwPatrolScheme::getIsdeleted, Constants.ZERO) | 
 |  |  |                 .eq(Objects.nonNull(model) && Objects.nonNull(model.getTaskId()),YwPatrolTaskRecord::getTaskId, model.getTaskId()) | 
 |  |  |                 .eq(Objects.nonNull(model) && Objects.nonNull(model.getDealUserId()),YwPatrolTaskRecord::getDealUserId, model.getDealUserId()) | 
 |  |  |                 .like(StringUtils.isNotBlank(model.getPointName()),YwPatrolPoint::getName,model.getPointName()) | 
 |  |  |                 .eq(Objects.nonNull(model) && Objects.nonNull(model.getStatus()) , YwPatrolTaskRecord::getStatus,model.getStatus()) | 
 |  |  |                 .eq(Objects.nonNull(model) && Objects.nonNull(model.getDeviceId()) , YwPatrolPoint::getDeviceId,model.getDeviceId()) | 
 |  |  |                 .orderByDesc(YwPatrolScheme::getCreateDate) | 
 |  |  |         ; | 
 |  |  |         IPage<YwPatrolTaskRecord> iPage = ywPatrolTaskRecordMapper.selectJoinPage(page,YwPatrolTaskRecord.class,queryWrapper);  | 
 |  |  |         if(iPage!=null && iPage.getRecords()!=null){ | 
 |  |  |             for(YwPatrolTaskRecord m : iPage.getRecords()){ | 
 |  |  |                 getFileListByModel(m); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return PageData.from(iPage); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void getFileListByModel(YwPatrolTaskRecord ywPatrolTaskRecord) { | 
 |  |  |         //附件数据 | 
 |  |  |         List<Multifile> multifileList = multifileMapper.selectJoinList(Multifile.class,new MPJLambdaWrapper<Multifile>() | 
 |  |  |                 .selectAll(Multifile.class) | 
 |  |  |                 .selectAs(SystemUser::getRealname,Multifile::getUserName) | 
 |  |  |                 .leftJoin(SystemUser.class,SystemUser::getId,Multifile::getCreator) | 
 |  |  |                 .eq(Multifile::getObjId,ywPatrolTaskRecord.getId()) | 
 |  |  |                 .eq(Multifile::getIsdeleted,Constants.ZERO) | 
 |  |  |                 .eq(Multifile::getObjType,Constants.MultiFile.FN_PATROL_TASK_RECORD_FILE.getKey())); | 
 |  |  |         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ | 
 |  |  |             String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() | 
 |  |  |                     +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_PATROL).getCode(); | 
 |  |  |             for (Multifile multifile:multifileList) { | 
 |  |  |                 if(StringUtils.isNotBlank(multifile.getFileurl())){ | 
 |  |  |                     multifile.setFileurlFull(path + multifile.getFileurl()); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             ywPatrolTaskRecord.setMultifileList(multifileList); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |     @Transactional(rollbackFor = {Exception.class,BusinessException.class}) | 
 |  |  |     public void patrolData(YwPatrolTaskRecord ywPatrolTaskRecord) { | 
 |  |  |         if(Objects.isNull(ywPatrolTaskRecord) | 
 |  |  |         || Objects.isNull(ywPatrolTaskRecord.getId()) | 
 |  |  |             || Objects.isNull(ywPatrolTaskRecord.getId()) | 
 |  |  |             || Objects.isNull(ywPatrolTaskRecord.getDealStatus()) | 
 |  |  |         ){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  | 
 |  |  |         if(!Constants.equalsInteger(model.getStatus(),Constants.ZERO)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态已流转"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         YwPatrolPoint ywPatrolPoint = ywPatrolPointMapper.selectById(model.getPointId()); | 
 |  |  |         if(Objects.isNull(ywPatrolPoint)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY); | 
 |  |  |         } | 
 |  |  |         YwDevice ywDevice = ywDeviceMapper.selectById(ywPatrolPoint.getDeviceId()); | 
 |  |  |         if(Objects.isNull(ywDevice)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY); | 
 |  |  |         YwPatrolScheme ywPatrolScheme = ywPatrolSchemeMapper.selectById(model.getSchemeId()); | 
 |  |  |         if(Objects.isNull(ywPatrolScheme)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到巡检计划信息"); | 
 |  |  |         } | 
 |  |  |         if(!ywPatrolScheme.getUserIds().equals(loginUserInfo.getId().toString())){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"非您的巡检任务无法进行处理"); | 
 |  |  |         } | 
 |  |  |         YwPatrolTask ywPatrolTask = ywPatrolTaskMapper.selectById(model.getTaskId()); | 
 |  |  |         if(Objects.isNull(ywPatrolTask)){ | 
 |  |  | 
 |  |  |         if(ywPatrolTask.getStartDate().getTime()>System.currentTimeMillis()){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未到巡检时间无法进行该操作"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         ywPatrolTaskRecordMapper.update(null,new UpdateWrapper<YwPatrolTaskRecord>().lambda() | 
 |  |  |                 .set(YwPatrolTaskRecord::getDealStatus,ywDevice.getStatus()) | 
 |  |  |                 .set(YwPatrolTaskRecord::getDealStatus,ywPatrolTaskRecord.getDealStatus()) | 
 |  |  |                 .set(YwPatrolTaskRecord::getEditor,loginUserInfo.getId()) | 
 |  |  |                 .set(YwPatrolTaskRecord::getEditDate, DateUtil.getCurrDateTime()) | 
 |  |  |                 .set(YwPatrolTaskRecord::getDealDate, DateUtil.getCurrDateTime()) | 
 |  |  | 
 |  |  |                 .set(YwPatrolTaskRecord::getDealInfo, ywPatrolTaskRecord.getDealInfo()) | 
 |  |  |                 .eq(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId())); | 
 |  |  |  | 
 |  |  |         //标记待办已处理 | 
 |  |  |         noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda() | 
 |  |  |                 .set(Notices::getStatus,Constants.ONE) | 
 |  |  |                 .eq(Notices::getIsdeleted,Constants.ZERO) | 
 |  |  |                 .eq(Notices::getObjType,Constants.ONE) | 
 |  |  |                 .eq(Notices::getObjId,ywPatrolTask.getId()) | 
 |  |  |         ); | 
 |  |  |         if(ywPatrolTaskRecordMapper.selectCount(new QueryWrapper<YwPatrolTaskRecord>().lambda() | 
 |  |  |                 .eq(YwPatrolTaskRecord::getTaskId,ywPatrolTask.getId()) | 
 |  |  |                 .ne(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()))==Constants.ZERO){ | 
 |  |  |             ywPatrolTask.setStatus(Constants.THREE); | 
 |  |  |                 .eq(YwPatrolTaskRecord::getStatus,Constants.ZERO) | 
 |  |  |                 .ne(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()) | 
 |  |  |         )==Constants.ZERO){ | 
 |  |  |             ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda() | 
 |  |  |                     .eq(YwPatrolTask::getId,ywPatrolTask.getId()) | 
 |  |  |                     .set(YwPatrolTask::getStatus,Constants.THREE) | 
 |  |  |                     .set(YwPatrolTask::getEditDate,DateUtil.getCurrDateTime()) | 
 |  |  |                     .set(YwPatrolTask::getDealDate,DateUtil.getCurrDateTime()) | 
 |  |  |                     .set(YwPatrolTask::getDealUserId,loginUserInfo.getId()) | 
 |  |  |                     .set(YwPatrolTask::getEditor,loginUserInfo.getId()) | 
 |  |  |             ); | 
 |  |  |  | 
 |  |  |             if(ywPatrolTaskMapper.selectCount(new QueryWrapper<YwPatrolTask>().lambda() | 
 |  |  |                     .eq(YwPatrolTask::getSchemeId,ywPatrolTask.getSchemeId()) | 
 |  |  |                     .in(YwPatrolTask::getStatus,Constants.ZERO,Constants.ONE) | 
 |  |  |                     .ne(YwPatrolTask::getId,ywPatrolTask.getId()) | 
 |  |  |             )==Constants.ZERO){ | 
 |  |  |                 ywPatrolSchemeMapper.update(null,new UpdateWrapper<YwPatrolScheme>().lambda() | 
 |  |  |                         .eq(YwPatrolScheme::getId,ywPatrolScheme.getId()) | 
 |  |  |                         .set(YwPatrolScheme::getStatus,Constants.TWO) | 
 |  |  |                         .set(YwPatrolScheme::getEditDate,DateUtil.getCurrDateTime()) | 
 |  |  |                         .set(YwPatrolScheme::getEditor,loginUserInfo.getId()) | 
 |  |  |                 ); | 
 |  |  |             } | 
 |  |  |         }else{ | 
 |  |  |             ywPatrolTask.setStatus(Constants.ONE); | 
 |  |  |             if(Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ZERO)){ | 
 |  |  |                 ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda() | 
 |  |  |                         .eq(YwPatrolTask::getId,ywPatrolTask.getId()) | 
 |  |  |                         .set(YwPatrolTask::getStatus,Constants.ONE) | 
 |  |  |                         .set(YwPatrolTask::getEditDate,DateUtil.getCurrDateTime()) | 
 |  |  |                         .set(YwPatrolTask::getEditor,loginUserInfo.getId()) | 
 |  |  |                 ); | 
 |  |  |             } | 
 |  |  |             if(Constants.equalsInteger(ywPatrolScheme.getStatus(),Constants.ZERO)){ | 
 |  |  |                 ywPatrolSchemeMapper.update(null,new UpdateWrapper<YwPatrolScheme>().lambda() | 
 |  |  |                         .eq(YwPatrolScheme::getId,ywPatrolScheme.getId()) | 
 |  |  |                         .set(YwPatrolScheme::getStatus,Constants.ONE) | 
 |  |  |                         .set(YwPatrolScheme::getEditDate,DateUtil.getCurrDateTime()) | 
 |  |  |                         .set(YwPatrolScheme::getEditor,loginUserInfo.getId()) | 
 |  |  |                 ); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         //查询是否存在其他未 | 
 |  |  |        ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda().eq(YwPatrolTask::getId,ywPatrolTask.getId()) | 
 |  |  |                .set(YwPatrolTask::getStatus,ywPatrolTask.getStatus()) | 
 |  |  |                .set(YwPatrolTask::getEditDate,DateUtil.getCurrDateTime()) | 
 |  |  |                .set(YwPatrolTask::getEditor,loginUserInfo.getId()) | 
 |  |  |        ); | 
 |  |  |         //附件数据 | 
 |  |  |         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywPatrolTaskRecord.getMultifileList())){ | 
 |  |  |             for (Multifile multifile:ywPatrolTaskRecord.getMultifileList()) { | 
 |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     @Transactional(rollbackFor = {Exception.class,BusinessException.class}) | 
 |  |  |     public YwPatrolTaskRecord getPointRecordByCode(YwPatrolTaskRecord bean) { | 
 |  |  |         if(Objects.isNull(bean) | 
 |  |  |         || Objects.isNull(bean.getTaskId()) | 
 |  |  |         || StringUtils.isBlank(bean.getPointCode())){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  |         YwPatrolTaskRecord ywPatrolTaskRecord = ywPatrolTaskRecordMapper.selectJoinOne(YwPatrolTaskRecord.class,new MPJLambdaWrapper<YwPatrolTaskRecord>() | 
 |  |  |                 .selectAll(YwPatrolTaskRecord.class) | 
 |  |  |                 .selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName) | 
 |  |  |                 .selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent) | 
 |  |  |                 .selectAs(YwPatrolPoint::getDeviceId,YwPatrolTaskRecord::getDeviceId) | 
 |  |  |                 .selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname) | 
 |  |  |                 .selectAs(Company::getName,YwPatrolTaskRecord::getCompanyName) | 
 |  |  |                 .leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId) | 
 |  |  |                 .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId) | 
 |  |  |                 .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) | 
 |  |  |                 .eq(YwPatrolScheme::getIsdeleted, Constants.ZERO) | 
 |  |  |                 .eq(YwPatrolPoint::getCode,bean.getPointCode()) | 
 |  |  |                 .eq(YwPatrolTaskRecord::getTaskId,bean.getTaskId()) | 
 |  |  |                 .orderByDesc(YwPatrolScheme::getCreateDate) | 
 |  |  |                 .last(" limit 1 ") | 
 |  |  |         ); | 
 |  |  |         if(Objects.isNull(ywPatrolTaskRecord)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未匹配到巡检点!"); | 
 |  |  |         } | 
 |  |  |         getFileListByModel(ywPatrolTaskRecord); | 
 |  |  |  | 
 |  |  |         return ywPatrolTaskRecord; | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public YwPatrolTaskRecord getDetail(Integer id) { | 
 |  |  |  | 
 |  |  |         YwPatrolTaskRecord ywPatrolTaskRecord = ywPatrolTaskRecordMapper.selectJoinOne(YwPatrolTaskRecord.class,new MPJLambdaWrapper<YwPatrolTaskRecord>() |