ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java
@@ -38,5 +38,8 @@ @TableField("yw_proofMaterials") private String ywProofMaterials; @ApiModelProperty("是否为系统消息") @TableField("sys_msg") private Boolean sysMsg; } ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderYwConditionRecordVO.java
@@ -34,6 +34,9 @@ /** 佐证材料 */ private String ywProofMaterials; /** 是否系统消息 */ private Boolean sysMsg; public static WorkOrderYwConditionRecordVO getVoByEntity(@NonNull WorkOrderYwConditionRecord entity, WorkOrderYwConditionRecordVO vo) { if(vo == null) { vo = new WorkOrderYwConditionRecordVO(); ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java
@@ -33,4 +33,12 @@ List<ReportVO> examineRecord(@Param("id") Integer id); List<String> selectNumberList(String status, String date); /** * 查询工单是否报备过 * * @param serialNumber 国标码 * @return */ Report checkPointReported(@Param("serialNumber") String serialNumber); } ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java
@@ -23,7 +23,6 @@ * @param query * @return */ // TODO 返回数据对象更换 Result videoPointOnlineRate(DataCenterQuery query); /** @@ -72,7 +71,6 @@ * @param query * @return */ // TODO 返回数据对象更换 Result videoLabelingAccuracy(DataCenterQuery query); /** @@ -81,7 +79,6 @@ * @param query * @return */ // TODO 返回数据对象更换 Result videoImportantPointLabelingAccuracy(DataCenterQuery query); /** @@ -90,7 +87,6 @@ * @param query * @return */ // TODO 返回数据对象更换 Result videoCheckTimeAccuracy(DataCenterQuery query); /** @@ -99,7 +95,6 @@ * @param query * @return */ // TODO 返回数据对象更换 Result videoImportantPointCheckTimeAccuracy(DataCenterQuery query); /** @@ -108,7 +103,6 @@ * @param query * @return */ // TODO 返回数据对象更换 Result videoImportantPointOnlineRate(DataCenterQuery query); /** @@ -117,7 +111,6 @@ * @param query * @return */ // TODO 返回数据对象更换 Result videoImportantPointImageOnlineRate(DataCenterQuery query); @@ -226,7 +219,6 @@ * @param query * @return */ // TODO 更换响应结果 Result facePointOnlineRate(DataCenterQuery query); /** ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
@@ -189,7 +189,6 @@ * @param params * @return */ // TODO 返回数据对象更换 @Override public Result videoLabelingAccuracy(DataCenterQuery params) { Query query = new Query(); @@ -215,7 +214,6 @@ * @param params * @return */ // TODO 返回数据对象更换 @Override public Result videoImportantPointLabelingAccuracy(DataCenterQuery params) { Query query = new Query(); @@ -241,7 +239,6 @@ * @param params * @return */ // TODO 返回数据对象更换 @Override public Result videoCheckTimeAccuracy(DataCenterQuery params) { Query query = new Query(); @@ -267,7 +264,6 @@ * @param params * @return */ // TODO 返回数据对象更换 @Override public Result videoImportantPointCheckTimeAccuracy(DataCenterQuery params) { Query query = new Query(); @@ -293,7 +289,6 @@ * @param params * @return */ // TODO 返回数据对象更换 @Override public Result videoImportantPointOnlineRate(DataCenterQuery params) { Query query = new Query(); @@ -319,7 +314,6 @@ * @param params * @return */ // TODO 返回数据对象更换 @Override public Result videoImportantPointImageOnlineRate(DataCenterQuery params) { Query query = new Query(); @@ -623,7 +617,6 @@ * @param params * @return */ // TODO 更换响应结果 @Override public Result facePointOnlineRate(DataCenterQuery params) { Query query = new Query(); ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -82,6 +82,7 @@ private final TMonitorMapper monitorMapper; private final SysConfigMapper configMapper; private final ServerConfig serverConfig; private final ReportMapper reportMapper; @Value("${rtsp.server:http://127.0.0.1:7788}") private String rtspServer; @@ -112,7 +113,7 @@ Map<String, WorkOrder> mapping = inDatabaseWorkOrderList.stream().collect((Collectors.toMap(WorkOrder::getSerialNumber, workOrder -> workOrder))); List<WorkOrder> waitAddList = new ArrayList<>(48); Integer updateNum = 0; // TODO 查询是否报备过,更新故障类型 for (WorkOrder workOrder : workOrderList) { WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber()); if (Objects.nonNull(databaseWorkOrder)) { @@ -129,11 +130,22 @@ databaseWorkOrder.setUpdateTime(now); baseMapper.updateById(databaseWorkOrder); updateNum++; // 同时新增一个运维处理信息,表明此工单被调整 TODO // 同时新增一个运维处理信息,表明此工单被调整 WorkOrderYwConditionRecord ywRecord = new WorkOrderYwConditionRecord(); ywRecord.setWorkOrderId(databaseWorkOrder.getId()); ywRecord.setCommitUser(1); ywRecord.setYwCondition("故障类型更新,工单状态调整为待处理"); ywRecord.setCreateTime(new Date()); workOrderYwConditionRecordMapper.insert(ywRecord); } } else { workOrder.setCreateTime(new Date()); workOrder.setUpdateTime(new Date()); // 如果报备过,使用最新报备的错误类型 Report report = reportMapper.checkPointReported(workOrder.getSerialNumber()); if (Objects.nonNull(report)) { workOrder.setErrorType(report.getErrorType()); } waitAddList.add(workOrder); } } @@ -316,6 +328,7 @@ workOrderYwConditionRecord.setCommitUser(SecurityUtils.getLoginUser().getUserId().intValue()); workOrderYwConditionRecord.setYwCondition(form.getYwCondition()); workOrderYwConditionRecord.setYwProofMaterials(form.getYwProofMaterials()); workOrderYwConditionRecord.setSysMsg(Boolean.FALSE); workOrderYwConditionRecordMapper.insert(workOrderYwConditionRecord); return Result.ok("操作成功"); } @@ -323,6 +336,11 @@ @Override public Result selectYwConditionByYwId(Integer id) { List<WorkOrderYwConditionRecordVO> ywConditionList = workOrderYwConditionRecordMapper.selectYwConditionByYwId(id); ywConditionList.stream().forEach(item -> { if (Objects.nonNull(item.getSysMsg()) && item.getSysMsg()) { item.setCommitUserName("系统消息"); } }); return Result.ok().data(ywConditionList); } ycl-server/src/main/java/com/ycl/task/DeviceChannelTask.java
New file @@ -0,0 +1,18 @@ package com.ycl.task; import org.springframework.stereotype.Component; /** * 通道同步 * * @author:xp * @date:2024/8/21 15:18 */ @Component("deviceChannelTask") public class DeviceChannelTask { public void run() { // TODO 待实现 } } ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
@@ -70,4 +70,23 @@ WHERE r.status = #{status} AND #{date} between r.begin_create_time and r.end_create_time </select> <select id="checkPointReported" resultType="com.ycl.platform.domain.vo.ReportVO"> SELECT r.id, r.errorType FROM t_report r INNER JOIN t_yw_point yo ON r.point_id = yo.id AND yo.deleted = 0 INNER JOIN t_work_order wo ON yo.serial_number = wo.serial_number AND wo.serial_number = #{serialNumber} AND wo.deleted = 0 WHERE r.status = 1 ORDER BY r.auditing_time DESC LIMIT 1 </select> </mapper> ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml
@@ -13,7 +13,7 @@ </resultMap> <select id="selectYwConditionByYwId" resultMap="BaseResultMap"> SELECT yw.id, yw.commit_user, yw.yw_condition, yw.yw_proofMaterials, yw.create_time, su.nick_name 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} ORDER BY yw.create_time DESC