From 02d115e902ef2091fa5f0202ec3909f1c2e66923 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期三, 16 四月 2025 14:01:57 +0800 Subject: [PATCH] 设备未知状态修改,工单照片清理定时任务,工单逻辑删除照片,以及保存最新的5张,数据导出离线数统计,在线率统计的合计修改 --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 48 insertions(+), 0 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java index e16d539..b30eb8d 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java @@ -60,6 +60,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import pojo.CascadeOption; +import utils.file.FileUtils; import java.time.LocalDateTime; import java.time.ZoneId; @@ -215,6 +216,7 @@ } List<String> willAddSerialNumber = waitAddList.stream().map(WorkOrder::getSerialNumber).collect(Collectors.toList()); //鍙敓鎴愯�冩牳璁惧銆佷笖鏈夎繍缁村崟浣嶇殑宸ュ崟 + List<YwPoint> pointList = new LambdaQueryChainWrapper<>(ywPointService.getBaseMapper()) .select(YwPoint::getUnitId, YwPoint::getSerialNumber, YwPoint::getImportantTag, YwPoint::getImportantTag, YwPoint::getImportantCommandImageTag) .in(YwPoint::getSerialNumber, willAddSerialNumber) @@ -287,6 +289,7 @@ } log.info("鍗冲皢鐢熸垚鐨勫伐鍗�:{}", workOrder); } + redisCache.setCacheObject(RedisConstant.WORKORDER_NUM, workOrderNum); redisCache.releaseLock(RedisConstant.WORKORDER_NUM_LOCK, requestId); // 淇濆瓨宸ュ崟鍜屾晠闅滅被鍨� @@ -605,6 +608,27 @@ img.setWorkOrderNo(workOrder.getWorkOrderNo()); img.setImgUrl(frameImg); img.setCreateTime(new Date()); + //鍒ゆ柇璇ュ伐鍗曠殑鍥剧墖鏄惁宸茬粡澶т簬5寮犱簡 + LambdaQueryChainWrapper<WorkOrderCheckImg> qw = new LambdaQueryChainWrapper<>(workOrderCheckImgMapper); + + //鎸夌収鍒涘缓鏃ユ湡闄嶅簭鎺掑垪 + List<WorkOrderCheckImg> imgList = workOrderCheckImgMapper.selectList( + new LambdaQueryChainWrapper<>(workOrderCheckImgMapper) + .eq(WorkOrderCheckImg::getWorkOrderNo, workOrder.getWorkOrderNo()) + .orderByDesc(WorkOrderCheckImg::getCreateTime) + ); + //淇濈暀鏈�鏂扮殑5寮� + if (imgList.size()>=5){ + List<Integer> subList = imgList.subList(4, imgList.size()).stream().map(WorkOrderCheckImg::getId).collect(Collectors.toList()); + //鍒犻櫎鐓х墖 锛屽苟涓旂墿鐞嗗垹闄ゆ湇鍔″櫒鍐呭搴旂収鐗囩殑鍚嶅瓧 + + + workOrderCheckImgMapper.deleteBatchIds(subList); + + + } + + workOrderCheckImgMapper.insert(img); } } @@ -667,6 +691,19 @@ String workOrderNo = workOrder.getWorkOrderNo(); //鍒犻櫎宸ュ崟瀹℃牳璁板綍 workOrderAuditingRecordMapper.delete(new QueryWrapper<WorkOrderAuditingRecord>().eq("work_order_no", workOrderNo)); + //闇�瑕佺墿鐞嗗垹闄ゆ湇鍔″櫒涓殑鍥剧墖 + //鏌ヨ鍒板伐鍗曠収鐗囬泦鍚� + List<String> workOrderImg = workOrderCheckImgMapper + .selectList(new QueryWrapper<WorkOrderCheckImg>().eq("work_order_no", workOrderNo)) + .stream().map(WorkOrderCheckImg::getImgUrl).collect(Collectors.toList()); + log.error("鍒犻櫎宸ュ崟鍥剧墖闆嗗悎:{}",workOrderImg); + log.error("鍒犻櫎璺緞:{}",PlatformConfig.getUploadPath()); + + for (String filePath: workOrderImg){ + FileUtils.deleteFile( PlatformConfig.getUploadPath()+ filePath); + } + // /home/zgyw/uploadPath + //鍒犻櫎宸ュ崟鍥剧墖璁板綍 workOrderCheckImgMapper.delete(new QueryWrapper<WorkOrderCheckImg>().eq("work_order_no", workOrderNo)); //鍒犻櫎宸ュ崟涓嬪彂璁板綍 @@ -676,11 +713,17 @@ //鍒犻櫎宸ュ崟鎯呭喌璁板綍 workOrderYwConditionRecordMapper.delete(new QueryWrapper<WorkOrderYwConditionRecord>().eq("work_order_no", workOrderNo)); + + + if (baseMapper.deleteById(id) > 0) { return Result.ok("鍒犻櫎鎴愬姛"); } return Result.error("鍒犻櫎澶辫触"); } + + + /** * 鍒嗛〉鏌ヨ @@ -1147,6 +1190,11 @@ @Override public Result detailByNo(String workOrderNo) { WorkOrderDetailVO workOrder = baseMapper.detailByNo(workOrderNo); + //鎶ョ┖鍘熷洜1. sql 涓� inner join 琛� t_work_order_distribute_record 涓� 鏃犱笌璇ヨ〃鍏宠仈鐨勮褰� wo.work_order_no = dr.work_order_no + if(workOrder == null){ + workOrder = baseMapper.detailByNoButNoDistributeRecord(workOrderNo); + } + // 鏄惁鎶ュ boolean hasReport = new LambdaQueryChainWrapper<>(reportMapper) .eq(Report::getSerialNumber, workOrder.getSerialNumber()) -- Gitblit v1.8.0