zhubaomin
2024-11-12 7517bbc0a9a18dbf60d976dd10827070f7334e92
优化获取未关阀记录接口,改用命令日志时间判断,增强稳定性
5个文件已添加
1个文件已修改
322 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeReportReplyMapper.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoOp/OpeReportReply.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voOp/VoIssueReport.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeReportReplyMapper.xml 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/qo/QoIssueReport.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeReportReplyMapper.java
New file
@@ -0,0 +1,27 @@
package com.dy.pipIrrGlobal.daoOp;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoOp.OpeReportReply;
import org.apache.ibatis.annotations.Mapper;
/**
 * @author ZhuBaoMin
 * @date 2024-11-12 14:36
 * @LastEditTime 2024-11-12 14:36
 * @Description
 */
@Mapper
public interface OpeReportReplyMapper extends BaseMapper<OpeReportReply> {
    int deleteByPrimaryKey(Long id);
    int insert(OpeReportReply record);
    int insertSelective(OpeReportReply record);
    OpeReportReply selectByPrimaryKey(Long id);
    int updateByPrimaryKeySelective(OpeReportReply record);
    int updateByPrimaryKey(OpeReportReply record);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoOp/OpeReportReply.java
New file
@@ -0,0 +1,61 @@
package com.dy.pipIrrGlobal.pojoOp;
import com.alibaba.fastjson2.annotation.JSONField;
import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dy.common.po.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import java.util.Date;
/**
 * @author ZhuBaoMin
 * @date 2024-11-12 14:36
 * @LastEditTime 2024-11-12 14:36
 * @Description 问题上报回复实体类
 */
@TableName(value="ope_report_reply", autoResultMap = true)
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class OpeReportReply implements BaseEntity {
    public static final long serialVersionUID = 202411121439001L;
    /**
    * 主键
    */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @TableId(type = IdType.INPUT)
    private Long id;
    /**
    * 问题上报ID
    */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    private Long reportId;
    /**
    * 回复内容
    */
    private String replyContent;
    /**
    * 回复时间
    */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date replyTime;
    /**
    * 回复人ID
    */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    private Long replierId;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voOp/VoIssueReport.java
New file
@@ -0,0 +1,81 @@
package com.dy.pipIrrGlobal.voOp;
import com.alibaba.fastjson2.annotation.JSONField;
import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
import com.dy.common.po.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import java.util.Date;
/**
 * @author ZhuBaoMin
 * @date 2024-11-12 14:46
 * @LastEditTime 2024-11-12 14:46
 * @Description 巡检员问题上报视图对象
 */
@Data
@JsonPropertyOrder({"issueReportId", "inspectorName", "phone", "reportTime", "content", "images", "audios", "videos", "replyTime", "stateId", "state"})
public class VoIssueReport implements BaseEntity {
    private static final long serialVersionUID = 202411121448001L;
    /**
     * 巡检员问题上报ID
     */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    private Long issueReportId;
    /**
     * 巡检员姓名
     */
    private String inspectorName;
    /**
     * 联系电话
     */
    private String phone;
    /**
     * 上报时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reportTime;
    /**
     * 上报内容
     */
    private String content;
    /**
     * 照片列表
     */
    private String images;
    /**
     * 音频列表
     */
    private String audios;
    /**
     * 视频列表
     */
    private String videos;
    /**
     * 上报回复时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date replyTime;
    /**
     * 状态值
     */
    private Integer stateId;
    /**
     * 状态描述
     */
    private String state;
}
pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeReportReplyMapper.xml
New file
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dy.pipIrrGlobal.daoOp.OpeReportReplyMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoOp.OpeReportReply">
    <!--@mbg.generated-->
    <!--@Table ope_report_reply-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="report_id" jdbcType="BIGINT" property="reportId" />
    <result column="reply_content" jdbcType="VARCHAR" property="replyContent" />
    <result column="reply_time" jdbcType="TIMESTAMP" property="replyTime" />
    <result column="replier_id" jdbcType="BIGINT" property="replierId" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, report_id, reply_content, reply_time, replier_id
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from ope_report_reply
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from ope_report_reply
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoOp.OpeReportReply">
    <!--@mbg.generated-->
    insert into ope_report_reply (id, report_id, reply_content,
      reply_time, replier_id)
    values (#{id,jdbcType=BIGINT}, #{reportId,jdbcType=BIGINT}, #{replyContent,jdbcType=VARCHAR},
      #{replyTime,jdbcType=TIMESTAMP}, #{replierId,jdbcType=BIGINT})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoOp.OpeReportReply">
    <!--@mbg.generated-->
    insert into ope_report_reply
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="reportId != null">
        report_id,
      </if>
      <if test="replyContent != null">
        reply_content,
      </if>
      <if test="replyTime != null">
        reply_time,
      </if>
      <if test="replierId != null">
        replier_id,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="reportId != null">
        #{reportId,jdbcType=BIGINT},
      </if>
      <if test="replyContent != null">
        #{replyContent,jdbcType=VARCHAR},
      </if>
      <if test="replyTime != null">
        #{replyTime,jdbcType=TIMESTAMP},
      </if>
      <if test="replierId != null">
        #{replierId,jdbcType=BIGINT},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoOp.OpeReportReply">
    <!--@mbg.generated-->
    update ope_report_reply
    <set>
      <if test="reportId != null">
        report_id = #{reportId,jdbcType=BIGINT},
      </if>
      <if test="replyContent != null">
        reply_content = #{replyContent,jdbcType=VARCHAR},
      </if>
      <if test="replyTime != null">
        reply_time = #{replyTime,jdbcType=TIMESTAMP},
      </if>
      <if test="replierId != null">
        replier_id = #{replierId,jdbcType=BIGINT},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoOp.OpeReportReply">
    <!--@mbg.generated-->
    update ope_report_reply
    set report_id = #{reportId,jdbcType=BIGINT},
      reply_content = #{replyContent,jdbcType=VARCHAR},
      reply_time = #{replyTime,jdbcType=TIMESTAMP},
      replier_id = #{replierId,jdbcType=BIGINT}
    where id = #{id,jdbcType=BIGINT}
  </update>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
@@ -216,16 +216,17 @@
            END AS planned,
            com.send_time AS sendTime,
            <!--同卡、同设备的最后一次工作报的时间和瞬时流量,工作报时间必须晚于同卡、同设备最后一次开阀记录的开阀时间-->
            (SELECT dt FROM rm_work_report_last
            WHERE rtu_addr = com.rtu_addr AND ic_card_no = com.param ->> '$.icCardNo'
                AND dt > (SELECT op_dt FROM rm_open_close_valve_last WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo' ORDER BY op_dt DESC LIMIT 1)
                <!--AND dt > (SELECT op_dt FROM rm_open_close_valve_last WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo' ORDER BY op_dt DESC LIMIT 1)-->
                AND dt > com.send_time
            ORDER BY dt DESC
            LIMIT 1) AS dt,
            (SELECT water_instant FROM rm_work_report_last
            WHERE rtu_addr = com.rtu_addr AND ic_card_no = com.param ->> '$.icCardNo'
                AND dt > (SELECT op_dt FROM rm_open_close_valve_last WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo' ORDER BY op_dt DESC LIMIT 1)
                <!--AND dt > (SELECT op_dt FROM rm_open_close_valve_last WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo' ORDER BY op_dt DESC LIMIT 1)-->
                AND dt > com.send_time
            ORDER BY dt DESC
            LIMIT 1) AS waterInstant
pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/qo/QoIssueReport.java
New file
@@ -0,0 +1,44 @@
package com.dy.pipIrrApp.issue.qo;
import com.dy.common.webUtil.QueryConditionVo;
import lombok.Data;
/**
 * @author ZhuBaoMin
 * @date 2024-11-12 14:43
 * @LastEditTime 2024-11-12 14:43
 * @Description 巡检员问题上报查询对象
 */
@Data
public class QoIssueReport extends QueryConditionVo {
    /**
     * 巡检员ID
     */
    private Long inspectorId;
    /**
     * 巡检员姓名
     */
    private String inspectorName;
    /**
     * 上报内容
     */
    private String content;
    /**
     * 查询开始时间
     */
    private String timeStart;
    /**
     * 查询结束时间
     */
    private String timeStop;
    /**
     * 状态
     */
    private Integer state;
}