| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261 |
- <?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.ruoyi.api.mapper.WwkjReadingRecordMapper">
- <resultMap type="WwkjReadingRecord" id="WwkjReadingRecordResult">
- <result property="id" column="id"/>
- <result property="usedWaterId" column="used_water_id"/>
- <result property="taskCode" column="task_code"/>
- <result property="routeCode" column="route_code"/>
- <result property="cardCode" column="card_code"/>
- <result property="meterCode" column="meter_code"/>
- <result property="thisMeterNumber" column="this_meter_number"/>
- <result property="thisMeterDate" column="this_meter_date"/>
- <result property="thisMeterStatus" column="this_meter_status"/>
- <result property="lastUsedNumber" column="last_used_number"/>
- <result property="lastMeteNumber" column="last_mete_number"/>
- <result property="lastMeterStatus" column="last_meter_status"/>
- <result property="lastMeterDate" column="last_meter_date"/>
- <result property="readerName" column="reader_name"/>
- <result property="enterName" column="enter_name"/>
- <result property="enterDate" column="enter_date"/>
- <result property="readingWay" column="reading_way"/>
- <result property="readingType" column="reading_type"/>
- <result property="remark" column="remark"/>
- <result property="addReason" column="add_reason"/>
- <result property="progressStatus" column="progress_status"/>
- <result property="oldMeterNumber" column="old_meter_number"/>
- <result property="newMeterNumber" column="new_meter_number"/>
- <result property="changeMeterDate" column="change_meter_date"/>
- <result property="delFlag" column="del_flag"/>
- <result property="createBy" column="create_by"/>
- <result property="createTime" column="create_time"/>
- <result property="updateBy" column="update_by"/>
- <result property="updateTime" column="update_time"/>
- </resultMap>
- <sql id="selectWwkjReadingRecordVo">
- select id, used_water_id, task_code, route_code, card_code, meter_code, this_meter_number,
- this_meter_date, this_meter_status, last_used_number, last_mete_number, last_meter_status,
- last_meter_date, reader_name, enter_name, enter_date, reading_way, reading_type, remark,
- add_reason, progress_status, old_meter_number, new_meter_number, change_meter_date,
- del_flag, create_by, create_time, update_by, update_time
- from wwkj_reading_record
- </sql>
- <delete id="deleteByUsedWaterId">
- delete from wwkj_reading_record
- where used_water_id = #{usedWaterId}
- </delete>
- <select id="selectByUsedWaterId" parameterType="String" resultMap="WwkjReadingRecordResult">
- <include refid="selectWwkjReadingRecordVo"/>
- where used_water_id = #{usedWaterId} and del_flag = '0'
- </select>
- <select id="selectByMeterCode" parameterType="String" resultMap="WwkjReadingRecordResult">
- <include refid="selectWwkjReadingRecordVo"/>
- where meter_code = #{meterCode} and del_flag = '0'
- </select>
- <insert id="insertWwkjReadingRecord" parameterType="WwkjReadingRecord" useGeneratedKeys="true" keyProperty="id">
- insert into wwkj_reading_record
- <trim prefix="(" suffix=")" suffixOverrides=",">
- <if test="usedWaterId != null and usedWaterId != ''">used_water_id,</if>
- <if test="taskCode != null and taskCode != ''">task_code,</if>
- <if test="routeCode != null and routeCode != ''">route_code,</if>
- <if test="cardCode != null and cardCode != ''">card_code,</if>
- <if test="meterCode != null and meterCode != ''">meter_code,</if>
- <if test="thisMeterNumber != null">this_meter_number,</if>
- <if test="thisMeterDate != null">this_meter_date,</if>
- <if test="thisMeterStatus != null and thisMeterStatus != ''">this_meter_status,</if>
- <if test="lastUsedNumber != null">last_used_number,</if>
- <if test="lastMeteNumber != null">last_mete_number,</if>
- <if test="lastMeterStatus != null and lastMeterStatus != ''">last_meter_status,</if>
- <if test="lastMeterDate != null">last_meter_date,</if>
- <if test="readerName != null and readerName != ''">reader_name,</if>
- <if test="enterName != null and enterName != ''">enter_name,</if>
- <if test="enterDate != null">enter_date,</if>
- <if test="readingWay != null and readingWay != ''">reading_way,</if>
- <if test="readingType != null and readingType != ''">reading_type,</if>
- <if test="remark != null and remark != ''">remark,</if>
- <if test="addReason != null and addReason != ''">add_reason,</if>
- <if test="progressStatus != null and progressStatus != ''">progress_status,</if>
- <if test="oldMeterNumber != null">old_meter_number,</if>
- <if test="newMeterNumber != null">new_meter_number,</if>
- <if test="changeMeterDate != null">change_meter_date,</if>
- <if test="delFlag != null and delFlag != ''">del_flag,</if>
- <if test="createBy != null and createBy != ''">create_by,</if>
- <if test="createTime != null">create_time,</if>
- <if test="updateBy != null and updateBy != ''">update_by,</if>
- <if test="updateTime != null">update_time,</if>
- </trim>
- <trim prefix="values (" suffix=")" suffixOverrides=",">
- <if test="usedWaterId != null and usedWaterId != ''">#{usedWaterId},</if>
- <if test="taskCode != null and taskCode != ''">#{taskCode},</if>
- <if test="routeCode != null and routeCode != ''">#{routeCode},</if>
- <if test="cardCode != null and cardCode != ''">#{cardCode},</if>
- <if test="meterCode != null and meterCode != ''">#{meterCode},</if>
- <if test="thisMeterNumber != null">#{thisMeterNumber},</if>
- <if test="thisMeterDate != null">#{thisMeterDate},</if>
- <if test="thisMeterStatus != null and thisMeterStatus != ''">#{thisMeterStatus},</if>
- <if test="lastUsedNumber != null">#{lastUsedNumber},</if>
- <if test="lastMeteNumber != null">#{lastMeteNumber},</if>
- <if test="lastMeterStatus != null and lastMeterStatus != ''">#{lastMeterStatus},</if>
- <if test="lastMeterDate != null">#{lastMeterDate},</if>
- <if test="readerName != null and readerName != ''">#{readerName},</if>
- <if test="enterName != null and enterName != ''">#{enterName},</if>
- <if test="enterDate != null">#{enterDate},</if>
- <if test="readingWay != null and readingWay != ''">#{readingWay},</if>
- <if test="readingType != null and readingType != ''">#{readingType},</if>
- <if test="remark != null and remark != ''">#{remark},</if>
- <if test="addReason != null and addReason != ''">#{addReason},</if>
- <if test="progressStatus != null and progressStatus != ''">#{progressStatus},</if>
- <if test="oldMeterNumber != null">#{oldMeterNumber},</if>
- <if test="newMeterNumber != null">#{newMeterNumber},</if>
- <if test="changeMeterDate != null">#{changeMeterDate},</if>
- <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
- <if test="createBy != null and createBy != ''">#{createBy},</if>
- <if test="createTime != null">#{createTime},</if>
- <if test="updateBy != null and updateBy != ''">#{updateBy},</if>
- <if test="updateTime != null">#{updateTime},</if>
- </trim>
- </insert>
- <update id="updateWwkjReadingRecord" parameterType="WwkjReadingRecord">
- update wwkj_reading_record
- <trim prefix="SET" suffixOverrides=",">
- <if test="taskCode != null and taskCode != ''">task_code = #{taskCode},</if>
- <if test="routeCode != null and routeCode != ''">route_code = #{routeCode},</if>
- <if test="cardCode != null and cardCode != ''">card_code = #{cardCode},</if>
- <if test="meterCode != null and meterCode != ''">meter_code = #{meterCode},</if>
- <if test="thisMeterNumber != null">this_meter_number = #{thisMeterNumber},</if>
- <if test="thisMeterDate != null">this_meter_date = #{thisMeterDate},</if>
- <if test="thisMeterStatus != null and thisMeterStatus != ''">this_meter_status = #{thisMeterStatus},</if>
- <if test="lastUsedNumber != null">last_used_number = #{lastUsedNumber},</if>
- <if test="lastMeteNumber != null">last_mete_number = #{lastMeteNumber},</if>
- <if test="lastMeterStatus != null and lastMeterStatus != ''">last_meter_status = #{lastMeterStatus},</if>
- <if test="lastMeterDate != null">last_meter_date = #{lastMeterDate},</if>
- <if test="readerName != null and readerName != ''">reader_name = #{readerName},</if>
- <if test="enterName != null and enterName != ''">enter_name = #{enterName},</if>
- <if test="enterDate != null">enter_date = #{enterDate},</if>
- <if test="readingWay != null and readingWay != ''">reading_way = #{readingWay},</if>
- <if test="readingType != null and readingType != ''">reading_type = #{readingType},</if>
- <if test="remark != null and remark != ''">remark = #{remark},</if>
- <if test="addReason != null and addReason != ''">add_reason = #{addReason},</if>
- <if test="progressStatus != null and progressStatus != ''">progress_status = #{progressStatus},</if>
- <if test="oldMeterNumber != null">old_meter_number = #{oldMeterNumber},</if>
- <if test="newMeterNumber != null">new_meter_number = #{newMeterNumber},</if>
- <if test="changeMeterDate != null">change_meter_date = #{changeMeterDate},</if>
- <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
- <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
- <if test="updateTime != null">update_time = #{updateTime},</if>
- </trim>
- where id = #{id}
- </update>
- <!-- 获取每个水表的最新抄表记录 -->
- <select id="selectLatestReadingByMeterCodes" resultMap="WwkjReadingRecordResult">
- SELECT
- t1.meter_code,
- t1.this_meter_number,
- t1.this_meter_date,
- t1.route_code,
- t1.del_flag
- FROM wwkj_reading_record t1
- INNER JOIN (
- SELECT
- meter_code,
- MAX(this_meter_date) as max_date
- FROM wwkj_reading_record
- WHERE del_flag = '0'
- <if test="list != null and list.size() > 0">
- AND meter_code in
- <foreach collection="list" item="code" open="(" separator="," close=")">
- #{code}
- </foreach>
- </if>
- GROUP BY meter_code
- ) t2 ON t1.meter_code = t2.meter_code AND t1.this_meter_date = t2.max_date
- WHERE t1.del_flag = '0'
- </select>
- <!-- 根据水表编号查询最新抄表记录 -->
- <select id="selectLatestReadingByMeterCode" parameterType="String" resultMap="WwkjReadingRecordResult">
- select * from wwkj_reading_record
- where meter_code = #{meterCode}
- and del_flag = '0'
- order by this_meter_date desc
- limit 1
- </select>
- <!-- 根据条件查询抄表记录 -->
- <select id="selectReadingRecordsByCondition" parameterType="map" resultMap="WwkjReadingRecordResult">
- <include refid="selectWwkjReadingRecordVo"/>
- where del_flag = '0'
- <if test="meterCode != null and meterCode != ''">
- and meter_code = #{meterCode}
- </if>
- <if test="startTime != null and startTime != ''">
- and this_meter_date >= #{startTime}
- </if>
- <if test="endTime != null and endTime != ''">
- and this_meter_date <= #{endTime}
- </if>
- order by this_meter_date desc
- </select>
- <select id="selectForExport" resultType="ReadingRecordExportDTO">
- SELECT
- r.used_water_id AS usedWaterId,
- r.task_code AS taskCode,
- r.route_code AS routeCode,
- r.card_code AS cardCode,
- r.meter_code AS meterCode,
- r.this_meter_number AS thisMeterNumber,
- r.this_meter_date AS thisMeterDate,
- r.this_meter_status AS thisMeterStatus,
- r.last_used_number AS lastUsedNumber,
- r.last_mete_number AS lastMeteNumber,
- r.last_meter_status AS lastMeterStatus,
- r.last_meter_date AS lastMeterDate,
- r.reader_name AS readerName,
- r.enter_name AS enterName,
- r.enter_date AS enterDate,
- r.reading_way AS readingWay,
- r.reading_type AS readingType,
- r.remark AS remark,
- r.add_reason AS addReason,
- r.progress_status AS progressStatus,
- r.old_meter_number AS oldMeterNumber,
- r.new_meter_number AS newMeterNumber,
- r.change_meter_date AS changeMeterDate,
- c.customer_name AS customerName,
- c.customer_code AS customerCode,
- c.company_code AS companyCode,
- c.company_name AS companyName,
- c.business_code AS businessCode,
- c.business_name AS businessName,
- c.area_name AS areaName,
- c.detailed_address AS detailedAddress,
- c.water_nature AS waterNature,
- c.customer_type AS customerType,
- c.account_status AS accountStatus,
- c.open_cus_date AS openCusDate,
- w.LifetimeCode AS lifetimeCode,
- w.MeterCliber AS meterCliber,
- w.MeterType AS meterType,
- w.RunStatus AS runStatus
- FROM wwkj_reading_record r
- LEFT JOIN wwkj_meter_card m ON r.card_code = m.card_code AND m.del_flag = '0'
- LEFT JOIN wwkj_customer_info c ON m.customer_code = c.customer_code AND c.del_flag = '0'
- LEFT JOIN wwkj_water_meter w ON r.meter_code = w.MeterCode AND w.del_flag = '0'
- WHERE r.del_flag = '0'
- </select>
- </mapper>
|