<?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.qianwen.smartman.modules.tpm.mapper.MaintainPlanMapper">
|
<!-- 查询保养日期为当前日的保养计划 -->
|
<select id="getPlan" resultType="com.qianwen.smartman.modules.tpm.vo.MaintainPlanVO">
|
SELECT id AS id,
|
code AS code
|
FROM blade_maintain_plan
|
WHERE is_deleted = 0
|
AND plan_status = 1
|
AND to_char(maintain_date, 'YYYY-MM-DD') = to_char(SYSDATE, 'YYYY-MM-DD')
|
</select>
|
|
<select id="maintainPlanStatisticsNum" resultType="com.qianwen.smartman.modules.tpm.vo.MaintainStatisticsVO">
|
SELECT
|
NVL(SUM(
|
CASE WHEN to_char( SYSDATE, 'YYYY-MM-DD' ) <![CDATA[ > ]]> to_char( maintain_date, 'YYYY-MM-DD' )
|
AND
|
plan_status = 2
|
THEN 1 ELSE 0 END ),0) AS "delayNum",
|
NVL(SUM(
|
CASE WHEN ( to_char( SYSDATE, 'YYYY-MM-DD' )= to_char( maintain_date, 'YYYY-MM-DD' ) AND plan_status = 2 )
|
OR plan_status = 3 THEN
|
1 ELSE 0 END),0) AS "todayNum",
|
NVL(SUM(
|
CASE WHEN to_char( SYSDATE, 'YYYY-MM-DD' ) <![CDATA[ >= ]]>
|
to_char( maintain_date - pre_warning_days , 'yyyy-mm-dd' )
|
AND to_char( SYSDATE, 'YYYY-MM-DD' )<![CDATA[ < ]]> to_char( maintain_date, 'YYYY-MM-DD' ) AND
|
plan_status = 1 THEN
|
1 ELSE 0 END),0) AS "warningNum"
|
FROM
|
blade_maintain_plan
|
WHERE
|
is_deleted = 0
|
<if test="tenantId != null and tenantId != ''">
|
AND tenant_id = #{tenantId}
|
</if>
|
</select>
|
|
<!-- 与mysql mapper相同,改动需同步 -->
|
<sql id="selectFromMaintainPlanCopy">
|
plan
|
.
|
id
|
AS id,
|
plan.code AS code, plan.device_id AS deviceId, plan.device_code AS deviceCode, plan.device_name AS deviceName,plan.device_type_id AS deviceTypeId,plan.device_type_name AS deviceTypeName,
|
plan.project_id AS pojectId,plan.project_code AS projectCode,plan.project_name AS projectName,plan.maintain_date AS maintainDate,plan.pre_warning_days AS preWarningDays,plan.plan_status AS planStatus,
|
plan.is_auto AS isAuto,plan.interval_time AS intervalTime,plan.pre_maintain_time AS preMaintainTime,plan.remark as remark,plan.maintain_nature as maintainNature
|
FROM blade_maintain_plan plan
|
WHERE plan.is_deleted = 0
|
</sql>
|
|
<select id="pageMaintainPlanExpire" resultType="com.qianwen.smartman.modules.tpm.vo.MaintainPlanExpireVO">
|
SELECT
|
<include refid="selectFromMaintainPlanCopy"/>
|
AND
|
to_char( SYSDATE, 'YYYY-MM-DD' ) <![CDATA[ > ]]> to_char( maintain_date, 'YYYY-MM-DD' )
|
AND
|
plan_status = 2
|
<if test="tenantId != null and tenantId != ''">
|
AND plan.tenant_id = #{tenantId}
|
</if>
|
<if test="maintainPlanExpireQueryVO.code != null and maintainPlanExpireQueryVO.code != ''">
|
AND plan.code like concat(#{maintainPlanExpireQueryVO.code},'%')
|
</if>
|
<if test="maintainPlanExpireQueryVO.deviceCode != null and maintainPlanExpireQueryVO.deviceCode != ''">
|
AND plan.device_code like concat(#{maintainPlanExpireQueryVO.deviceCode},'%')
|
</if>
|
<if test="maintainPlanExpireQueryVO.deviceName != null and maintainPlanExpireQueryVO.deviceName != ''">
|
AND plan.device_name like concat(#{maintainPlanExpireQueryVO.deviceName},'%')
|
</if>
|
<if test="maintainPlanExpireQueryVO.projectName != null and maintainPlanExpireQueryVO.projectName != ''">
|
AND plan.project_name like concat(#{maintainPlanExpireQueryVO.projectName},'%')
|
</if>
|
<if test="maintainPlanExpireQueryVO.isAuto != null">
|
AND plan.is_auto = #{maintainPlanExpireQueryVO.isAuto}
|
</if>
|
ORDER BY plan.maintain_date ASC
|
</select>
|
|
<select id="pageMaintainPlanToday" resultType="com.qianwen.smartman.modules.tpm.vo.MaintainPlanExpireVO">
|
SELECT
|
<include refid="selectFromMaintainPlanCopy"/>
|
AND
|
((TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) = TO_CHAR( maintain_date, 'YYYY-MM-DD' )
|
AND plan_status = 2)
|
OR plan_status = 3)
|
<if test="tenantId != null and tenantId != ''">
|
AND plan.tenant_id = #{tenantId}
|
</if>
|
<if test="maintainPlanExpireQueryVO.code != null and maintainPlanExpireQueryVO.code != ''">
|
AND plan.code like concat(#{maintainPlanExpireQueryVO.code},'%')
|
</if>
|
<if test="maintainPlanExpireQueryVO.deviceCode != null and maintainPlanExpireQueryVO.deviceCode != ''">
|
AND plan.device_code like concat(#{maintainPlanExpireQueryVO.deviceCode},'%')
|
</if>
|
<if test="maintainPlanExpireQueryVO.deviceName != null and maintainPlanExpireQueryVO.deviceName != ''">
|
AND plan.device_name like concat(#{maintainPlanExpireQueryVO.deviceName},'%')
|
</if>
|
<if test="maintainPlanExpireQueryVO.projectName != null and maintainPlanExpireQueryVO.projectName != ''">
|
AND plan.project_name like concat(#{maintainPlanExpireQueryVO.projectName},'%')
|
</if>
|
<if test="maintainPlanExpireQueryVO.isAuto != null">
|
AND plan.is_auto = #{maintainPlanExpireQueryVO.isAuto}
|
</if>
|
ORDER BY plan.maintain_date ASC
|
</select>
|
|
<select id="pageMaintainPlanWarning" resultType="com.qianwen.smartman.modules.tpm.vo.MaintainPlanExpireVO">
|
SELECT
|
<include refid="selectFromMaintainPlanCopy"/>
|
AND
|
(to_char( SYSDATE, 'YYYY-MM-DD' ) <![CDATA[ >= ]]>
|
to_char( maintain_date- pre_warning_days ,'YYYY-MM-DD'))
|
AND
|
(to_char( SYSDATE, 'YYYY-MM-DD' )<![CDATA[ < ]]> to_char( maintain_date, 'YYYY-MM-DD'))
|
AND
|
plan_status = 1
|
<if test="tenantId != null and tenantId != ''">
|
AND plan.tenant_id = #{tenantId}
|
</if>
|
<if test="maintainPlanExpireQueryVO.code != null and maintainPlanExpireQueryVO.code != ''">
|
AND plan.code like concat(#{maintainPlanExpireQueryVO.code},'%')
|
</if>
|
<if test="maintainPlanExpireQueryVO.deviceCode != null and maintainPlanExpireQueryVO.deviceCode != ''">
|
AND plan.device_code like concat(#{maintainPlanExpireQueryVO.deviceCode},'%')
|
</if>
|
<if test="maintainPlanExpireQueryVO.deviceName != null and maintainPlanExpireQueryVO.deviceName != ''">
|
AND plan.device_name like concat(#{maintainPlanExpireQueryVO.deviceName},'%')
|
</if>
|
<if test="maintainPlanExpireQueryVO.projectName != null and maintainPlanExpireQueryVO.projectName != ''">
|
AND plan.project_name like concat(#{maintainPlanExpireQueryVO.projectName},'%')
|
</if>
|
<if test="maintainPlanExpireQueryVO.isAuto != null">
|
AND plan.is_auto = #{maintainPlanExpireQueryVO.isAuto}
|
</if>
|
ORDER BY plan.maintain_date ASC
|
</select>
|
|
</mapper>
|