From d22bbb827940050d4df2bf3fb16dae79eba91d4e Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 12 十一月 2024 18:45:15 +0800
Subject: [PATCH] 批量审核bug,离线时间点回显
---
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml | 10 ++---
ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java | 22 ++++++-----
ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java | 8 ++-
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 16 ++++++-
ycl-server/src/main/java/com/ycl/task/UYTask.java | 17 +++++++-
ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java | 22 ++++++-----
ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderAuditingForm.java | 4 +
7 files changed, 64 insertions(+), 35 deletions(-)
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderAuditingForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderAuditingForm.java
index f6188ce..7e7486d 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderAuditingForm.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderAuditingForm.java
@@ -1,8 +1,10 @@
package com.ycl.platform.domain.form;
import com.ycl.platform.base.AbsForm;
+import com.ycl.system.domain.group.Update;
import enumeration.general.WorkOrderStatusEnum;
import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
@@ -17,7 +19,7 @@
/**
* 瀹℃牳缁撴灉
*/
- @NotBlank(message = "瀹℃牳缁撴灉涓嶈兘涓虹┖")
+ @NotNull(message = "瀹℃牳缁撴灉涓嶈兘涓虹┖", groups = {Update.class})
private WorkOrderStatusEnum auditingResult;
/**
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java
index c1f61ae..4be2e99 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java
@@ -1,8 +1,10 @@
package com.ycl.platform.domain.form;
+import com.ycl.system.domain.group.Update;
import enumeration.general.WorkOrderStatusEnum;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.util.List;
@@ -19,7 +21,7 @@
/**
* 瀹℃牳缁撴灉
*/
- @NotBlank(message = "瀹℃牳缁撴灉涓嶈兘涓虹┖")
+ @NotNull(message = "瀹℃牳缁撴灉涓嶈兘涓虹┖", groups = {Update.class})
private WorkOrderStatusEnum auditingResult;
/**
@@ -30,7 +32,7 @@
/**
* 宸ュ崟缂栧彿
*/
- @NotEmpty(message = "宸ュ崟涓嶈兘涓虹┖")
- private List<String> workOrderNos;
+ @NotEmpty(message = "璇峰厛鍕鹃�夐渶瑕佸鏍哥殑宸ュ崟", groups = {Update.class})
+ private List<String> workOrderNumbers;
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
index 10b913d..3b1c71d 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
@@ -82,19 +82,21 @@
@PutMapping("/yw-condition")
@ApiOperation(value = "杩愮淮鎯呭喌", notes = "杩愮淮鎯呭喌")
- public Result ywCondition(@RequestBody @Validated(Update.class) WorkOrderYWConditionForm form) {
+ public Result ywCondition(@RequestBody @Validated WorkOrderYWConditionForm form) {
return workOrderService.ywCondition(form);
}
+ //鐜板湪娌$敤
@PutMapping("/yw-result")
@ApiOperation(value = "杩愮淮缁撴灉", notes = "杩愮淮缁撴灉")
- public Result ywCondition(@RequestBody @Validated(Update.class) WorkOrderYWResultForm form) {
+ public Result ywResult(@RequestBody @Validated WorkOrderYWResultForm form) {
return workOrderService.ywResult(form);
}
+ //鐜板湪娌$敤
@PutMapping("/check-result")
@ApiOperation(value = "妫�娴嬬粨鏋�", notes = "妫�娴嬬粨鏋�")
- public Result ywCondition(@RequestBody @Validated(Update.class) WorkOrderCheckResultForm form) {
+ public Result ywCheckResult(@RequestBody @Validated WorkOrderCheckResultForm form) {
return workOrderService.checkResult(form);
}
@@ -105,12 +107,12 @@
return workOrderService.removeById(id);
}
- @DeleteMapping("/batch")
- @ApiOperation(value = "鎵归噺鍒犻櫎", notes = "鎵归噺鍒犻櫎")
- @PreAuthorize("@ss.hasPermi('work:order:remove')")
- public Result remove(@RequestBody @NotEmpty(message = "璇烽�夋嫨鏁版嵁") List<String> ids) {
- return workOrderService.remove(ids);
- }
+// @DeleteMapping("/batch")
+// @ApiOperation(value = "鎵归噺鍒犻櫎", notes = "鎵归噺鍒犻櫎")
+// @PreAuthorize("@ss.hasPermi('work:order:remove')")
+// public Result remove(@RequestBody @NotEmpty(message = "璇烽�夋嫨鏁版嵁") List<String> ids) {
+// return workOrderService.remove(ids);
+// }
@PostMapping("/page")
@ApiOperation(value = "鍒嗛〉", notes = "鍒嗛〉")
@@ -241,7 +243,7 @@
*/
@DeleteMapping("/batchDelete")
@PreAuthorize("@ss.hasPermi('work:order:delete')")
- @ApiOperation(value = "鎵归噺鍒犻櫎宸ュ崟鐧藉悕鍗�", notes = "鎵归噺鍒犻櫎宸ュ崟鐧藉悕鍗�")
+ @ApiOperation(value = "鎵归噺鍒犻櫎宸ュ崟", notes = "鎵归噺鍒犻櫎宸ュ崟")
public Result batchDeleteWorkOrder(@RequestBody List<String> workOrderNos) {
return workOrderService.batchDeleteWorkOrder(workOrderNos);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
index b2acaff..9ea32fa 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
@@ -108,17 +108,19 @@
item.setOnlineStr("鏈煡");
}
List<Date> offLineTime = item.getOffLineTime();
- //鍚庣画鍙互鏀规垚閰嶇疆鐨勭绾挎鏁�(鎻愬彇鍓峮娆★紝n涓洪厤缃殑绂荤嚎娆℃暟)
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- if(CollectionUtils.isNotEmpty(offLineTime) && offLineTime.size()>1){
- offLineTime = offLineTime.subList(0,1);
+ if(!CollectionUtils.isEmpty(offLineTime)) {
+ //鍚庣画鍙互鏀规垚閰嶇疆鐨勭绾挎鏁�(鎻愬彇鍓峮娆★紝n涓洪厤缃殑绂荤嚎娆℃暟)
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ if (offLineTime.size() > 1) {
+ offLineTime = offLineTime.subList(0, 2);
+ }
+ List<String> dateStr = new ArrayList<>();
+ for (Date date : offLineTime) {
+ String formatDate = format.format(date);
+ dateStr.add(formatDate);
+ }
+ item.setOffLineTimeStr(dateStr);
}
- List<String> dateStr = new ArrayList<>();
- for (Date date : offLineTime) {
- String formatDate = format.format(date);
- dateStr.add(formatDate);
- }
- item.setOffLineTimeStr(dateStr);
});
params.setDeptTag(-1);
params.setDeviceType(1);
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 cd93e96..292d416 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
@@ -425,9 +425,9 @@
@Transactional(rollbackFor = Exception.class)
public Result batchAuditing(WorkOrderBatchAuditingForm form) {
//鏍规嵁宸ュ崟缂栧彿鑾峰彇宸ュ崟
- List<WorkOrder> list = baseMapper.selectByNos(form.getWorkOrderNos());
+ List<WorkOrder> list = baseMapper.selectByNos(form.getWorkOrderNumbers());
if (list.isEmpty()) {
- return Result.error("娌℃湁宸ュ崟鍙互瀹℃牳");
+ return Result.error("娌℃湁寰呭鏍稿伐鍗�");
}
List<String> workOrderNoList = list.stream().map(WorkOrder::getWorkOrderNo).collect(Collectors.toList());
List<String> serialNumbers = list.stream().map(WorkOrder::getSerialNumber).toList();
@@ -572,7 +572,17 @@
public Result removeById(String id) {
WorkOrder workOrder = baseMapper.selectById(id);
String workOrderNo = workOrder.getWorkOrderNo();
- workOrderDistributeRecordMapper.deleteByWorkOrder(workOrderNo);
+ //鍒犻櫎宸ュ崟瀹℃牳璁板綍
+ workOrderAuditingRecordMapper.delete(new QueryWrapper<WorkOrderAuditingRecord>().eq("work_order_no", workOrderNo));
+ //鍒犻櫎宸ュ崟鍥剧墖璁板綍
+ workOrderCheckImgMapper.delete(new QueryWrapper<WorkOrderCheckImg>().eq("work_order_no", workOrderNo));
+ //鍒犻櫎宸ュ崟涓嬪彂璁板綍
+ workOrderDistributeRecordMapper.delete(new QueryWrapper<WorkOrderDistributeRecord>().eq("work_order_no", workOrderNo));
+ //鍒犻櫎宸ュ崟鏁呴殰绫诲瀷
+ 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("鍒犻櫎鎴愬姛");
}
diff --git a/ycl-server/src/main/java/com/ycl/task/UYTask.java b/ycl-server/src/main/java/com/ycl/task/UYTask.java
index 737fbae..0256642 100644
--- a/ycl-server/src/main/java/com/ycl/task/UYTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -189,6 +189,15 @@
}
// 鍏堟煡鍑鸿澶嘔P闆嗗悎,鍓旈櫎鎺夊湪绾挎儏鍐垫槸鏈煡鐨�,骞朵笖鍙娴嬫鍦ㄨ�冩牳鐨勮澶囬伩鍏嶅浣欏伐鍗�
List<TMonitorResult> monitorList = monitorMapper.getDistinctIP();
+ //琛ュ厖閿欒鏃堕棿鐐�
+ Query onlineQuery = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+ Map<String, TMonitorResult> mongoMap = mongoTemplate.find(onlineQuery, TMonitorResult.class).stream().collect(Collectors.toMap(TMonitorResult::getNo, Function.identity()));
+ for (TMonitorResult result : monitorList) {
+ TMonitorResult mongoData = mongoMap.get(result.getNo());
+ if(mongoData!=null){
+ result.setOffLineTime(mongoData.getOffLineTime());
+ }
+ }
List<TMonitorResult> dataList = new ArrayList<>(48);
Integer time = times;
List<CompletableFuture<TMonitorResult>> futureList = monitorList.stream()
@@ -214,6 +223,10 @@
monitor.setPingOnline(Boolean.FALSE);
monitor.setCheckCount(checkTimes);
monitor.setOffLineCount(offLineTimes);
+ List<Date> offLineTime = monitor.getOffLineTime();
+ if(CollectionUtils.isEmpty(offLineTime)) offLineTime = new ArrayList<>();
+ offLineTime.add(new Date());
+ monitor.setOffLineTime(offLineTime);
if (monitor.getOffLineCount() >= time) {
WorkOrder workOrder = new WorkOrder();
workOrder.setSerialNumber(monitor.getNo());
@@ -321,13 +334,13 @@
}).collect(Collectors.toList());
monitorMapper.updateOnline(willUpdateList);
//绂荤嚎鐢熸垚宸ュ崟,涓�涓猧p鍙敓鎴愪竴涓伐鍗�
- List<VideoOnlineResult> workOrders = (List<VideoOnlineResult>) records.stream()
+ List<VideoOnlineResult> workOrders = new ArrayList<>(records.stream()
.filter(item -> ApiConstants.UY_OnlineSite_Offline.equals(item.getStatus()))
.collect(Collectors.toMap(
VideoOnlineResult::getIpAddr,
Function.identity(),
(existing, replacement) -> existing // 濡傛灉閬囧埌鐩稿悓鐨� IP锛屼繚鐣欑涓�涓紙existing锛�
- )).values();
+ )).values());
uyErrorTypeCheckService.videoOnlineCheck(workOrders);
} else {
log.error("鐐逛綅鍦ㄧ嚎缁撴灉鏁版嵁涓虹┖{}", data);
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
index a3d5d5c..1b74f97 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -438,12 +438,10 @@
from t_work_order wo
<where>
wo.deleted = 0 and wo.status = 'YW_HANDLE'
- <if test="workOrderNos != null and workOrderNos.size() > 0">
- wo.work_order_no in
- <foreach collection="workOrderNos" open="(" separator="," close=")" item="workOrderNo">
- #{workOrderNo}
- </foreach>
- </if>
+ and wo.work_order_no in
+ <foreach collection="workOrderNos" open="(" separator="," close=")" item="workOrderNo">
+ #{workOrderNo}
+ </foreach>
</where>
</select>
</mapper>
--
Gitblit v1.8.0