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