ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java
@@ -28,9 +28,9 @@ private String auditingRemark; /** * 故障类型 * 工单编号 */ @NotEmpty(message = "故障类型不能为空") private List<String> errorTypes; @NotEmpty(message = "工单不能为空") private List<String> workOrderNos; } ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
@@ -111,6 +111,6 @@ */ List<WorkOrderVO> getRecoveryInfo(List<String> orders); List<WorkOrder> batchGetByError(@Param("form") WorkOrderBatchAuditingForm form); List<WorkOrder> selectByNos(@Param("workOrderNos") List<String> workOrderNos); } ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -424,13 +424,8 @@ @Override @Transactional(rollbackFor = Exception.class) public Result batchAuditing(WorkOrderBatchAuditingForm form) { // 根据故障类型获取列表 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(); //根据工单编号获取工单 List<WorkOrder> list = baseMapper.selectByNos(form.getWorkOrderNos()); if (list.isEmpty()) { return Result.error("没有工单可以审核"); } ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -40,6 +40,7 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.*; import java.util.function.Function; import java.util.stream.Collectors; //优云对接数据任务 @@ -260,9 +261,16 @@ //存放在mongo中 mongoTemplate.insertAll(dataList); } //工单 //工单(同一IP只生成一个工单) List<WorkOrder> workOrderList = dataList.stream() .filter(item -> Objects.nonNull(item.getWorkOrder())) .collect(Collectors.toMap( TMonitorResult::getIp, Function.identity(), (existing, replacement) -> existing // 如果遇到相同的 IP,保留第一个 TMonitorResult 对象 )) .values() .stream() .map(TMonitorResult::getWorkOrder) .collect(Collectors.toList()); if (!CollectionUtils.isEmpty(workOrderList)) { @@ -312,8 +320,14 @@ return vo; }).collect(Collectors.toList()); monitorMapper.updateOnline(willUpdateList); //离线生成工单 List<VideoOnlineResult> workOrders = records.stream().filter(item -> ApiConstants.UY_OnlineSite_Offline.equals(item.getStatus())).collect(Collectors.toList()); //离线生成工单,一个ip只生成一个工单 List<VideoOnlineResult> workOrders = (List<VideoOnlineResult>) records.stream() .filter(item -> ApiConstants.UY_OnlineSite_Offline.equals(item.getStatus())) .collect(Collectors.toMap( VideoOnlineResult::getIpAddr, Function.identity(), (existing, replacement) -> existing // 如果遇到相同的 IP,保留第一个(existing) )).values(); uyErrorTypeCheckService.videoOnlineCheck(workOrders); } else { log.error("点位在线结果数据为空{}", data); ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -683,7 +683,7 @@ from t_monitor m left join t_yw_point p on m.serial_number = p.serial_number left join sys_dept d on p.dept_id = d.dept_id where p.online != 0 and p.examine_status = 1 where p.online != 0 and p.examine_status = 1 </select> <update id="updateOnline"> ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -433,21 +433,16 @@ p.yw_person_name </select> <select id="batchGetByError" resultType="com.ycl.platform.domain.entity.WorkOrder"> <select id="selectByNos" 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} <if test="workOrderNos != null and workOrderNos.size() > 0"> wo.work_order_no in <foreach collection="workOrderNos" open="(" separator="," close=")" item="workOrderNo"> #{workOrderNo} </foreach> )) </if> </where> </select>