<?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.yuanchu.mom.mapper.MeteringPlanMapper">
|
|
<resultMap id="selectMeteringTableMap" type="map">
|
<id property="id" column="id"/>
|
<result property="planNumber" column="plan_number"/>
|
<result property="planDate" column="planDate"/>
|
<result property="founder" column="founder"/>
|
<result property="personCharge" column="personCharge"/>
|
<result property="createTime" column="createTime"/>
|
<result property="planUnit" column="plan_unit"/>
|
<collection property="result" resultMap="selectMeteringTableTwoMap" javaType="List"/>
|
</resultMap>
|
|
<resultMap id="selectMeteringTableTwoMap" type="map">
|
<result property="result" column="result"/>
|
</resultMap>
|
<select id="selectMeteringTable" resultMap="selectMeteringTableMap">
|
SELECT s.*, IFNULL(l.`measure_result`, 'n') result
|
FROM (SELECT m.`id`, m.`plan_number`, CONCAT(m.`plan_date_begin`, ' ~ ', m.`plan_date_end`) planDate,
|
s.`name` founder, u.`name` personCharge, DATE_FORMAT(m.`create_time`, '%Y-%m-%d') createTime, m.`plan_unit`
|
FROM metering_plan m, `user` u, `user` s
|
WHERE u.`id` = m.`founder`
|
AND s.`id` = m.`person_charge`
|
AND m.`state` = 1
|
<if test="code != null and code != ''">
|
AND m.`plan_number` LIKE CONCAT('%', #{code}, '%')
|
</if>
|
<if test="meteringUnit != null and meteringUnit != ''">
|
AND m.`plan_unit` LIKE CONCAT('%', #{meteringUnit}, '%')
|
</if>
|
ORDER BY m.create_time DESC
|
LIMIT #{pageNo}, #{pageSize}) s
|
LEFT JOIN measure_ledger l
|
ON l.`measure_plan_id` = s.`id`
|
WHERE (l.`state` = 1 OR l.`state` IS NULL)
|
ORDER BY s.createTime DESC
|
</select>
|
|
<select id="selectIdPlan" resultType="map">
|
SELECT m.`id`, d.`code`, d.`name`, m.`measuring_range`, m.`measure_period`, m.`measure_result`, DATE_FORMAT(m.`measure_date`, '%Y-%m-%d') measureDate,
|
DATE_FORMAT(m.`validity_end`, '%Y-%m-%d') validityEnd, u.`name` founder, DATE_FORMAT(m.`create_time`, '%Y-%m-%d') createTime, p.`plan_unit`, r.`name` personCharge, m.`measure_number`
|
FROM measure_ledger m, device d, metering_plan p, `user` u, `user` r
|
WHERE p.`state` = 1
|
AND p.`id` = #{measureId}
|
AND u.`id` = p.`founder`
|
AND r.`id` = p.`person_charge`
|
AND m.`measure_plan_id` = p.`id`
|
AND m.`device_id` = d.`id`
|
</select>
|
|
<select id="selectIdPlanIdMessage" resultType="map">
|
SELECT p.`plan_number`, u.`name` founder, r.`name` person_charge, CONCAT(p.`plan_date_begin`, ' ~ ', p.`plan_date_end`) planTime,
|
DATE_FORMAT(p.`create_time`, '%Y-%m-%d') createTime, p.`plan_unit`
|
FROM metering_plan p, `user` u, `user` r
|
WHERE r.`id` = p.`person_charge`
|
AND u.`id` = p.`founder`
|
AND p.`state` = 1
|
AND p.`id` = #{measureId}
|
</select>
|
|
<select id="selectPlanId" resultType="map">
|
SELECT p.`plan_number`, u.`name` founder, r.`name` person_charge, CONCAT(p.`plan_date_begin`, ' ~ ', p.`plan_date_end`) planTime,
|
DATE_FORMAT(p.`create_time`, '%Y-%m-%d') createTime, p.`plan_unit`
|
FROM metering_plan p, `user` u, `user` r, measure_ledger l
|
WHERE r.`id` = p.`person_charge`
|
AND u.`id` = p.`founder`
|
AND p.`state` = 1
|
AND l.`state` = 1
|
AND p.`id` = l.`measure_plan_id`
|
AND l.`id` = #{measureId}
|
</select>
|
</mapper>
|