From 58b691e9cfe1e5e1ae8a62c8b66f1995eaad0e9e Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 27 二月 2025 15:07:32 +0800
Subject: [PATCH] 导出osd问题 以及缺少小时改分钟
---
ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java | 248 ++++++++++++++++++++++++++++++------------------
1 files changed, 154 insertions(+), 94 deletions(-)
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 bf9cd3d..8a19b35 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
@@ -72,6 +72,7 @@
@Autowired
private WorkOrderWhiteMapper workOrderWhiteMapper;
+
/**
* 鏌ヨ杩愮淮闃堝��
*
@@ -149,7 +150,6 @@
*/
@Override
public void videoCheck(List list) {
-
}
@Override
@@ -157,7 +157,7 @@
// 骞冲彴绂荤嚎鏁呴殰妫�娴�
if (CollectionUtils.isEmpty(list)) {
Boolean ping = PingUtil.ping("", 5);
- if (! ping) {
+ if (!ping) {
}
}
@@ -198,34 +198,46 @@
}
WorkOrder workOrder = new WorkOrder();
//妫�鏌ユ椂閽熷噯纭巼
- Float clockPercent = result.getSnapClock().getClockPercent();
- 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, workOrder, CompareType.LESS_THAN_EQ, ErrorType.DATA_TIMELY_ERROR.getValue());
- //妫�鏌ユ寔缁棤鏁版嵁澶╂暟
- Integer continueNoDataCount = result.getContinueNoDataCount();
- 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, workOrder, CompareType.MORE_THAN_EQ, ErrorType.NOT_UNIQUE_DATA_VOLUME.getValue());
- //妫�鏌ヤ汉鑴镐綆璇勫垎鐜�
- Float lowScorePercent = result.getSnapValidity().getLowScorePercent();
- check(YwThreadConstants.Face_LowScorePercent, lowScorePercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.FACE_LOW.getValue());
- //妫�鏌ュ缓妯″け璐ョ巼
- Float failPercent = result.getSnapValidity().getFailPercent();
- check(YwThreadConstants.Face_FailPercent, failPercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_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 (result.getSnapClock() != null) {
+ Float clockPercent = result.getSnapClock().getClockPercent();
+ check(YwThreadConstants.Face_ClockPercent, clockPercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_THAN_EQ, ErrorType.CLOCK_RIGHT.getValue());
}
+ //妫�鏌ユ暟鎹強鏃剁巼
+ if (result.getSnapTimely() != null) {
+ Float timelyPercent = result.getSnapTimely().getTimelyPercent();
+ check(YwThreadConstants.Face_TimelyPercent, timelyPercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_THAN_EQ, ErrorType.DATA_TIMELY_ERROR.getValue());
+ }
+ //妫�鏌ユ寔缁棤鏁版嵁澶╂暟
+ if (result.getContinueNoDataCount() != null) {
+ Integer continueNoDataCount = result.getContinueNoDataCount();
+ check(YwThreadConstants.Face_ContinueNoDataCount, continueNoDataCount, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.LONG_DAY_NO_DATA.getValue());
+ }
+ //妫�鏌ヤ笉鍞竴鏁版嵁閲�
+ if (result.getSnapUnique() != null) {
+ Integer nouniqueCount = result.getSnapUnique().getNouniqueCount();
+ check(YwThreadConstants.Face_NouniqueCount, nouniqueCount, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.NOT_UNIQUE_DATA_VOLUME.getValue());
+ }
+ //妫�鏌ヤ汉鑴镐綆璇勫垎鐜�
+ if (result.getSnapValidity() != null) {
+ Float lowScorePercent = result.getSnapValidity().getLowScorePercent();
+ check(YwThreadConstants.Face_LowScorePercent, lowScorePercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.FACE_LOW.getValue());
+ }
+ //妫�鏌ュ缓妯″け璐ョ巼
+ if (result.getSnapValidity() != null) {
+ Float failPercent = result.getSnapValidity().getFailPercent();
+ check(YwThreadConstants.Face_FailPercent, failPercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_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())) {
@@ -260,33 +272,43 @@
Integer continueNoDataCount = result.getContinueNoDataCount();
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, workOrder, CompareType.LESS_THAN_EQ, ErrorType.CLOCK_RIGHT.getValue());
- //妫�鏌ユ暟鎹強鏃剁巼
- Float timelyPercentResult = result.getSnapTimely().getTimelyPercent();
- 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, workOrder, CompareType.MORE_THAN_EQ, ErrorType.NOT_UNIQUE_DATA_VOLUME.getValue());
- //妫�鏌ョ櫧澶╂湭璇嗗埆閲�
- Integer dayNoNumberCountResult = result.getSnapPlate().getDayNoNumberCount();
- check(YwThreadConstants.Car_DayNoNumberCount, dayNoNumberCountResult, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.UNRECOGNIZED_DAY_VOLUME.getValue());
- //杞﹁締涓昏灞炴�т竴鑷寸巼
- Integer noIntegrityCountResult = result.getIntegrity().getMainNoIntegrityCount();
- Integer dataCount = result.getDataCount();
- Double integrityRate = ((double)dataCount-noIntegrityCountResult)/dataCount;
- check(YwThreadConstants.Car_NoIntegrityCount, integrityRate, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_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 (result.getSnapClock() != null) {
+ Float clockPercent = result.getSnapClock().getClockPercent();
+ check(YwThreadConstants.Car_ClockPercent, clockPercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_THAN_EQ, ErrorType.CLOCK_RIGHT.getValue());
}
+ //妫�鏌ユ暟鎹強鏃剁巼
+ if (result.getSnapTimely() != null) {
+ Float timelyPercentResult = result.getSnapTimely().getTimelyPercent();
+ check(YwThreadConstants.Car_TimelyPercent, timelyPercentResult, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_THAN_EQ, ErrorType.DATA_TIMELY_ERROR.getValue());
+ }
+ //妫�鏌ヤ笉鍞竴鏁版嵁閲�
+ if (result.getSnapUnique() != null) {
+ Integer nouniqueCountResult = result.getSnapUnique().getNouniqueCount();
+ check(YwThreadConstants.Car_NouniqueCount, nouniqueCountResult, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.NOT_UNIQUE_DATA_VOLUME.getValue());
+ }
+ //妫�鏌ョ櫧澶╂湭璇嗗埆閲�
+ if (result.getSnapPlate() != null) {
+ Integer dayNoNumberCountResult = result.getSnapPlate().getDayNoNumberCount();
+ check(YwThreadConstants.Car_DayNoNumberCount, dayNoNumberCountResult, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.UNRECOGNIZED_DAY_VOLUME.getValue());
+ }
+ //杞﹁締涓昏灞炴�т竴鑷寸巼
+ if (result.getIntegrity() != null) {
+ Integer noIntegrityCountResult = result.getIntegrity().getMainNoIntegrityCount();
+ Integer dataCount = result.getDataCount();
+ Double integrityRate = ((double) dataCount - noIntegrityCountResult) / dataCount;
+ check(YwThreadConstants.Car_NoIntegrityCount, integrityRate, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_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())) {
@@ -305,7 +327,8 @@
* @param name
* @return
*/
- private Map<String, YwThreshold> getYwThresholdMap(String name) {
+ @Override
+ public Map<String, YwThreshold> getYwThresholdMap(String name) {
return ywThresholdMapper.selectList(
new QueryWrapper<YwThreshold>().eq("monitor_type", name)
).stream().collect(Collectors.toMap(
@@ -316,6 +339,7 @@
/**
* 鐧藉悕鍗曡鎯�
+ *
* @param id
* @return
*/
@@ -326,6 +350,7 @@
workOrderWhite.setErrorTypeList(errorTypeList);
return Result.ok().data(workOrderWhite);
}
+
/**
* 宸ュ崟鐧藉悕鍗曞垪琛�
*
@@ -338,10 +363,10 @@
IPage<WorkOrderWhite> page = PageUtil.getPage(query, WorkOrderWhite.class);
workOrderWhiteMapper.page(page, query);
List<WorkOrderWhite> records = page.getRecords();
- records.forEach(white-> {
+ records.forEach(white -> {
List<String> errorTextList = new ArrayList<>();
List<String> errorTypeList = Arrays.asList(white.getErrorType().split(","));
- errorTypeList.forEach(error->{
+ errorTypeList.forEach(error -> {
String errorText = ErrorType.getDescriptionByValue(error);
errorTextList.add(errorText);
});
@@ -365,12 +390,13 @@
return Result.error("璇ヨ澶囧凡瀛樺湪鐧藉悕鍗�");
} else {
List<String> errorTypeList = workOrderWhite.getErrorTypeList();
- workOrderWhite.setErrorType(String.join(",",errorTypeList));
+ workOrderWhite.setErrorType(String.join(",", errorTypeList));
workOrderWhite.setCreateBy(SecurityUtils.getUsername());
workOrderWhiteMapper.insert(workOrderWhite);
return Result.ok();
}
}
+
/**
* 淇敼宸ュ崟鐧藉悕鍗�
*
@@ -383,7 +409,7 @@
WorkOrderWhite white = workOrderWhiteMapper.selectBySerialNumber(workOrderWhite.getSerialNumber());
workOrderWhite.setId(white.getId());
List<String> errorTypeList = workOrderWhite.getErrorTypeList();
- workOrderWhite.setErrorType(String.join(",",errorTypeList));
+ workOrderWhite.setErrorType(String.join(",", errorTypeList));
workOrderWhiteMapper.updateById(workOrderWhite);
return Result.ok();
}
@@ -399,8 +425,10 @@
workOrderWhiteMapper.batchDelete(ids);
return Result.ok();
}
+
/**
* 鐧藉悕鍗曞鍑�
+ *
* @param response
* @throws IOException
*/
@@ -408,10 +436,10 @@
public void whiteExport(HttpServletResponse response) throws IOException {
//鐧藉悕鍗曟暟鎹�
List<WorkOrderWhiteExport> data = workOrderWhiteMapper.whiteExport();
- data.forEach(white-> {
+ data.forEach(white -> {
List<String> errorTextList = new ArrayList<>();
List<String> errorTypeList = Arrays.asList(white.getErrorType().split(","));
- errorTypeList.forEach(error->{
+ errorTypeList.forEach(error -> {
String errorText = ErrorType.getDescriptionByValue(error);
errorTextList.add(errorText);
});
@@ -426,7 +454,7 @@
errorExports.add(errorExport);
});
ExcelWriter excelWriter = null;
- try(OutputStream outputStream = response.getOutputStream()) {
+ try (OutputStream outputStream = response.getOutputStream()) {
excelWriter = EasyExcel.write(outputStream).build();
WriteSheet whiteSheet = EasyExcel.writerSheet(0, "宸ュ崟鐧藉悕鍗曟竻鍗�").head(WorkOrderWhiteExport.class).build();
@@ -436,7 +464,7 @@
excelWriter.write(errorExports, errorSheet);
excelWriter.finish();
outputStream.flush();
- }catch (Exception e) {
+ } catch (Exception e) {
e.printStackTrace();
} finally {
try {
@@ -451,12 +479,13 @@
/**
* 瀵煎叆宸ュ崟鐧藉悕鍗�
+ *
* @param file
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public Result importWhite(MultipartFile file) throws IOException{
+ public Result importWhite(MultipartFile file) throws IOException {
// Consumer<List<WorkOrderWhiteExport>> consumer = (dataList) -> {
// try {
// this.updateWhite(dataList);
@@ -477,17 +506,17 @@
// 灏嗚鍙栧埌鐨勬瘡涓�琛屽瓨鍏eportDetails闆嗗悎涓�
dataList.add(excel);
}
+
@Override
- public void doAfterAllAnalysed(AnalysisContext analysisContext) {}
+ public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+ }
}).sheet().doRead();
if (CollectionUtils.isEmpty(dataList)) {
throw new RuntimeException("瀵煎叆鏁版嵁涓嶈兘涓虹┖");
}
boolean duplic = checkDuplic(dataList);
- if(duplic) throw new RuntimeException("瀛樺湪閲嶅鍥芥爣璁惧");
- //宸插瓨鍦ㄧ殑鐧藉悕鍗�
- Map<String, WorkOrderWhite> whiteMap = workOrderWhiteMapper.selectList().stream().collect(Collectors.toMap(WorkOrderWhite::getSerialNumber, Function.identity()));
+ if (duplic) throw new RuntimeException("瀛樺湪閲嶅鍥芥爣璁惧");
List<WorkOrderWhite> addList = new ArrayList<>();
dataList.stream().forEach(item -> {
WorkOrderWhite white = new WorkOrderWhite();
@@ -496,34 +525,33 @@
//澶囨敞
white.setRemark(item.getRemark());
String errorType = item.getErrorType();
- if(StringUtils.isEmpty(errorType)){
- throw new RuntimeException("鍥芥爣鐮佷负"+item.getSerialNumber()+"鐨勮澶囨晠闅滀笉鑳戒负绌�");
+ if (StringUtils.isEmpty(errorType)) {
+ throw new RuntimeException("鍥芥爣鐮佷负" + item.getSerialNumber() + "鐨勮澶囨晠闅滀笉鑳戒负绌�");
}
try {
List<String> errorDataList = new ArrayList<>();
List<String> errorExcelList = Arrays.asList(item.getErrorType().split(","));
- errorExcelList.forEach(desc->{
+ errorExcelList.forEach(desc -> {
//鎶婁腑鏂囪浆鎹负鏁版嵁搴撳瓨鍌ㄦ牸寮�
String errorText = ErrorType.getValueByDescription(desc);
//鎵句笉鍒版姏鍑哄紓甯�
- if(errorText == null) throw new RuntimeException("鍥芥爣鐮佷负"+item.getSerialNumber()+"鐨勮澶囨晠闅滅被鍨嬫湁璇�");
+ if (errorText == null)
+ throw new RuntimeException("鍥芥爣鐮佷负" + item.getSerialNumber() + "鐨勮澶囨晠闅滅被鍨嬫湁璇�");
errorDataList.add(errorText);
});
white.setErrorType(String.join(",", errorDataList));
- //濡傛灉宸插瓨鍦ㄨˉ鍏卛d
- WorkOrderWhite whiteExsit = whiteMap.get(white.getSerialNumber());
- if(whiteExsit!=null) white.setId(whiteExsit.getId());
addList.add(white);
} catch (Exception e) {
- throw new RuntimeException("鍥芥爣鐮佷负"+item.getSerialNumber()+"鐨勮澶囨晠闅滅被鍨嬫湁璇�");
+ throw new RuntimeException("鍥芥爣鐮佷负" + item.getSerialNumber() + "鐨勮澶囨晠闅滅被鍨嬫湁璇�");
}
});
- if(!CollectionUtils.isEmpty(addList)) {
+ if (!CollectionUtils.isEmpty(addList)) {
workOrderWhiteMapper.deleteAll();
workOrderWhiteMapper.insertBatch(addList);
}
return Result.ok();
}
+
/**
* 淇敼鐧藉悕鍗�
*
@@ -545,45 +573,49 @@
//澶囨敞
white.setRemark(item.getRemark());
String errorType = item.getErrorType();
- if(StringUtils.isEmpty(errorType)){
- throw new RuntimeException("鍥芥爣鐮佷负"+item.getSerialNumber()+"鐨勮澶囨晠闅滀笉鑳戒负绌�");
+ if (StringUtils.isEmpty(errorType)) {
+ throw new RuntimeException("鍥芥爣鐮佷负" + item.getSerialNumber() + "鐨勮澶囨晠闅滀笉鑳戒负绌�");
}
try {
List<String> errorDataList = new ArrayList<>();
List<String> errorExcelList = Arrays.asList(item.getErrorType().split(","));
- errorExcelList.forEach(desc->{
+ errorExcelList.forEach(desc -> {
//鎶婁腑鏂囪浆鎹负鏁版嵁搴撳瓨鍌ㄦ牸寮�
String errorText = ErrorType.getValueByDescription(desc);
//鎵句笉鍒版姏鍑哄紓甯�
- if(errorText == null) throw new RuntimeException("鍥芥爣鐮佷负"+item.getSerialNumber()+"鐨勮澶囨晠闅滅被鍨嬫湁璇�");
+ if (errorText == null)
+ throw new RuntimeException("鍥芥爣鐮佷负" + item.getSerialNumber() + "鐨勮澶囨晠闅滅被鍨嬫湁璇�");
errorDataList.add(errorText);
});
white.setErrorType(String.join(",", errorDataList));
- if(!CollectionUtils.isEmpty(serialNumbers) && serialNumbers.contains(white.getSerialNumber())){
+ if (!CollectionUtils.isEmpty(serialNumbers) && serialNumbers.contains(white.getSerialNumber())) {
updateList.add(white);
- }else {
+ } else {
addList.add(white);
}
} catch (Exception e) {
- throw new RuntimeException("鍥芥爣鐮佷负"+item.getSerialNumber()+"鐨勮澶囨晠闅滅被鍨嬫湁璇�");
+ throw new RuntimeException("鍥芥爣鐮佷负" + item.getSerialNumber() + "鐨勮澶囨晠闅滅被鍨嬫湁璇�");
}
});
- if(!CollectionUtils.isEmpty(addList)) workOrderWhiteMapper.insertBatch(addList);
- if(!CollectionUtils.isEmpty(updateList)) workOrderWhiteMapper.updateBatch(updateList);
+ if (!CollectionUtils.isEmpty(addList)) workOrderWhiteMapper.insertBatch(addList);
+ if (!CollectionUtils.isEmpty(updateList)) workOrderWhiteMapper.updateBatch(updateList);
}
/**
* 妫�鏌ラ槇鍊�
*
- * @param key 鏌愰槇鍊兼爣璇�
- * @param value 鎺ュ彛鑾峰彇鍒扮殑鍊�
+ * @param key 鏌愰槇鍊兼爣璇�
+ * @param value 鎺ュ彛鑾峰彇鍒扮殑鍊�
* @param serialNumber 鍥芥爣鐮�
- * @param thresholds 闃堝�兼潯浠秏ap
- * @param compareType 姣旇緝鏂瑰紡锛�>= <=
- * @param errorType 鏁呴殰绫诲瀷
+ * @param thresholds 闃堝�兼潯浠秏ap
+ * @param compareType 姣旇緝鏂瑰紡锛�>= <=
+ * @param errorType 鏁呴殰绫诲瀷
* @param <T>
*/
- private <T extends Comparable<T>> void check(String key, T value, String serialNumber, Map<String, YwThreshold> thresholds, WorkOrder workOrder, CompareType compareType,String errorType) {
+ @Override
+ public <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);
@@ -592,7 +624,7 @@
T thresholdAutoValue = parseThreshold(ywThreshold.getValueAuto(), value.getClass());
//鐩存帴涓嬪彂宸ュ崟闃堝��
T thresholdValue = parseThreshold(ywThreshold.getValue(), value.getClass());
- if("percent".equals(ywThreshold.getCountType())){
+ if ("percent".equals(ywThreshold.getCountType())) {
if (thresholdAutoValue instanceof Float) {
thresholdAutoValue = (T) Float.valueOf(((Float) thresholdAutoValue) / 100f);
}
@@ -627,6 +659,34 @@
);
}
+ /**
+ * 鎵�鏈夌櫧鍚嶅崟娣诲姞鏁呴殰绫诲瀷
+ *
+ * @param workOrderWhite
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result addBatch(WorkOrderWhite workOrderWhite) {
+ List<String> errorTypeListAdd = workOrderWhite.getErrorTypeList();
+ List<WorkOrderWhite> whites = workOrderWhiteMapper.selectList();
+ for (WorkOrderWhite white : whites) {
+ List<String> errorTypeList = new ArrayList<>(Arrays.asList(white.getErrorType().split(",")));
+ for (String newError : errorTypeListAdd) {
+ if (errorTypeList.contains(newError)) {
+ continue;
+ } else {
+ errorTypeList.add(newError);
+ }
+ }
+ white.setErrorType(String.join(",", errorTypeList));
+ }
+ if (!CollectionUtils.isEmpty(whites)) {
+ workOrderWhiteMapper.deleteAll();
+ workOrderWhiteMapper.insertBatch(whites);
+ }
+ return Result.ok();
+ }
+
private <T extends Comparable<T>> T parseThreshold(String thresholdStr, Class<?> type) {
if (Integer.class.equals(type)) {
return (T) Integer.valueOf(thresholdStr);
--
Gitblit v1.8.0