From ee03b526152d335dd1e42bc01a1f717d1205204c Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 26 五月 2025 15:27:04 +0800
Subject: [PATCH] (部级录像可用率,重点录像可用率,录像可用率)计算可用率bug修复,hk接口bug修复,
---
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 91 ++++++++++++++++++++++++++++++++-------------
1 files changed, 65 insertions(+), 26 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 4a39cdf..d557e97 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
@@ -8,6 +8,7 @@
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.*;
@@ -30,6 +31,7 @@
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;
@@ -62,6 +64,7 @@
import pojo.CascadeOption;
import utils.file.FileUtils;
+import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
@@ -105,6 +108,8 @@
@Autowired
private RedisCache redisCache;
+ @Autowired
+ private DeleteWorkOrderImgTask deleteWorkOrderImgTask;
@Override
public synchronized Boolean innerAddWorkOrder(List<WorkOrder> workOrderList) {
@@ -608,31 +613,41 @@
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());
- //鍒犻櫎鐓х墖 锛屽苟涓旂墿鐞嗗垹闄ゆ湇鍔″櫒鍐呭搴旂収鐗囩殑鍚嶅瓧
- for (String filePath: imgList){
- FileUtils.deleteFile( PlatformConfig.getUploadPath()+ 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) {
@@ -682,6 +697,24 @@
return Result.error("鍒犻櫎澶辫触");
}
+ /***
+ * 閫氳繃url鍒犻櫎鏈嶅姟鍣ㄥ唴鐨勫浘鐗�
+ * @param url
+ */
+ public void delImgFormClient(String url){
+ //鎻愬彇鏂囦欢鍚� /profile/2024-11-17_79c02666-da1e-45ba-9f29-7523c848fa4a.png
+ // 杩欓儴鍒�2024-11-17_79c02666-da1e-45ba-9f29-7523c848fa4a.png
+ String imgPath = FileUtils.getImgName(url);
+ if (imgPath.isEmpty()){
+ log.error("url閿欒锛歿}",imgPath);
+ }else{
+ //鎻愬彇鏃ユ湡閮ㄥ垎 缁勮鐩綍 : /opt/zgyw/uploadPath + / + yyyy-MM-dd +
+ String pathName = DeleteWorkOrderImgTask.imgSaveBasePath + "/" + FileUtils.extractDateFromString(url);
+ log.error("鍒犻櫎宸ュ崟鍥剧墖闆嗗悎{}",pathName+"/" + imgPath);
+ FileUtils.deleteFile(pathName+"/" + imgPath);
+ }
+ }
+
/**
* id鍒犻櫎
*
@@ -703,9 +736,8 @@
log.error("鍒犻櫎璺緞:{}",PlatformConfig.getUploadPath());
for (String filePath: workOrderImg){
- FileUtils.deleteFile( PlatformConfig.getUploadPath()+ filePath);
+ delImgFormClient(filePath);
}
- // /home/zgyw/uploadPath
//鍒犻櫎宸ュ崟鍥剧墖璁板綍
workOrderCheckImgMapper.delete(new QueryWrapper<WorkOrderCheckImg>().eq("work_order_no", workOrderNo));
@@ -715,9 +747,6 @@
workOrderErrorTypeMapper.delete(new QueryWrapper<WorkOrderErrorType>().eq("work_order_no", workOrderNo));
//鍒犻櫎宸ュ崟鎯呭喌璁板綍
workOrderYwConditionRecordMapper.delete(new QueryWrapper<WorkOrderYwConditionRecord>().eq("work_order_no", workOrderNo));
-
-
-
if (baseMapper.deleteById(id) > 0) {
return Result.ok("鍒犻櫎鎴愬姛");
@@ -791,6 +820,11 @@
}
@Override
+ public List<WorkOrderVO> distributeList(){
+ return baseMapper.distributeList();
+ }
+
+ @Override
@Transactional
public Result distributeFast(DistributeWorkOrderVO data) {
// 鑾峰彇褰撳墠鏃堕棿
@@ -846,6 +880,9 @@
distributeUnLock();
}
}
+
+
+
@Override
@Transactional
@@ -1207,6 +1244,8 @@
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)
--
Gitblit v1.8.0