From 8af39d20413790b72658675f3182714cc59011b3 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期六, 24 八月 2024 17:37:31 +0800
Subject: [PATCH] 工单检测生成优化、海康阈值校验优化
---
ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderYwConditionRecordMapper.java | 6 +
ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java | 81 +++++++++++++++-----
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml | 10 ++
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java | 6
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/VehicleDeviceInspectionResult.java | 4
ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml | 10 ++
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 25 +++++-
ycl-server/src/main/java/com/ycl/task/UYTask.java | 68 ++++++++--------
ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java | 8 ++
ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderErrorTypeMapper.java | 1
ycl-common/src/main/java/enumeration/ErrorType.java | 10 ++
11 files changed, 163 insertions(+), 66 deletions(-)
diff --git a/ycl-common/src/main/java/enumeration/ErrorType.java b/ycl-common/src/main/java/enumeration/ErrorType.java
index 91b3cf1..743fe1f 100644
--- a/ycl-common/src/main/java/enumeration/ErrorType.java
+++ b/ycl-common/src/main/java/enumeration/ErrorType.java
@@ -31,6 +31,16 @@
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", "浜鸿劯浣庡垎鐜囧紓甯�"),
;
private String value;
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java
index 71231ca..39bcbe4 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java
@@ -22,9 +22,9 @@
private static final long serialVersionUID = 1L;
- @ApiModelProperty("宸ュ崟ID")
- @TableField("work_order_id")
- private Integer workOrderId;
+ @ApiModelProperty("宸ュ崟鍙�")
+ @TableField("work_order_no")
+ private String workOrderNo;
@ApiModelProperty("鎻愪氦浜�")
@TableField("commit_user")
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/VehicleDeviceInspectionResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/VehicleDeviceInspectionResult.java
index 2141d74..cc7673d 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/VehicleDeviceInspectionResult.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/VehicleDeviceInspectionResult.java
@@ -120,7 +120,7 @@
@Data
public static class SnapClock {
/**
- * 鏃堕挓鍑嗙‘鐜�
+ * 鏃堕挓鍑嗙‘鐜囷細1 == 100%
*/
private Float clockPercent;
@@ -178,7 +178,7 @@
@Data
public static class SnapTimely {
/**
- * 鍙婃椂鐜�
+ * 鍙婃椂鐜� 1 == 100%
*/
private Float timelyPercent;
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderErrorTypeMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderErrorTypeMapper.java
index 21fef3c..96603cc 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderErrorTypeMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderErrorTypeMapper.java
@@ -86,4 +86,5 @@
* @return
*/
int addMany(@Param("errorTypeList") List<WorkOrderErrorType> errorTypeList);
+
}
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 53c5113..c1632e9 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
@@ -75,4 +75,12 @@
List<WorkOrderVO> selectPassOrder(@Param("startTime") LocalDateTime now, @Param("endTime")LocalDateTime thirtyDaysAgo, @Param("status") String status, @Param("auditStatus") String auditStatus);
int addMany(@Param("workOrderList") List<WorkOrder> workOrderList);
+
+ /**
+ * 鎵归噺淇敼鐘舵��
+ *
+ * @param workOrderList
+ * @return
+ */
+ int updateMany(List<WorkOrder> workOrderList);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderYwConditionRecordMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderYwConditionRecordMapper.java
index ee44f10..fbad792 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderYwConditionRecordMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderYwConditionRecordMapper.java
@@ -25,4 +25,10 @@
*/
List<WorkOrderYwConditionRecordVO> selectYwConditionByYwId(@Param("workOrderId") Integer workOrderId);
+ /**
+ * 鎵归噺鎻掑叆
+ *
+ * @param ywRecordList
+ */
+ Integer insertMany(@Param("ywRecordList") List<WorkOrderYwConditionRecord> ywRecordList);
}
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 eddf0e5..00718ae 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
@@ -121,6 +121,12 @@
List<WorkOrderErrorType> waitAddErrorTypeList = new ArrayList<>(48);
Integer updateNum = 0;
Date now = new Date();
+ // 鍥犳晠闅滅被鍨嬩笉涓�鑷磋�岃鏇存柊鐘舵�佺殑宸ュ崟
+ List<WorkOrder> willUpdateStatusWorkOrderList = new ArrayList<>(48);
+ // 鏇存敼宸ュ崟绫诲瀷鑰岃澧炲姞鐨勭郴缁熻繍缁村鐞嗕俊鎭�
+ List<WorkOrderYwConditionRecord> willAddMsg = new ArrayList<>(48);
+ // 鍗冲皢瑕佹坊鍔犵殑閿欒绫诲瀷
+ List<WorkOrderErrorType> willAddErrorType = new ArrayList<>(96);
for (WorkOrder workOrder : workOrderList) {
WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber());
if (Objects.nonNull(databaseWorkOrder)) {
@@ -138,20 +144,20 @@
workOrderErrorType.setCreateTime(now);
workOrderErrorType.setUpdateTime(now);
workOrderErrorType.setErrorName(errorType);
- workOrderErrorTypeService.save(workOrderErrorType);
+ willAddErrorType.add(workOrderErrorType);
}
}
databaseWorkOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
databaseWorkOrder.setUpdateTime(now);
- baseMapper.updateById(databaseWorkOrder);
+ willUpdateStatusWorkOrderList.add(databaseWorkOrder);
updateNum++;
// 鍚屾椂鏂板涓�涓繍缁村鐞嗕俊鎭紝琛ㄦ槑姝ゅ伐鍗曡璋冩暣
WorkOrderYwConditionRecord ywRecord = new WorkOrderYwConditionRecord();
- ywRecord.setWorkOrderId(databaseWorkOrder.getId());
+ ywRecord.setWorkOrderNo(databaseWorkOrder.getWorkOrderNo());
ywRecord.setCommitUser(1);
ywRecord.setYwCondition("鏁呴殰绫诲瀷鏇存柊锛屽伐鍗曠姸鎬佽皟鏁翠负寰呭鐞�");
ywRecord.setCreateTime(new Date());
- workOrderYwConditionRecordMapper.insert(ywRecord);
+ willAddMsg.add(ywRecord);
}
} else {
workOrder.setCreateTime(new Date());
@@ -163,6 +169,15 @@
// }
waitAddList.add(workOrder);
}
+ }
+ if (willAddErrorType.size() > 0) {
+ workOrderErrorTypeService.getBaseMapper().addMany(willAddErrorType);
+ }
+ if (willAddMsg.size() > 0) {
+ workOrderYwConditionRecordMapper.insertMany(willAddMsg);
+ }
+ if (willUpdateStatusWorkOrderList.size() > 0) {
+ this.baseMapper.updateMany(willUpdateStatusWorkOrderList);
}
if (CollectionUtils.isEmpty(waitAddList)) {
return Boolean.TRUE;
@@ -360,7 +375,7 @@
baseMapper.updateById(workOrder);
// 娣诲姞涓�鏉¤繍缁存儏鍐佃褰�
WorkOrderYwConditionRecord workOrderYwConditionRecord = new WorkOrderYwConditionRecord();
- workOrderYwConditionRecord.setWorkOrderId(workOrder.getId());
+ workOrderYwConditionRecord.setWorkOrderNo(workOrder.getWorkOrderNo());
workOrderYwConditionRecord.setCommitUser(SecurityUtils.getLoginUser().getUserId().intValue());
workOrderYwConditionRecord.setYwCondition(form.getYwCondition());
workOrderYwConditionRecord.setYwProofMaterials(form.getYwProofMaterials());
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java
index 34df3f5..c04c859 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java
@@ -12,6 +12,7 @@
import com.ycl.utils.ip.PingUtil;
import constant.YwThreadConstants;
import enumeration.CompareType;
+import enumeration.ErrorType;
import enumeration.general.BusinessTypeEnum;
import enumeration.general.WorkOrderStatusEnum;
import lombok.extern.slf4j.Slf4j;
@@ -163,24 +164,41 @@
log.error("浜鸿劯瀵硅薄鏁版嵁涓虹┖");
continue;
}
+ WorkOrder workOrder = new WorkOrder();
//妫�鏌ユ椂閽熷噯纭巼
Float clockPercent = result.getSnapClock().getClockPercent();
- check(YwThreadConstants.Face_ClockPercent, clockPercent, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.LESS_THAN_EQ,"");
+ check(YwThreadConstants.Face_ClockPercent, clockPercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_THAN_EQ, ErrorType.CLOCK_RIGHT.getValue());
//妫�鏌ユ暟鎹強鏃剁巼
Float timelyPercent = result.getSnapTimely().getTimelyPercent();
- check(YwThreadConstants.Face_TimelyPercent, timelyPercent, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.LESS_THAN_EQ,"");
+ check(YwThreadConstants.Face_TimelyPercent, timelyPercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_THAN_EQ, ErrorType.DATA_TIMELY_ERROR.getValue());
//妫�鏌ユ寔缁棤鏁版嵁澶╂暟
Integer continueNoDataCount = result.getContinueNoDataCount();
- check(YwThreadConstants.Face_ContinueNoDataCount, continueNoDataCount, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.MORE_THAN_EQ,"");
+ check(YwThreadConstants.Face_ContinueNoDataCount, continueNoDataCount, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.LONG_DAY_NO_DATA.getValue());
//妫�鏌ヤ笉鍞竴鏁版嵁閲�
Integer nouniqueCount = result.getSnapUnique().getNouniqueCount();
- check(YwThreadConstants.Face_NouniqueCount, nouniqueCount, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.MORE_THAN_EQ,"");
+ check(YwThreadConstants.Face_NouniqueCount, nouniqueCount, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.NOT_UNIQUE_DATA_VOLUME.getValue());
//妫�鏌ヤ汉鑴镐綆璇勫垎鐜�
Float lowScorePercent = result.getSnapValidity().getLowScorePercent();
- check(YwThreadConstants.Face_LowScorePercent, lowScorePercent, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.LESS_THAN_EQ,"");
+ check(YwThreadConstants.Face_LowScorePercent, lowScorePercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_THAN_EQ, ErrorType.FACE_LOW.getValue());
//妫�鏌ュ缓妯″け璐ョ巼
Float failPercent = result.getSnapValidity().getFailPercent();
- check(YwThreadConstants.Face_FailPercent, failPercent, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.LESS_THAN_EQ,"");
+ check(YwThreadConstants.Face_FailPercent, failPercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_THAN_EQ, ErrorType.MODELING_FAIL.getValue());
+ // 鐐逛綅鍦ㄧ嚎鐜�
+ if (2 == result.getSnapResult()) {
+ workOrder.setSerialNumber(result.getExternalIndexCode());
+ workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
+ if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) {
+ workOrder.setErrorTypeList(new ArrayList<>());
+ workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue());
+ } else {
+ workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue());
+ }
+ }
+ if (WorkOrderStatusEnum.WAIT_DISTRIBUTE.equals(workOrder.getStatus())) {
+ workOrderList.add(workOrder);
+ } else if (WorkOrderStatusEnum.DISTRIBUTED.equals(workOrder.getStatus())) {
+ distributeList.add(workOrder);
+ }
}
/** 娣诲姞宸ュ崟 */
workOrderService.innerAddWorkOrder(workOrderList);
@@ -205,24 +223,41 @@
log.error("杞﹁締瀵硅薄鏁版嵁涓虹┖");
continue;
}
+ WorkOrder workOrder = new WorkOrder();
//妫�鏌ユ寔缁棤鏁版嵁澶╂暟
Integer continueNoDataCount = result.getContinueNoDataCount();
- check(YwThreadConstants.Car_ContinueNoDataCount, continueNoDataCount, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.MORE_THAN_EQ,"");
+ check(YwThreadConstants.Car_ContinueNoDataCount, continueNoDataCount, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.LONG_DAY_NO_DATA.getValue());
//妫�鏌ユ椂閽熷噯纭巼
Float clockPercent = result.getSnapClock().getClockPercent();
- check(YwThreadConstants.Car_ClockPercent, clockPercent, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.LESS_THAN_EQ,"");
+ check(YwThreadConstants.Car_ClockPercent, clockPercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_THAN_EQ, ErrorType.CLOCK_RIGHT.getValue());
//妫�鏌ユ暟鎹強鏃剁巼
Float timelyPercentResult = result.getSnapTimely().getTimelyPercent();
- check(YwThreadConstants.Car_TimelyPercent, timelyPercentResult, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.LESS_THAN_EQ,"");
+ check(YwThreadConstants.Car_TimelyPercent, timelyPercentResult, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_THAN_EQ, ErrorType.DATA_TIMELY_ERROR.getValue());
//妫�鏌ヤ笉鍞竴鏁版嵁閲�
Integer nouniqueCountResult = result.getSnapUnique().getNouniqueCount();
- check(YwThreadConstants.Car_NouniqueCount, nouniqueCountResult, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.MORE_THAN_EQ,"");
+ check(YwThreadConstants.Car_NouniqueCount, nouniqueCountResult, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.NOT_UNIQUE_DATA_VOLUME.getValue());
//妫�鏌ョ櫧澶╂湭璇嗗埆閲�
Integer dayNoNumberCountResult = result.getSnapPlate().getDayNoNumberCount();
- check(YwThreadConstants.Car_DayNoNumberCount, dayNoNumberCountResult, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.MORE_THAN_EQ,"");
+ check(YwThreadConstants.Car_DayNoNumberCount, dayNoNumberCountResult, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.UNRECOGNIZED_DAY_VOLUME.getValue());
//杞﹁締鍏」灞炴�т笉瀹屾暣閲�
Integer noIntegrityCountResult = result.getIntegrity().getNoIntegrityCount();
- check(YwThreadConstants.Car_NoIntegrityCount, noIntegrityCountResult, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.MORE_THAN_EQ,"");
+ check(YwThreadConstants.Car_NoIntegrityCount, noIntegrityCountResult, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.CAR_SIX.getValue());
+ // 鐐逛綅鍦ㄧ嚎鐜�
+ if (2 == result.getSnapResult()) {
+ workOrder.setSerialNumber(result.getExternalIndexCode());
+ workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
+ if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) {
+ workOrder.setErrorTypeList(new ArrayList<>());
+ workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue());
+ } else {
+ workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue());
+ }
+ }
+ if (WorkOrderStatusEnum.WAIT_DISTRIBUTE.equals(workOrder.getStatus())) {
+ workOrderList.add(workOrder);
+ } else if (WorkOrderStatusEnum.DISTRIBUTED.equals(workOrder.getStatus())) {
+ distributeList.add(workOrder);
+ }
}
/** 娣诲姞宸ュ崟 */
workOrderService.innerAddWorkOrder(workOrderList);
@@ -251,13 +286,11 @@
* @param value 鎺ュ彛鑾峰彇鍒扮殑鍊�
* @param serialNumber 鍥芥爣鐮�
* @param thresholds 闃堝�兼潯浠秏ap
- * @param distributeList 瑕佷笅鍙戠殑宸ュ崟瀹瑰櫒
- * @param workOrderList 寰呬笅鍙戠殑宸ュ崟瀹瑰櫒
* @param compareType 姣旇緝鏂瑰紡锛�>= <=
* @param errorType 鏁呴殰绫诲瀷
* @param <T>
*/
- private <T extends Comparable<T>> void check(String key, T value, String serialNumber, Map<String, YwThreshold> thresholds, List distributeList, List workOrderList, CompareType compareType,String errorType) {
+ private <T extends Comparable<T>> void check(String key, T value, String serialNumber, Map<String, YwThreshold> thresholds, WorkOrder workOrder, CompareType compareType,String errorType) {
Optional.ofNullable(value).ifPresentOrElse(
v -> {
YwThreshold ywThreshold = thresholds.get(key);
@@ -267,18 +300,24 @@
//姣旇緝澶у皬锛屽姞鍏ュ埌瀵瑰簲寰呭鐞嗛泦鍚�
if (compareType.compare(v, thresholdAutoValue)) {
//鑷姩涓嬪彂宸ュ崟
- WorkOrder workOrder = new WorkOrder();
workOrder.setSerialNumber(serialNumber);
workOrder.setStatus(WorkOrderStatusEnum.WAIT_DISTRIBUTE);
- workOrder.setErrorType(errorType);
- workOrderList.add(workOrder);
+ if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) {
+ workOrder.setErrorTypeList(new ArrayList<>());
+ workOrder.getErrorTypeList().add(errorType);
+ } else {
+ workOrder.getErrorTypeList().add(errorType);
+ }
} else if (compareType.compare(v, thresholdValue)) {
//杩涘叆宸ュ崟浠d笅鍙�
- WorkOrder workOrder = new WorkOrder();
workOrder.setSerialNumber(serialNumber);
workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
- workOrder.setErrorType(errorType);
- distributeList.add(workOrder);
+ if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) {
+ workOrder.setErrorTypeList(new ArrayList<>());
+ workOrder.getErrorTypeList().add(errorType);
+ } else {
+ workOrder.getErrorTypeList().add(errorType);
+ }
}
},
() -> log.error("{} 涓虹┖: {}", thresholds.get(key).getName(), serialNumber)
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 1313214..3241096 100644
--- a/ycl-server/src/main/java/com/ycl/task/UYTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -144,40 +144,40 @@
public void videoOnlineTask() {
//瑙嗛鍥惧儚璐ㄩ噺
log.info("寮�濮嬫墽琛岀偣浣嶅湪绾挎暟鎹悓姝�");
- VideoOnlineParam param = new VideoOnlineParam();
- param.setPageNum(ApiConstants.PageNo);
- param.setPageSize(ApiConstants.PageSize);
- param.setArealayerno(ApiConstants.AreaNo);
- param.setStatus(ApiConstants.UY_OnlineStatus_All);
- param.setIcmpStatus(ApiConstants.UY_OnlineStatus_All);
- JSONObject jsonObject = uyClient.videoOnline(param);
- if (jsonObject != null) {
- Integer statusCode = jsonObject.getInteger("statusCode");
- if (ApiConstants.UYSuccessCode.equals(statusCode)) {
- JSONObject data = jsonObject.getJSONObject("data");
- if (data != null) {
- List<VideoOnlineResult> records = data.getList("records", VideoOnlineResult.class);
- if (!CollectionUtils.isEmpty(records)) {
- //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
- Query query = new Query(Criteria
- .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
- DeleteResult result = mongoTemplate.remove(query, VideoOnlineResult.class);
- //瀛樻斁鍦╩ongo涓�
- mongoTemplate.insertAll(records);
- // 宸ュ崟鐢熸垚
- uyErrorTypeCheckService.videoOnlineCheck(records);
- } else {
- log.error("鐐逛綅鍦ㄧ嚎缁撴灉鏁版嵁涓虹┖{}", data);
- }
- } else {
- log.error("鐐逛綅鍦ㄧ嚎缁撴灉鏁版嵁涓虹┖{}", jsonObject);
- }
- } else {
- log.error("鐐逛綅鍦ㄧ嚎缁撴灉璇锋眰澶辫触{}", jsonObject);
- }
- } else {
- log.error("鐐逛綅鍦ㄧ嚎缁撴灉鏁版嵁涓虹┖");
- }
+// VideoOnlineParam param = new VideoOnlineParam();
+// param.setPageNum(ApiConstants.PageNo);
+// param.setPageSize(ApiConstants.PageSize);
+// param.setArealayerno(ApiConstants.AreaNo);
+// param.setStatus(ApiConstants.UY_OnlineStatus_All);
+// param.setIcmpStatus(ApiConstants.UY_OnlineStatus_All);
+// JSONObject jsonObject = uyClient.videoOnline(param);
+// if (jsonObject != null) {
+// Integer statusCode = jsonObject.getInteger("statusCode");
+// if (ApiConstants.UYSuccessCode.equals(statusCode)) {
+// JSONObject data = jsonObject.getJSONObject("data");
+// if (data != null) {
+// List<VideoOnlineResult> records = data.getList("records", VideoOnlineResult.class);
+// if (!CollectionUtils.isEmpty(records)) {
+// //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
+// Query query = new Query(Criteria
+// .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+// DeleteResult result = mongoTemplate.remove(query, VideoOnlineResult.class);
+// //瀛樻斁鍦╩ongo涓�
+// mongoTemplate.insertAll(records);
+// // 宸ュ崟鐢熸垚
+// uyErrorTypeCheckService.videoOnlineCheck(records);
+// } else {
+// log.error("鐐逛綅鍦ㄧ嚎缁撴灉鏁版嵁涓虹┖{}", data);
+// }
+// } else {
+// log.error("鐐逛綅鍦ㄧ嚎缁撴灉鏁版嵁涓虹┖{}", jsonObject);
+// }
+// } else {
+// log.error("鐐逛綅鍦ㄧ嚎缁撴灉璇锋眰澶辫触{}", jsonObject);
+// }
+// } else {
+// log.error("鐐逛綅鍦ㄧ嚎缁撴灉鏁版嵁涓虹┖");
+// }
Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date())));
uyErrorTypeCheckService.videoOnlineCheck(mongoTemplate.find(query, VideoOnlineResult.class));
log.info("缁撴潫鎵ц鐐逛綅鍦ㄧ嚎鏁版嵁鍚屾");
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
index 5d2a153..87b67e7 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -219,4 +219,14 @@
WHERE wo.deleted = 0 AND wo.status = #{status} AND woar.result = #{auditStatus}
AND wo.deduct = 0 AND woar.create_time between #{startTime} and #{endTime}
</select>
+
+ <update id="updateMany">
+ <foreach collection="workOrderList" separator=";" item="item">
+ UPDATE t_work_order
+ SET
+ update_time = #{item.updateTime},
+ status = #{item.status}
+ WHERE id = #{item.id}
+ </foreach>
+ </update>
</mapper>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml
index 24fc1cd..940786c 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml
@@ -15,8 +15,16 @@
<select id="selectYwConditionByYwId" resultMap="BaseResultMap">
SELECT yw.id, yw.commit_user, yw.yw_condition, yw.yw_proofMaterials, yw.create_time, yw.sys_msg, su.nick_name
FROM t_work_order_yw_condition_record yw
- INNER JOIN sys_user su ON yw.commit_user = su.user_id AND yw.deleted = 0 AND yw.work_order_id = #{workOrderId}
+ INNER JOIN sys_user su ON yw.commit_user = su.user_id AND yw.deleted = 0 AND yw.work_order_no = #{workOrderId}
ORDER BY yw.create_time DESC
</select>
+ <insert id="insertMany">
+ insert into t_work_order_yw_condition_record (work_order_no, commit_user, yw_condition, deleted, create_time)
+ values
+ <foreach collection="ywRecordList" item="item" separator=",">
+ (#{item.workOrderNo}, #{item.commitUser}, #{item.ywCondition}, 0, now())
+ </foreach>
+ </insert>
+
</mapper>
--
Gitblit v1.8.0