| | |
| | | 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.* |
| | | from |
| | | ja_fw_device_maintain_plan a |
| | | left join ja_fw_device b on (a.device_id = b.id) |
| | | left join ja_fw_device b on (a.device_id::VARCHAR = b.id::VARCHAR) |
| | | <where> |
| | | a.is_deleted = 0 |
| | | <if test="id != null and id != ''"> |
| | |
| | | |
| | | <select id="selectFwDeviceMaintainPlanPage" resultMap="fwDeviceMaintainPlanResultMap"> |
| | | select |
| | | <include refid="deviceFields"/>,a.*, |
| | | <include refid="maintainStatusCalculation"/> |
| | | <include refid="deviceFields"/>, |
| | | a.* |
| | | from |
| | | ja_fw_device_maintain_plan a |
| | | left join ja_fw_device b on (a.device_id = b.id) |
| | | ja_fw_device_maintain_plan a |
| | | left join |
| | | ja_fw_device b on (a.device_id::VARCHAR = b.id::VARCHAR) |
| | | <where> |
| | | a.is_deleted = 0 |
| | | a.is_deleted = 0 |
| | | <if test="param2.deviceId != null and param2.deviceId != ''"> |
| | | and device_id = #{param2.deviceId} |
| | | </if> |
| | |
| | | <if test="param2.belongDept != null and param2.belongDept != ''"> |
| | | and belong_dept = #{param2.belongDept} |
| | | </if> |
| | | <if test="param2.deptList != null and param2.deptList.size > 0"> |
| | | and a.create_dept in |
| | | <foreach collection="param2.deptList" item="deptId" open="(" separator="," close=")"> |
| | | #{deptId} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |