From 397eda7e04fd23016ba55b1b12af63bfeb00e482 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 12 十一月 2024 11:16:55 +0800
Subject: [PATCH] bug+检测按钮+新的故障下拉框+工单删除+记录检测离线具体时间点等等
---
ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml | 6
ycl-common/src/main/java/pojo/CascadeOption.java | 18 ++
ycl-pojo/src/main/java/com/ycl/platform/domain/result/SYS/TMonitorResult.java | 6
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderYwConditionRecordVO.java | 3
ycl-server/src/main/java/com/ycl/task/ContractTask.java | 48 +++---
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml | 45 +++--
ycl-pojo/src/main/java/com/ycl/platform/domain/query/DistributeWorkOrderQuery.java | 2
ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java | 26 +++
ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderExportQuery.java | 2
ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml | 3
ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java | 5
ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java | 13 +
ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java | 7
ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java | 11 +
ycl-server/src/main/java/com/ycl/thread/OnlineCheckThread.java | 4
ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java | 20 +-
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 133 +++++++++++++++-
ycl-server/src/main/java/com/ycl/task/MonitorTask.java | 3
ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java | 4
ycl-common/src/main/java/enumeration/ErrorType.java | 80 ++++++---
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml | 2
21 files changed, 340 insertions(+), 101 deletions(-)
diff --git a/ycl-common/src/main/java/enumeration/ErrorType.java b/ycl-common/src/main/java/enumeration/ErrorType.java
index 743fe1f..43630c1 100644
--- a/ycl-common/src/main/java/enumeration/ErrorType.java
+++ b/ycl-common/src/main/java/enumeration/ErrorType.java
@@ -3,52 +3,70 @@
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.Getter;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
/**
* @author锛歺p
* @date锛�2024/8/19 11:39
*/
@Getter
public enum ErrorType {
-
- PLATFORM_OFFLINE("PLATFORMOFFLINE", "骞冲彴绂荤嚎"),
- SEVER_INTERRUPT("SEVERINTERRUPT", "鏈嶅姟涓柇"),
- DEVICE_OFFLINE("DEVICEOFFLINE", "璁惧绂荤嚎"),
- VIDEO_LOSS("VIDEOMISS", "褰曞儚缂哄け"),
- VIDEO_NONE("NOVIDEO", "鏃犲綍鍍�"),
- POINT_INFO_ERROR("POINTINFOERRO", "鐐逛綅淇℃伅閿欒"),
- POINT_INFO_MISS("POINTINFOMISS", "鐐逛綅淇℃伅涓嶅叏"),
- SIGNAL_LOSS("SIGNALMISS", "淇″彿缂哄け"),
- SCREEN_COLOR_DEVIATION("SCREENCOLOR", "鐢婚潰鍋忚壊"),
- SNOW_STORM("SCREENSNOW", "闆姳骞叉壈"),
- STRIPE_INTERFERENCE("SCREENSTRIP", "鏉$汗骞叉壈"),
- SCREEN_OCCLUSION("SCREENSHADE", "鐢婚潰閬尅"),
- ABNORMAL_CLARITY("SCREENBLUR", "娓呮櫚搴﹀紓甯�"),
- ABNORMAL_BRIGHTNESS("SCREENLIGHT", "浜害寮傚父"),
- UNKNOWN("UNKNOWN", "鏈煡"),
- CLOCK_SKEW("CLOCKSKEW", "鏃堕挓鍋忓樊"),
- OSD_ERROR("OSD", "osd寮傚父"),
- PIC_URLABNORMAL("PICURLABNORMAL","鍥剧墖璁块棶寮傚父"),
- MONITOR_UNQUALIFY("MONITORUNQUALIFY", "涓�鏈轰竴妗d笉鍚堟牸"),
- PIC_UNUSEFUL("PICUNUSEFUL", "澶у浘涓嶅彲鐢�"),
- VIDEO_ORPIC_UNNORMAL("VIDEOORPICUNNORMAL", "瑙嗛鎷夋祦銆佸浘鐗囪幏鍙栧紓甯�"),
+ //閫氱敤
+// PLATFORM_OFFLINE("PLATFORMOFFLINE", "骞冲彴绂荤嚎","COMMON"),
+// SEVER_INTERRUPT("SEVERINTERRUPT", "鏈嶅姟涓柇","COMMON"),
+ DEVICE_OFFLINE("DEVICEOFFLINE", "璁惧绂荤嚎","COMMON"),
+ POINT_INFO_ERROR("POINTINFOERRO", "鐐逛綅淇℃伅閿欒","COMMON"),
+ //瑙嗛
+ CLOCK_SKEW("CLOCKSKEW", "鏃堕挓鍋忓樊","VIDEO"),
+ SIGNAL_LOSS("SIGNALMISS", "淇″彿缂哄け","VIDEO"),
+ SCREEN_COLOR_DEVIATION("SCREENCOLOR", "鐢婚潰鍋忚壊","VIDEO"),
+ SNOW_STORM("SCREENSNOW", "闆姳骞叉壈","VIDEO"),
+ STRIPE_INTERFERENCE("SCREENSTRIP", "鏉$汗骞叉壈","VIDEO"),
+ SCREEN_OCCLUSION("SCREENSHADE", "鐢婚潰閬尅","VIDEO"),
+ ABNORMAL_CLARITY("SCREENBLUR", "娓呮櫚搴﹀紓甯�","VIDEO"),
+ ABNORMAL_BRIGHTNESS("SCREENLIGHT", "浜害寮傚父","VIDEO"),
+ OSD_ERROR("OSD", "osd寮傚父","VIDEO"),
+// VIDEO_LOSS("VIDEOMISS", "褰曞儚缂哄け","VIDEO"),
+// VIDEO_NONE("NOVIDEO", "鏃犲綍鍍�","VIDEO"),
+// POINT_INFO_MISS("POINTINFOMISS", "鐐逛綅淇℃伅涓嶅叏","COMMON"),
+// UNKNOWN("UNKNOWN", "鏈煡"),
+// PIC_URLABNORMAL("PICURLABNORMAL","鍥剧墖璁块棶寮傚父",""),
+// MONITOR_UNQUALIFY("MONITORUNQUALIFY", "涓�鏈轰竴妗d笉鍚堟牸"),
+// PIC_UNUSEFUL("PICUNUSEFUL", "澶у浘涓嶅彲鐢�"),
+// VIDEO_ORPIC_UNNORMAL("VIDEOORPICUNNORMAL", "瑙嗛鎷夋祦銆佸浘鐗囪幏鍙栧紓甯�"),
// 闃堝��
- CLOCK_RIGHT("CLOCK_RIGHT", "鏃堕挓鍑嗙‘鐜囧紓甯�"),
- LONG_DAY_NO_DATA("LONG_DAY_NO_DATA", "闀挎椂闂存棤鏁版嵁"),
- DATA_TIMELY_ERROR("DATA_TIMELY_ERROR", "鏁版嵁鍙婃椂鎬у紓甯�"),
- NOT_UNIQUE_DATA_VOLUME("NOT_UNIQUE_DATA_VOLUME", "涓嶅敮涓�鏁版嵁閲忓紓甯�"),
- UNRECOGNIZED_DAY_VOLUME("UNRECOGNIZED_DAY_VOLUME", "鐧藉ぉ鏈瘑鍒暟鎹噺寮傚父"),
- CAR_SIX("CAR_SIX", "杞﹁締鍏」灞炴�т笉瀹屾暣"),
- MODELING_FAIL("MODELING_FAIL", "寤烘ā澶辫触鐜囧紓甯�"),
- FACE_LOW("FACE_LOW", "浜鸿劯浣庡垎鐜囧紓甯�"),
+ //杞﹁締浜鸿劯閫氱敤
+ CLOCK_RIGHT("CLOCK_RIGHT", "鏃堕挓鍑嗙‘鐜囧紓甯�","CARORFACE"),
+ LONG_DAY_NO_DATA("LONG_DAY_NO_DATA", "闀挎椂闂存棤鏁版嵁","CARORFACE"),
+ DATA_TIMELY_ERROR("DATA_TIMELY_ERROR", "鏁版嵁鍙婃椂鎬у紓甯�","CARORFACE"),
+ NOT_UNIQUE_DATA_VOLUME("NOT_UNIQUE_DATA_VOLUME", "涓嶅敮涓�鏁版嵁閲忓紓甯�","CARORFACE"),
+ UNRECOGNIZED_DAY_VOLUME("UNRECOGNIZED_DAY_VOLUME", "鐧藉ぉ鏈瘑鍒暟鎹噺寮傚父","CARORFACE"),
+ //杞﹁締
+ CAR_SIX("CAR_SIX", "杞﹁締鍏」灞炴�т笉瀹屾暣","CAR"),
+ //浜鸿劯
+ MODELING_FAIL("MODELING_FAIL", "寤烘ā澶辫触鐜囧紓甯�","FACE"),
+ FACE_LOW("FACE_LOW", "浜鸿劯浣庡垎鐜囧紓甯�","FACE"),
;
private String value;
private String desc;
- ErrorType(String value, String desc) {
+ private String category;
+
+ ErrorType(String value, String desc,String category) {
this.value = value;
this.desc = desc;
+ this.category = category;
+ }
+
+ // 鏍规嵁鍒嗙被鑾峰彇閿欒绫诲瀷鍒楄〃
+ public static List<ErrorType> getErrorTypesByCategory(String category) {
+ return Arrays.stream(values())
+ .filter(errorType -> errorType.getCategory() == category)
+ .collect(Collectors.toList());
}
}
diff --git a/ycl-common/src/main/java/pojo/CascadeOption.java b/ycl-common/src/main/java/pojo/CascadeOption.java
new file mode 100644
index 0000000..d325f09
--- /dev/null
+++ b/ycl-common/src/main/java/pojo/CascadeOption.java
@@ -0,0 +1,18 @@
+package pojo;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+//鍓嶇绾ц仈閫夋嫨鏁版嵁
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class CascadeOption {
+ private String value;
+ private String label;
+ private List<CascadeOption> children;
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DistributeWorkOrderQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DistributeWorkOrderQuery.java
index 015d175..222727f 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DistributeWorkOrderQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DistributeWorkOrderQuery.java
@@ -30,7 +30,7 @@
/**
* 鏁呴殰绫诲瀷
*/
- private List<String> errorTypeList;
+ private String errorType;
/**
* 宸ュ崟id
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderExportQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderExportQuery.java
index 7f677da..1475c1d 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderExportQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderExportQuery.java
@@ -38,7 +38,7 @@
/**
* 鏁呴殰绫诲瀷
*/
- private List<String> errorTypeList;
+ private String errorType;
/**
* 鐘舵��
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
index 88992c7..d1fa4cf 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
@@ -42,8 +42,11 @@
/**
* 鏁呴殰绫诲瀷
*/
- private List<String> errorTypeList;
-
+ private String errorType;
+ /**
+ * 鏁呴殰绫诲瀷
+ */
+ private String errorTypeLabel;
/**
* 鐘舵��
*/
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/SYS/TMonitorResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/SYS/TMonitorResult.java
index a05236b..828af36 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/SYS/TMonitorResult.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/SYS/TMonitorResult.java
@@ -7,6 +7,7 @@
import lombok.Data;
import org.springframework.data.mongodb.core.mapping.Document;
+import java.util.Date;
import java.util.List;
/**
@@ -30,6 +31,11 @@
private Integer checkCount;
/** 褰撴棩绂荤嚎 */
private Integer offLineCount;
+ /**
+ * 绂荤嚎鏃堕棿鐐�
+ */
+ private List<Date> offLineTime;
+ private List<String> offLineTimeStr;
/** 璁惧绫诲瀷 */
private String monitorType;
/** 璁惧鍚� */
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderYwConditionRecordVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderYwConditionRecordVO.java
index ad0aeb2..70724e1 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderYwConditionRecordVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderYwConditionRecordVO.java
@@ -37,6 +37,9 @@
/** 鏄惁绯荤粺娑堟伅 */
private Boolean sysMsg;
+ /** 鏄惁绯荤粺娑堟伅 */
+ private Integer userId;
+
public static WorkOrderYwConditionRecordVO getVoByEntity(@NonNull WorkOrderYwConditionRecord entity, WorkOrderYwConditionRecordVO vo) {
if(vo == null) {
vo = new WorkOrderYwConditionRecordVO();
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 4b71e63..10b913d 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
@@ -156,6 +156,13 @@
return workOrderService.detail(id);
}
+ @GetMapping("/check")
+ @ApiOperation(value = "鍥剧墖妫�娴�", notes = "鍥剧墖妫�娴�")
+ @PreAuthorize("@ss.hasPermi('work:order:check')")
+ public Result check(String workOrderNo,String serialNumber) {
+ return workOrderService.checkImage(workOrderNo,serialNumber);
+ }
+
@GetMapping("/list")
@ApiOperation(value = "鍒楄〃", notes = "鍒楄〃")
@PreAuthorize("@ss.hasPermi('work:order:list')")
@@ -163,6 +170,12 @@
return workOrderService.all();
}
+ @GetMapping("/errorType/list")
+ @ApiOperation(value = "鏁呴殰鍒楄〃", notes = "鏁呴殰鍒楄〃")
+ @PreAuthorize("@ss.hasPermi('work:order:list')")
+ public Result errorList() {
+ return workOrderService.errorAll();
+ }
@GetMapping("/detail/info/{workOrderNo}")
@ApiOperation(value = "璇︽儏", notes = "璇︽儏")
@PreAuthorize("@ss.hasPermi('work:order:detail')")
@@ -219,4 +232,17 @@
public Result batchDeleteWorkOrderWhite(@RequestBody List<String> ids) {
return workOrderService.batchDeleteWorkOrderWhite(ids);
}
+
+ /**
+ * 鎵归噺鍒犻櫎宸ュ崟
+ *
+ * @return {@link Result }
+ * @author
+ */
+ @DeleteMapping("/batchDelete")
+ @PreAuthorize("@ss.hasPermi('work:order:delete')")
+ @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/mapper/WorkOrderMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
index 378fd6c..7583ad6 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.platform.domain.entity.WorkOrder;
+import com.ycl.platform.domain.form.WorkOrderBatchAuditingForm;
import com.ycl.platform.domain.query.*;
import com.ycl.platform.domain.vo.DeviceInfoVO;
import com.ycl.platform.domain.vo.WorkOrderDetailVO;
@@ -109,4 +110,7 @@
* @return
*/
List<WorkOrderVO> getRecoveryInfo(List<String> orders);
+
+ List<WorkOrder> batchGetByError(@Param("form") WorkOrderBatchAuditingForm form);
+
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
index 6abc566..c816ad0 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
@@ -271,4 +271,15 @@
*/
void batchImportWhite(List<PointExport> dataList);
+ /**
+ * 妫�娴嬫寜閽�
+ * @param workOrderNo
+ * @return
+ */
+ Result checkImage(String workOrderNo,String serialNumber);
+
+ Result batchDeleteWorkOrder(List<String> workOrderNos);
+
+ Result errorAll();
+
}
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 aba88a9..b2acaff 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
@@ -43,6 +43,7 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@@ -106,6 +107,18 @@
} else {
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);
+ }
+ 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/UYErrorTypeCheckServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java
index f20f559..4ff8e9e 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java
@@ -119,16 +119,16 @@
@Override
public void recordMetaDSumCheck(List<RecordMetaDSumResult> dataList) {
- List<WorkOrder> workOrderList = dataList.stream().map(item -> {
- WorkOrder workOrder = new WorkOrder();
- if (0 == item.getRecordStatus()) {
- this.genWorkOrder(workOrder, ErrorType.VIDEO_LOSS, item.getDeviceId());
- } else if (-1 == item.getRecordStatus()) {
- this.genWorkOrder(workOrder, ErrorType.VIDEO_NONE, item.getDeviceId());
- }
- return workOrder;
- }).collect(Collectors.toList());
- workOrderService.innerAddWorkOrder(workOrderList);
+// List<WorkOrder> workOrderList = dataList.stream().map(item -> {
+// WorkOrder workOrder = new WorkOrder();
+// if (0 == item.getRecordStatus()) {
+// this.genWorkOrder(workOrder, ErrorType.VIDEO_LOSS, item.getDeviceId());
+// } else if (-1 == item.getRecordStatus()) {
+// this.genWorkOrder(workOrder, ErrorType.VIDEO_NONE, item.getDeviceId());
+// }
+// return workOrder;
+// }).collect(Collectors.toList());
+// workOrderService.innerAddWorkOrder(workOrderList);
}
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 86f83a0..8c1f764 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
@@ -44,6 +44,7 @@
import constant.CheckConstants;
import constant.Constants;
import constant.RedisConstant;
+import enumeration.ErrorType;
import enumeration.general.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -62,6 +63,7 @@
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
+import pojo.CascadeOption;
import javax.imageio.ImageIO;
import javax.swing.*;
@@ -98,6 +100,7 @@
private final NotifyService notifyService;
private final WorkOrderDistributeRecordMapper workOrderDistributeRecordMapper;
private final WorkOrderErrorTypeServiceImpl workOrderErrorTypeService;
+ private final WorkOrderErrorTypeMapper workOrderErrorTypeMapper;
private final SysConfigMapper configMapper;
private final ReportMapper reportMapper;
private final WorkOrderCheckImgMapper workOrderCheckImgMapper;
@@ -422,11 +425,12 @@
@Transactional(rollbackFor = Exception.class)
public Result batchAuditing(WorkOrderBatchAuditingForm form) {
// 鏍规嵁鏁呴殰绫诲瀷鑾峰彇鍒楄〃
- List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper)
- .in(WorkOrder::getStatus, WorkOrderStatusEnum.YW_HANDLE.getValue())
- .in(WorkOrder::getErrorType, form.getErrorTypes())
- .select(WorkOrder::getId, WorkOrder::getUnitId, WorkOrder::getWorkOrderNo, WorkOrder::getSerialNumber)
- .list();
+ List<WorkOrder> list = baseMapper.batchGetByError(form);
+// List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper)
+// .in(WorkOrder::getStatus, WorkOrderStatusEnum.YW_HANDLE.getValue())
+// .in(WorkOrder::getErrorType, form.getErrorTypes())
+// .select(WorkOrder::getId, WorkOrder::getUnitId, WorkOrder::getWorkOrderNo, WorkOrder::getSerialNumber)
+// .list();
if (list.isEmpty()) {
return Result.error("娌℃湁宸ュ崟鍙互瀹℃牳");
}
@@ -521,6 +525,9 @@
public List<WorkOrderYwConditionRecordVO> selectYwConditionByYwId(String workOrderNo) {
List<WorkOrderYwConditionRecordVO> ywConditionList = workOrderYwConditionRecordMapper.selectYwConditionByYwId(workOrderNo);
ywConditionList.stream().forEach(item -> {
+ if(item.getUserId().equals(1)){
+ item.setUnitName("绠$悊鍛�");
+ }
if (Objects.nonNull(item.getSysMsg()) && item.getSysMsg()) {
item.setUnitName("绯荤粺娑堟伅");
}
@@ -595,7 +602,18 @@
if (!CollectionUtils.isEmpty(page.getRecords())) {
page.getRecords().stream().forEach(item -> {
if (StringUtils.hasText(item.getErrorType())) {
- item.setErrorTypeList(List.of(item.getErrorType().split(",")));
+ List<String> errorTypeList = new ArrayList<>(List.of(item.getErrorType().split(",")));
+ int index = errorTypeList.indexOf(query.getErrorTypeLabel());
+ if (index != -1) {
+ // 淇濆瓨瑕佺Щ鍔ㄧ殑鍏冪礌
+ String firstOccurrence = errorTypeList.get(index);
+ // 浠庡垪琛ㄤ腑绉婚櫎璇ュ厓绱狅紙绗竴娆″嚭鐜扮殑浣嶇疆锛�
+ errorTypeList.remove(index);
+ // 灏嗚鍏冪礌娣诲姞鍒板垪琛ㄧ殑棣栦綅
+ errorTypeList.add(0, firstOccurrence);
+ }
+ // 璁剧疆鏇存柊鍚庣殑鍒楄〃
+ item.setErrorTypeList(errorTypeList);
}
if (StringUtils.hasText(item.getImgListStr())) {
item.setImgList(List.of(item.getImgListStr().split(",")));
@@ -835,7 +853,7 @@
@Override
- public synchronized String getFrameImgByDevice(String deviceId, String channelId, String workOrderNo) throws Exception {
+ public String getFrameImgByDevice(String deviceId, String channelId, String workOrderNo) throws Exception {
String url = String.format(this.rtspServer + "/api/play/start/img/%s/%s", deviceId, channelId);
log.info("璁块棶璺緞{}",url);
String result = HttpUtils.sendGet(url);
@@ -1037,7 +1055,9 @@
@Override
public List<WorkOrderVO> export (WorkOrderExportQuery query){
- query.setUnitId(SecurityUtils.getUnitId());
+ if(query.getUnitId()==null) {
+ query.setUnitId(SecurityUtils.getUnitId());
+ }
if (query.getStart() != null) query.setStart(query.getStart() + " 00:00:00");
if (query.getEnd() != null) query.setEnd(query.getEnd() + " 23:59:59");
@@ -1119,5 +1139,102 @@
insertWhiteList.stream().forEach(white -> workOrderWhiteMapper.insert(white));
}
+ /**
+ * 妫�娴嬪伐鍗曟寜閽�
+ * @param workOrderNo
+ * @return
+ */
+ @Override
+ public Result checkImage(String workOrderNo,String serialNumber) {
+ // 鏌ュ嚭鍥芥爣璁惧锛屽氨涓�鏉℃暟鎹�
+ List<DeviceInfo> gbDevices = new LambdaQueryChainWrapper<>(deviceInfoMapper)
+ .orderByDesc(DeviceInfo::getUpdateTime)
+ .last("limit 1")
+ .list();
+ if (!CollectionUtils.isEmpty(gbDevices)) {
+ try {
+ String imgUrl = this.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), serialNumber,workOrderNo);
+ if (StringUtils.hasText(imgUrl)) {
+ WorkOrderCheckImg img = new WorkOrderCheckImg();
+ img.setWorkOrderNo(workOrderNo);
+ img.setImgUrl(imgUrl);
+ img.setCreateTime(new Date());
+ workOrderCheckImgMapper.insert(img);
+ }
+ return Result.ok().data(imgUrl);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return Result.ok();
+ }
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result batchDeleteWorkOrder(List<String> workOrderNos) {
+ if(!CollectionUtils.isEmpty(workOrderNos)) {
+ //鍒犻櫎宸ュ崟瀹℃牳璁板綍
+ workOrderAuditingRecordMapper.delete(new QueryWrapper<WorkOrderAuditingRecord>().in("work_order_no", workOrderNos));
+ //鍒犻櫎宸ュ崟鍥剧墖璁板綍
+ workOrderCheckImgMapper.delete(new QueryWrapper<WorkOrderCheckImg>().in("work_order_no", workOrderNos));
+ //鍒犻櫎宸ュ崟涓嬪彂璁板綍
+ workOrderDistributeRecordMapper.delete(new QueryWrapper<WorkOrderDistributeRecord>().in("work_order_no", workOrderNos));
+ //鍒犻櫎宸ュ崟鏁呴殰绫诲瀷
+ workOrderErrorTypeMapper.delete(new QueryWrapper<WorkOrderErrorType>().in("work_order_no", workOrderNos));
+ //鍒犻櫎宸ュ崟鎯呭喌璁板綍
+ workOrderYwConditionRecordMapper.delete(new QueryWrapper<WorkOrderYwConditionRecord>().in("work_order_no", workOrderNos));
+ //鍒犻櫎宸ュ崟
+ this.baseMapper.delete(new QueryWrapper<WorkOrder>().in("work_order_no", workOrderNos));
+ }
+ return Result.ok();
+ }
+
+ @Override
+ public Result errorAll() {
+ List<CascadeOption> results = new ArrayList<>();
+ CascadeOption video = new CascadeOption();
+ video.setLabel("瑙嗛");
+ video.setValue("VIDEO");
+ List<ErrorType> videoErr = ErrorType.getErrorTypesByCategory("VIDEO");
+ List<ErrorType> videoErr1 = ErrorType.getErrorTypesByCategory("COMMON");
+ videoErr.addAll(videoErr1);
+ List<CascadeOption> videoChildren = videoErr.stream().map(item -> CascadeOption.builder()
+ .value(item.getValue())
+ .label(item.getDesc())
+ .build()).collect(Collectors.toList());
+ video.setChildren(videoChildren);
+
+ CascadeOption car = new CascadeOption();
+ car.setLabel("杞﹁締");
+ car.setValue("CAR");
+ List<ErrorType> carErr = ErrorType.getErrorTypesByCategory("CAR");
+ List<ErrorType> carErr1 = ErrorType.getErrorTypesByCategory("COMMON");
+ List<ErrorType> carErr2 = ErrorType.getErrorTypesByCategory("CARORFACE");
+ carErr.addAll(carErr1);
+ carErr.addAll(carErr2);
+ List<CascadeOption> carChildren = carErr.stream().map(item -> CascadeOption.builder()
+ .value(item.getValue())
+ .label(item.getDesc())
+ .build()).collect(Collectors.toList());
+ car.setChildren(carChildren);
+
+ CascadeOption face = new CascadeOption();
+ face.setLabel("浜鸿劯");
+ face.setValue("FACE");
+ List<ErrorType> faceErr = ErrorType.getErrorTypesByCategory("FACE");
+ List<ErrorType> faceErr1 = ErrorType.getErrorTypesByCategory("COMMON");
+ List<ErrorType> faceErr2 = ErrorType.getErrorTypesByCategory("CARORFACE");
+ faceErr.addAll(faceErr1);
+ faceErr.addAll(faceErr2);
+ List<CascadeOption> faceChildren = faceErr.stream().map(item -> CascadeOption.builder()
+ .value(item.getValue())
+ .label(item.getDesc())
+ .build()).collect(Collectors.toList());
+ face.setChildren(faceChildren);
+
+ results.add(video);
+ results.add(car);
+ results.add(face);
+ return Result.ok().data(results);
+ }
}
diff --git a/ycl-server/src/main/java/com/ycl/task/ContractTask.java b/ycl-server/src/main/java/com/ycl/task/ContractTask.java
index ca1e987..44702c0 100644
--- a/ycl-server/src/main/java/com/ycl/task/ContractTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/ContractTask.java
@@ -222,31 +222,31 @@
}
String errorType = workOrder.getErrorType();
//瀛樺偍鏁呴殰 褰曞儚鎴栧浘鐗囪闂紓甯�
- if (ErrorType.VIDEO_NONE.getValue().equals(errorType) || ErrorType.PIC_URLABNORMAL.getValue().equals(errorType)) {
- if (!CollectionUtils.isEmpty(storeRuleMap)) {
- storeRuleMap.forEach((contractId, rules) -> {
- Integer unitId = rules.get(0).getUnitId();
- //鎵惧埌瀵瑰簲鐨勮鍒�
- if (workOrder.getUnitId().equals(unitId)) {
- //宸ュ崟涓嬪彂鏃堕棿
- Date createTime = workOrder.getDistributeTime();
- Date auditTime = workOrder.getAuditTime();
- double diffTime = (double) (auditTime.getTime() - createTime.getTime()) / (1000 * 60 * 60);
- //閫夋嫨鏃堕棿鑼冨洿鍐呯殑瑙勫垯
- for (CalculateRuleVO rule : rules) {
- if (checkRange(rule.getMin(), rule.getMax(), new BigDecimal(diffTime))) {
- double deductScore = rule.getCalcFraction() * Math.ceil(diffTime);
- ContractScore contractScore = getContractScore(rule, deductScore, Math.round(diffTime * 100) / 100 + "", Remark + "宸ュ崟缂栧彿涓�:" + workOrder.getWorkOrderNo() + "澶勭悊瓒呮椂锛屾墸闄�" + deductScore + "鍒�");
- contractScoreList.add(contractScore);
- workOrderList.add(workOrder.getWorkOrderNo());
- }
- }
- }
- });
- }
- }
+// if (ErrorType.VIDEO_NONE.getValue().equals(errorType) || ErrorType.PIC_URLABNORMAL.getValue().equals(errorType)) {
+// if (!CollectionUtils.isEmpty(storeRuleMap)) {
+// storeRuleMap.forEach((contractId, rules) -> {
+// Integer unitId = rules.get(0).getUnitId();
+// //鎵惧埌瀵瑰簲鐨勮鍒�
+// if (workOrder.getUnitId().equals(unitId)) {
+// //宸ュ崟涓嬪彂鏃堕棿
+// Date createTime = workOrder.getDistributeTime();
+// Date auditTime = workOrder.getAuditTime();
+// double diffTime = (double) (auditTime.getTime() - createTime.getTime()) / (1000 * 60 * 60);
+// //閫夋嫨鏃堕棿鑼冨洿鍐呯殑瑙勫垯
+// for (CalculateRuleVO rule : rules) {
+// if (checkRange(rule.getMin(), rule.getMax(), new BigDecimal(diffTime))) {
+// double deductScore = rule.getCalcFraction() * Math.ceil(diffTime);
+// ContractScore contractScore = getContractScore(rule, deductScore, Math.round(diffTime * 100) / 100 + "", Remark + "宸ュ崟缂栧彿涓�:" + workOrder.getWorkOrderNo() + "澶勭悊瓒呮椂锛屾墸闄�" + deductScore + "鍒�");
+// contractScoreList.add(contractScore);
+// workOrderList.add(workOrder.getWorkOrderNo());
+// }
+// }
+// }
+// });
+// }
+// }
//鍓嶇鎰熺煡婧愭不鐞嗗伐浣滐紙鏃堕挓鍚屾瑙勫垯銆丱SD瑙勫垯銆佷竴鏈轰竴妗h鍒欙級
- if (ErrorType.MONITOR_UNQUALIFY.getValue().equals(errorType) || ErrorType.OSD_ERROR.getValue().equals(errorType) || ErrorType.CLOCK_SKEW.getValue().equals(errorType)) {
+ if (ErrorType.POINT_INFO_ERROR.getValue().equals(errorType) || ErrorType.OSD_ERROR.getValue().equals(errorType) || ErrorType.CLOCK_SKEW.getValue().equals(errorType)) {
if (!CollectionUtils.isEmpty(monitorRuleMap)) {
monitorRuleMap.forEach((contractId, rules) -> {
Integer unitId = rules.get(0).getUnitId();
diff --git a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
index 1b3a5ac..91c191c 100644
--- a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
@@ -122,6 +122,7 @@
if (osdCheckResult != null) {
monitor.setDeviceType(osdCheckResult.getDeviceBrand());
}
+
monitorList.add(monitor);
}
});
@@ -130,6 +131,8 @@
//鑰佽澶囩姸鎬佹敼涓轰笉鍙備笌鑰冩牳
if (!points.contains(key)) {
value.setExamineStatus(Boolean.FALSE);
+ //鍗曚綅璁剧疆涓虹┖
+ value.setUnitId(null);
ywPointList.add(value);
}
});
diff --git a/ycl-server/src/main/java/com/ycl/thread/OnlineCheckThread.java b/ycl-server/src/main/java/com/ycl/thread/OnlineCheckThread.java
index 38a7f89..c00ca77 100644
--- a/ycl-server/src/main/java/com/ycl/thread/OnlineCheckThread.java
+++ b/ycl-server/src/main/java/com/ycl/thread/OnlineCheckThread.java
@@ -63,8 +63,8 @@
@Override
public TMonitorResult call() {
TMonitorResult result = checkPointUtil.check(monitor);
- // 涓�澶╁唴鐩戞祴鍒扮绾�1娆′互涓婏紝鐢熸垚宸ュ崟
- if (result.getOffLineCount() >= times) {
+ // 杩欐涓嶅湪绾夸笖涓�澶╁唴鐩戞祴鍒扮绾�2娆″強浠ヤ笂锛岀敓鎴愬伐鍗�
+ if (!result.getPingOnline() && result.getOffLineCount() >= times) {
WorkOrder workOrder = new WorkOrder();
workOrder.setSerialNumber(result.getNo());
List<String> errList = new ArrayList<>();
diff --git a/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java b/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
index a3fbf48..cc5fa17 100644
--- a/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
+++ b/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
@@ -71,6 +71,7 @@
} else {
map = new HashMap<>();
}
+
if (!monitor.getPingOnline()) {
try {
reachable = InetAddress.getByName(monitor.getIp()).isReachable(5000);
@@ -81,6 +82,10 @@
}
if (!monitor.getPingOnline()) {
offLineTimes++;
+ List<Date> offLineTime = monitor.getOffLineTime();
+ if(CollectionUtils.isEmpty(offLineTime)) offLineTime = new ArrayList<>();
+ offLineTime.add(new Date());
+ monitor.setOffLineTime(offLineTime);
}
map.put("checkTimes", checkTimes);
map.put("offLineTimes", offLineTimes);
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index af04ecb..5e6b7dd 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -128,7 +128,7 @@
left join (
WITH cte AS (
SELECT *,row_number() OVER(PARTITION BY serial_number ORDER BY create_time DESC) rn FROM t_work_order
- WHERE deleted = 0 AND status == 'AUDITING_SUCCESS'
+ WHERE deleted = 0 AND status = 'AUDITING_SUCCESS'
) SELECT * FROM cte WHERE rn=1
) w on m.serial_number = w.serial_number and w.deleted = 0
left join t_yw_unit u on p.unit_id = u.id and u.deleted = 0
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
index d7da245..12caa67 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -58,8 +58,8 @@
FROM
t_work_order wo
INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number
- INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no
INNER JOIN t_yw_unit u ON wo.unit_id = u.id AND u.deleted = 0
+ INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no
INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type'
LEFT JOIN t_work_order_check_img ci ON ci.work_order_no = wo.work_order_no
LEFT JOIN t_yw_people p ON wo.yw_people_id = p.id AND p.deleted = 0
@@ -68,13 +68,12 @@
<if test="query.unitId != null">
AND wo.unit_id = #{query.unitId}
</if>
- <if test="query.errorTypeList != null and query.errorTypeList.size() > 0">
+ <if test="query.errorType != null and query.errorType != ''">
AND (EXISTS (
SELECT 1
FROM t_work_order_error_type twoet
WHERE twoet.work_order_no = wo.work_order_no
- AND twoet.error_name in
- <foreach collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType}</foreach>
+ AND twoet.error_name = #{query.errorType}
))
</if>
<if test="query.keyword != null and query.keyword != ''">
@@ -118,8 +117,8 @@
t_work_order wo
INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number
INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no
- INNER JOIN t_yw_unit u ON wo.unit_id = u.id AND u.deleted = 0
INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type'
+ INNER JOIN t_yw_unit u ON wo.unit_id = u.id AND u.deleted = 0
LEFT JOIN t_work_order_check_img ci ON ci.work_order_no = wo.work_order_no
LEFT JOIN t_yw_people p ON wo.yw_people_id = p.id AND p.deleted = 0
WHERE
@@ -136,13 +135,12 @@
<if test="query.start != null and query.end != null">
AND wo.create_time BETWEEN #{query.start} AND #{query.end}
</if>
- <if test="query.errorTypeList != null and query.errorTypeList.size() > 0">
+ <if test="query.errorType != null and query.errorType !='' ">
AND (EXISTS (
SELECT 1
FROM t_work_order_error_type twoet
WHERE twoet.work_order_no = wo.work_order_no
- AND twoet.error_name in
- <foreach collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType}</foreach>
+ AND twoet.error_name = #{query.errorType}
))
</if>
GROUP BY
@@ -170,9 +168,9 @@
t_work_order wo
INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number
INNER JOIN t_yw_point yp ON yp.serial_number = wo.serial_number AND yp.deleted = 0
+ INNER JOIN t_yw_unit u ON wo.unit_id = u.id and u.deleted = 0
INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no
INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type'
- INNER JOIN t_yw_unit u ON wo.unit_id = u.id and u.deleted = 0
LEFT JOIN t_yw_people p ON wo.yw_people_id = p.id and p.deleted = 0
LEFT JOIN t_work_order_distribute_record odr ON odr.work_order_no = wo.work_order_no AND odr.deleted = 0
LEFT JOIN sys_user su ON su.user_id = odr.user_id
@@ -194,14 +192,12 @@
<if test="query.start != null and query.end != null">
AND wo.create_time BETWEEN #{query.start} AND #{query.end}
</if>
- <if test="query.errorTypeList != null and query.errorTypeList.size() > 0">
+ <if test="query.errorType != null and query.errorType != ''">
AND (EXISTS (
SELECT 1
FROM t_work_order_error_type twoet
WHERE twoet.work_order_no = wo.work_order_no
- AND twoet.error_name in
- <foreach collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType}
- </foreach>
+ AND twoet.error_name = #{query.errorType}
))
</if>
GROUP BY
@@ -292,8 +288,8 @@
<select id="workOrderTotal" resultType="com.ycl.platform.domain.vo.screen.WorkOrderTotalVO">
SELECT
- COUNT(*) AS totalNum,
- COUNT(IF(w.status != 'AUDITING_SUCCESS' and w.status != 'WAIT_DISTRIBUTED', 1, NULL)) AS todoNum,
+ COUNT(IF(w.status != 'WAIT_DISTRIBUTE', 1, NULL)) AS totalNum,
+ COUNT(IF(w.status != 'AUDITING_SUCCESS' and w.status != 'WAIT_DISTRIBUTE', 1, NULL)) AS todoNum,
COUNT(IF(w.status = 'AUDITING_SUCCESS', 1, NULL)) AS doneNum
FROM t_work_order w
LEFT JOIN t_yw_point p ON w.serial_number = p.serial_number AND p.deleted = 0
@@ -437,5 +433,22 @@
p.yw_person_name
</select>
-
+ <select id="batchGetByError" resultType="com.ycl.platform.domain.entity.WorkOrder">
+ select wo.id,wo.unit_id,wo.work_order_no,wo.serial_number
+ from t_work_order wo
+ <where>
+ wo.deleted = 0 and wo.status = 'YW_HANDLE'
+ <if test="form.errorTypes != null and form.errorTypes.size() > 0">
+ AND (EXISTS (
+ SELECT 1
+ FROM t_work_order_error_type twoet
+ WHERE twoet.work_order_no = wo.work_order_no
+ AND twoet.error_name in
+ <foreach collection="form.errorTypes" open="(" separator="," close=")" item="errorType">
+ #{errorType}
+ </foreach>
+ ))
+ </if>
+ </where>
+ </select>
</mapper>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml
index 1697b67..992bf4f 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml
@@ -11,10 +11,11 @@
<result column="unit_name" property="unitName"/>
<result column="sys_msg" property="sysMsg"/>
<result column="yw_proofMaterials" property="ywProofMaterials"/>
+ <result column="user_id" property="userId"/>
</resultMap>
<select id="selectYwConditionByYwId" resultMap="BaseResultMap">
- SELECT DISTINCT yw.id, yu.id as unit_id, yu.unit_name,yw.yw_condition, yw.yw_proofMaterials ,yw.create_time, yw.sys_msg, su.nick_name
+ SELECT DISTINCT yw.id, yu.id as unit_id, yu.unit_name,yw.yw_condition, yw.yw_proofMaterials ,yw.create_time, yw.sys_msg, su.nick_name,su.user_id
FROM t_work_order_yw_condition_record yw
LEFT JOIN sys_user su ON yw.commit_user = su.user_id AND yw.deleted = 0
LEFT JOIN t_yw_unit yu ON su.unit_id = yu.id
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
index b88a779..6f84271 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
@@ -57,14 +57,12 @@
<if test="query.start != null and query.end != null">
AND wo.create_time BETWEEN #{query.start} AND #{query.end}
</if>
- <if test="query.errorTypeList != null and query.errorTypeList.size() > 0">
+ <if test="query.errorType != null and query.errorType !='' ">
AND (EXISTS (
SELECT 1
FROM t_work_order_error_type twoet
WHERE twoet.work_order_no = wo.work_order_no
- AND twoet.error_name in
- <foreach collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType}
- </foreach>
+ AND twoet.error_name = #{query.errorType}
))
</if>
</select>
--
Gitblit v1.8.0