|  |  | 
 |  |  | import com.doumee.core.utils.Constants; | 
 |  |  | import com.doumee.core.utils.DateUtil; | 
 |  |  | import com.doumee.core.utils.Utils; | 
 |  |  | import com.doumee.dao.business.YwContractRevenueMapper; | 
 |  |  | import com.doumee.dao.business.YwPatrolTaskRecordMapper; | 
 |  |  | import com.doumee.dao.business.*; | 
 |  |  | import com.doumee.dao.business.model.*; | 
 |  |  | import com.doumee.dao.system.MultifileMapper; | 
 |  |  | import com.doumee.dao.system.model.Multifile; | 
 |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private MultifileMapper multifileMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private YwDeviceMapper ywDeviceMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private YwPatrolPointMapper ywPatrolPointMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SystemDictDataBiz systemDictDataBiz; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private YwPatrolTaskMapper ywPatrolTaskMapper; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | 
 |  |  |         queryWrapper.selectAll(YwPatrolTaskRecord.class) | 
 |  |  |                 .selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName) | 
 |  |  |                 .selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent) | 
 |  |  |                 .selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname) | 
 |  |  |                 .leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId) | 
 |  |  |                 .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId) | 
 |  |  |                 .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()) | 
 |  |  |                 .orderByDesc(YwPatrolScheme::getCreateDate) | 
 |  |  | 
 |  |  |     public void patrolData(YwPatrolTaskRecord ywPatrolTaskRecord) { | 
 |  |  |         if(Objects.isNull(ywPatrolTaskRecord) | 
 |  |  |         || Objects.isNull(ywPatrolTaskRecord.getId()) | 
 |  |  |         || Objects.isNull(ywPatrolTaskRecord.getDealStatus())){ | 
 |  |  |         ){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  |         LoginUserInfo loginUserInfo = ywPatrolTaskRecord.getLoginUserInfo(); | 
 |  |  | 
 |  |  |         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); | 
 |  |  |         } | 
 |  |  |         YwPatrolTask ywPatrolTask = ywPatrolTaskMapper.selectById(model.getTaskId()); | 
 |  |  |         if(Objects.isNull(ywPatrolTask)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY); | 
 |  |  |         } | 
 |  |  |         if(ywPatrolTask.getStartDate().getTime()>System.currentTimeMillis()){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未到巡检时间无法进行该操作"); | 
 |  |  |         } | 
 |  |  |         ywPatrolTaskRecordMapper.update(null,new UpdateWrapper<YwPatrolTaskRecord>().lambda() | 
 |  |  |                 .set(YwPatrolTaskRecord::getDealStatus,ywPatrolTaskRecord.getDealStatus()) | 
 |  |  |                 .set(YwPatrolTaskRecord::getDealStatus,ywDevice.getStatus()) | 
 |  |  |                 .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())); | 
 |  |  |  | 
 |  |  |         if(ywPatrolTaskRecordMapper.selectCount(new QueryWrapper<YwPatrolTaskRecord>().lambda() | 
 |  |  |                 .eq(YwPatrolTaskRecord::getTaskId,ywPatrolTask.getId()) | 
 |  |  |                 .ne(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()))==Constants.ZERO){ | 
 |  |  |             ywPatrolTask.setStatus(Constants.THREE); | 
 |  |  |         }else{ | 
 |  |  |             ywPatrolTask.setStatus(Constants.ONE); | 
 |  |  |         } | 
 |  |  |         //查询是否存在其他未 | 
 |  |  |        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(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(),"未匹配到巡检点!"); | 
 |  |  |         } | 
 |  |  |         //附件数据 | 
 |  |  |         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); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return ywPatrolTaskRecord; | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public YwPatrolTaskRecord getDetail(Integer id) { | 
 |  |  |  | 
 |  |  |         YwPatrolTaskRecord ywPatrolTaskRecord = ywPatrolTaskRecordMapper.selectJoinOne(YwPatrolTaskRecord.class,new MPJLambdaWrapper<YwPatrolTaskRecord>() |