xiangpei
2024-08-21 e9dd07a6eec753511aec755e1d1ee5344f06a194
工单生成时优化,报备优化
8个文件已修改
1个文件已添加
90 ■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderYwConditionRecordVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/DeviceChannelTask.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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