| | |
| | | import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; |
| | | import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.github.pagehelper.util.StringUtil; |
| | | import com.ycl.config.PlatformConfig; |
| | | import com.ycl.exception.ServiceException; |
| | | import com.ycl.platform.domain.entity.*; |
| | |
| | | import com.ycl.system.mapper.SysConfigMapper; |
| | | import com.ycl.system.model.LoginUser; |
| | | import com.ycl.system.page.PageUtil; |
| | | import com.ycl.task.DeleteWorkOrderImgTask; |
| | | import com.ycl.utils.DateUtils; |
| | | import com.ycl.utils.SecurityUtils; |
| | | import com.ycl.utils.http.HttpUtils; |
| | |
| | | |
| | | @Autowired |
| | | private RedisCache redisCache; |
| | | @Autowired |
| | | private DeleteWorkOrderImgTask deleteWorkOrderImgTask; |
| | | |
| | | @Override |
| | | public synchronized Boolean innerAddWorkOrder(List<WorkOrder> workOrderList) { |
| | |
| | | img.setWorkOrderNo(workOrder.getWorkOrderNo()); |
| | | img.setImgUrl(frameImg); |
| | | img.setCreateTime(new Date()); |
| | | //判断该工单的图片是否已经大于5张了 |
| | | LambdaQueryChainWrapper<WorkOrderCheckImg> qw = new LambdaQueryChainWrapper<>(workOrderCheckImgMapper); |
| | | |
| | | //按照创建日期降序排列 |
| | | List<WorkOrderCheckImg> workOrderList = workOrderCheckImgMapper.selectList( |
| | | new LambdaQueryChainWrapper<>(workOrderCheckImgMapper) |
| | | .eq(WorkOrderCheckImg::getWorkOrderNo, workOrder.getWorkOrderNo()) |
| | | .orderByDesc(WorkOrderCheckImg::getCreateTime) |
| | | ); |
| | | //保留最新的5张 |
| | | if (workOrderList.size()>=5){ |
| | | List<String> imgList = workOrderList.subList(4,workOrderList.size()).stream().map(WorkOrderCheckImg::getImgUrl).collect(Collectors.toList()); |
| | | List<Integer> idList = workOrderList.subList(4, workOrderList.size()).stream().map(WorkOrderCheckImg::getId).collect(Collectors.toList()); |
| | | //删除照片 ,并且物理删除服务器内对应照片的名字 |
| | | |
| | | // /profile/2024-11-18_1d8e6d37-a4d0-4bba-8473-ff4e50eda83d.png |
| | | for (String filePath: imgList){ |
| | | delImgFormClient(filePath); |
| | | } |
| | | workOrderCheckImgMapper.deleteBatchIds(idList); |
| | | |
| | | } |
| | | |
| | | |
| | | workOrderCheckImgMapper.insert(img); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 清理工单图片 |
| | | * */ |
| | | public void clearWorkOrderImg(String workOrderNo) { |
| | | //判断该工单的图片是否已经大于5张了 |
| | | //按照创建日期降序排列 |
| | | if (StringUtil.isEmpty(workOrderNo)) { |
| | | return; |
| | | } |
| | | List<WorkOrderCheckImg> workOrderList = new LambdaQueryChainWrapper<WorkOrderCheckImg>(workOrderCheckImgMapper) |
| | | .select() |
| | | .eq(WorkOrderCheckImg::getWorkOrderNo, workOrderNo) |
| | | .orderByDesc(WorkOrderCheckImg::getCreateTime) |
| | | .list(); |
| | | if (workOrderList.size()>=5){ |
| | | List<String> imgList = workOrderList.subList(4,workOrderList.size()).stream().map(WorkOrderCheckImg::getImgUrl).collect(Collectors.toList()); |
| | | List<Integer> idList = workOrderList.subList(4, workOrderList.size()).stream().map(WorkOrderCheckImg::getId).collect(Collectors.toList()); |
| | | //删除照片 ,并且物理删除服务器内对应照片的名字 |
| | | |
| | | // /profile/2024-11-18_1d8e6d37-a4d0-4bba-8473-ff4e50eda83d.png |
| | | log.error("删除工单照片集合url:{}",imgList); |
| | | log.error("删除工单存储数据集合id:{}",idList); |
| | | for (String filePath: imgList){ |
| | | delImgFormClient(filePath); |
| | | } |
| | | workOrderCheckImgMapper.deleteBatchIds(idList); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<WorkOrderYwConditionRecordVO> selectYwConditionByYwId(String workOrderNo) { |
| | |
| | | log.error("url错误:{}",imgPath); |
| | | }else{ |
| | | //提取日期部分 组装目录 : /opt/zgyw/uploadPath + / + yyyy-MM-dd + |
| | | String pathName = PlatformConfig.getUploadPath() + "/" + FileUtils.extractDateFromString(url); |
| | | String pathName = DeleteWorkOrderImgTask.imgSaveBasePath + "/" + FileUtils.extractDateFromString(url); |
| | | log.error("删除工单图片集合{}",pathName+"/" + imgPath); |
| | | FileUtils.deleteFile(pathName+"/" + imgPath); |
| | | } |
| | | } |
| | |
| | | List<SysDictData> errorList = workOrderErrorTypeService.getBaseMapper().getErrorList(workOrder.getWorkOrderNo()); |
| | | List<String> errList = errorList.stream().map(SysDictData::getDictLabel).collect(Collectors.toList()); |
| | | workOrder.setErrorTypeList(errList); |
| | | //详情时再次清理 |
| | | clearWorkOrderImg(workOrderNo); |
| | | // 检测图片 |
| | | List<WorkOrderCheckImg> imgList = new LambdaQueryChainWrapper<>(workOrderCheckImgMapper) |
| | | .eq(WorkOrderCheckImg::getWorkOrderNo, workOrderNo) |