| | |
| | | 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; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 运维巡检任务 - 巡检点信息表Service实现 |
| | |
| | | @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::getCode,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(),"未查询到巡检计划信息"); |
| | | } |
| | | List<String> userIdList = Arrays.asList(ywPatrolScheme.getUserIds().split(",")); |
| | | if(userIdList.stream().filter(i->Constants.equalsInteger(Integer.valueOf(i),loginUserInfo.getId())).collect(Collectors.toList()).size()<=0){ |
| | | 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())); |
| | | |
| | | |
| | | if(ywPatrolTaskRecordMapper.selectCount(new QueryWrapper<YwPatrolTaskRecord>().lambda() |
| | | .eq(YwPatrolTaskRecord::getTaskId,ywPatrolTask.getId()) |
| | | .eq(YwPatrolTaskRecord::getStatus,Constants.ZERO) |
| | | .ne(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()))==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::getDealUserId,loginUserInfo.getId()) |
| | | .set(YwPatrolTask::getEditor,loginUserInfo.getId()) |
| | | ); |
| | | |
| | | //标记待办已处理 |
| | | noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda() |
| | | .set(Notices::getStatus,Constants.ONE) |
| | | .set(Notices::getParam3,Constants.TWO) |
| | | .eq(Notices::getIsdeleted,Constants.ZERO) |
| | | .eq(Notices::getObjType,Constants.ONE) |
| | | .eq(Notices::getObjId,ywPatrolTask.getId()) |
| | | ); |
| | | }else{ |
| | | 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(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()) |
| | | ); |
| | | } |
| | | //标记待办已处理 |
| | | noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda() |
| | | .set(Notices::getParam3,Constants.ONE) |
| | | .eq(Notices::getIsdeleted,Constants.ZERO) |
| | | .eq(Notices::getObjType,Constants.ONE) |
| | | .eq(Notices::getObjId,ywPatrolTask.getId()) |
| | | ); |
| | | } |
| | | //附件数据 |
| | |
| | | .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(YwPatrolTaskRecord::getIsdeleted, Constants.ZERO) |
| | | .eq(YwPatrolPoint::getCode,bean.getPointCode()) |
| | | .eq(YwPatrolTaskRecord::getTaskId,bean.getTaskId()) |
| | | .orderByDesc(YwPatrolScheme::getCreateDate) |
| | |
| | | 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); |
| | | } |
| | | getFileListByModel(ywPatrolTaskRecord); |
| | | |
| | | return ywPatrolTaskRecord; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 根据登录人与巡检点查询任务信息 |
| | | * @param bean |
| | | * @return |
| | | */ |
| | | @Override |
| | | public YwPatrolTaskRecord getRecordByUserPoint(YwPatrolTaskRecord bean,LoginUserInfo loginUserInfo) { |
| | | if(Objects.isNull(bean) |
| | | || StringUtils.isBlank(bean.getPointCode())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if(ywPatrolPointMapper.selectCount(new QueryWrapper<YwPatrolPoint>().lambda().eq(YwPatrolPoint::getCode,bean.getPointCode()))==Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未匹配到巡检点,请重新扫码!"); |
| | | } |
| | | 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(YwPatrolScheme::getTitle,YwPatrolTaskRecord::getSchemeTitle) |
| | | .selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname) |
| | | .selectAs(Company::getName,YwPatrolTaskRecord::getCompanyName) |
| | | .leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId) |
| | | .leftJoin(YwPatrolTask.class,YwPatrolTask::getId,YwPatrolTaskRecord::getTaskId) |
| | | .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId) |
| | | .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId) |
| | | .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) |
| | | .eq(YwPatrolTaskRecord::getIsdeleted, Constants.ZERO) |
| | | .eq(YwPatrolTaskRecord::getStatus, Constants.ZERO) |
| | | .eq(YwPatrolPoint::getCode,bean.getPointCode()) |
| | | .apply(" DATE(t2.START_DATE) = DATE(NOW()) and find_in_set('"+loginUserInfo.getId()+"', t3.USER_IDS ) ") |
| | | .orderByDesc(YwPatrolScheme::getCreateDate) |
| | | .last(" limit 1 ") |
| | | ); |
| | | if(Objects.isNull(ywPatrolTaskRecord)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"今日暂无巡检任务!"); |
| | | } |
| | | getFileListByModel(ywPatrolTaskRecord); |
| | | return ywPatrolTaskRecord; |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |