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