| | |
| | | <?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="org.sxkj.fw.device.mapper.FwDeviceMaintainPlanMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="fwDeviceMaintainPlanResultMap" type="org.sxkj.fw.device.vo.FwDeviceMaintainPlanVO"> |
| | | <result column="id" property="id"/> |
| | |
| | | <result column="purpose" property="purpose"/> |
| | | <result column="charger" property="charger"/> |
| | | <result column="device_create_time" property="createTime"/> |
| | | <result column="maintain_status" property="maintainStatus"/> |
| | | <result column="last_maintain_time" property="lastMaintainTime"/> |
| | | </resultMap> |
| | | |
| | | <sql id="deviceFields"> |
| | |
| | | b.create_time as device_create_time |
| | | </sql> |
| | | |
| | | <sql id="maintainStatusCalculation"> |
| | | CASE |
| | | WHEN ( |
| | | SELECT COUNT(1) |
| | | FROM ja_fw_device_maintain_record r |
| | | WHERE r.device_id = a.device_id |
| | | AND r.is_deleted = 0 |
| | | AND r.maintain_time IS NOT NULL |
| | | AND ( |
| | | (a.plan_cycle_type = '1' AND FIND_IN_SET(DATE_FORMAT(r.maintain_time, '%m月%d号'), REPLACE(REPLACE(REPLACE(a.plan_cycle_value, '[', ''), ']', ''), '"', '')) > 0) |
| | | OR (a.plan_cycle_type = '2' AND FIND_IN_SET(DATE_FORMAT(r.maintain_time, '%d号'), REPLACE(REPLACE(REPLACE(a.plan_cycle_value, '[', ''), ']', ''), '"', '')) > 0) |
| | | OR (a.plan_cycle_type = '3' AND FIND_IN_SET(ELT(DAYOFWEEK(r.maintain_time), '星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'), REPLACE(REPLACE(REPLACE(a.plan_cycle_value, '[', ''), ']', ''), '"', '')) > 0) |
| | | ) |
| | | ) > 0 THEN '已维护' |
| | | ELSE '未维护' |
| | | END AS maintain_status, |
| | | (SELECT MAX(r.maintain_time) FROM ja_fw_device_maintain_record r WHERE r.device_id = a.device_id AND r.is_deleted = 0) AS last_maintain_time |
| | | |
| | | </sql> |
| | | |
| | | |
| | | <select id="getFwDeviceMaintainPlanById" resultMap="fwDeviceMaintainPlanResultMap"> |
| | | select |
| | | <include refid="deviceFields"/>,a.* |
| | | <include refid="deviceFields"/>,a.* |
| | | from |
| | | ja_fw_device_maintain_plan a |
| | | left join ja_fw_device b on (a.device_id = b.id) |
| | |
| | | |
| | | <select id="selectFwDeviceMaintainPlanPage" resultMap="fwDeviceMaintainPlanResultMap"> |
| | | select |
| | | <include refid="deviceFields"/>,a.* |
| | | <include refid="deviceFields"/>,a.*, |
| | | <include refid="maintainStatusCalculation"/> |
| | | from |
| | | ja_fw_device_maintain_plan a |
| | | ja_fw_device_maintain_plan a |
| | | left join ja_fw_device b on (a.device_id = b.id) |
| | | <where> |
| | | a.is_deleted = 0 |
| | |
| | | |
| | | |
| | | <select id="exportFwDeviceMaintainPlan" resultType="org.sxkj.fw.device.excel.FwDeviceMaintainPlanExcel"> |
| | | SELECT * FROM ja_fw_device_maintain_plan ${ew.customSqlSegment} |
| | | SELECT * |
| | | FROM ja_fw_device_maintain_plan ${ew.customSqlSegment} |
| | | </select> |
| | | |
| | | </mapper> |