316 lines
12 KiB
XML
316 lines
12 KiB
XML
<?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.adc.da.slrs.sarStandWarning.dao.EarlyWarningEODao">
|
|
|
|
<!-- Result Map-->
|
|
<resultMap id="resultMap" type="com.adc.da.slrs.sarStandWarning.entity.StandWarningEO" >
|
|
<id column="ID" property="id" />
|
|
<result column="STAND_ID" property="standId"></result>
|
|
<result column="STAND_TYPE" property="standType"></result>
|
|
<result column="STAND_CODE" property="standCode"></result>
|
|
<result column="STAND_NAME" property="standName"></result>
|
|
<result column="ISSUE_TIME" property="issueTime"></result>
|
|
<result column="APPLY_TYPE" property="applyType"></result>
|
|
<result column="DUTY_ENGINEER" property="dutyEngineer"></result>
|
|
<result column="ITEM_ID" property="itemsId"></result>
|
|
<result column="ITEMS_NUM" property="itemsNum"></result>
|
|
<result column="ITEMS_NAME" property="itemsName"></result>
|
|
<result column="TERMS_CONDITIONS" property="termsConditions"></result>
|
|
<result column="POLICY_ID" property="policyId"></result>
|
|
<result column="POLICY_NAME" property="policyName"></result>
|
|
<result column="MARK" property="mark"></result>
|
|
<result column="POWER" property="power"></result>
|
|
|
|
<result column="XCXSSRQ" property="XCXSSRQ"></result>
|
|
<result column="ZCCSSRQ" property="ZCCSSRQ"></result>
|
|
<result column="SSRQ" property="SSRQ"></result>
|
|
</resultMap>
|
|
|
|
<sql id="stand_column">
|
|
warning.id AS ID,
|
|
sarInfo.ID AS STAND_ID,
|
|
sarInfo.STAND_TYPE,
|
|
CONCAT(sarInfo.STAND_SORT,' ',sarInfo.STAND_NUMBER,'-',sarInfo.STAND_YEAR) AS STAND_CODE,
|
|
sarInfo.STAND_NAME,
|
|
sarInfo.ISSUE_TIME,
|
|
attr.SSRQ as SSRQ
|
|
</sql>
|
|
|
|
|
|
<sql id="stand_where">
|
|
|
|
<if test="waringEO.standCode != null and waringEO.standCode != ''">
|
|
AND trim(replace(CONCAT(
|
|
sarInfo.STAND_SORT,
|
|
' ',
|
|
sarInfo.STAND_NUMBER,
|
|
'-',
|
|
sarInfo.STAND_YEAR
|
|
),' ','')) LIKE trim(replace(CONCAT('%',#{waringEO.standCode},'%'),' ',''))
|
|
</if>
|
|
<if test="waringEO.standName != null and waringEO.standName != ''">
|
|
AND sarInfo.STAND_NAME like concat('%', #{waringEO.standName},'%')
|
|
</if>
|
|
<if test="waringEO.startIssueTime != null and waringEO.startIssueTime != '' and waringEO.endIssueTime != null and waringEO.endIssueTime != '' ">
|
|
AND (
|
|
DATE_FORMAT(sarInfo.ISSUE_TIME, '%Y-%m-%d') >= DATE_FORMAT(
|
|
#{waringEO.startIssueTime},
|
|
'%Y-%m-%d'
|
|
)
|
|
AND
|
|
DATE_FORMAT( sarInfo.ISSUE_TIME, '%Y-%m-%d') <= DATE_FORMAT(
|
|
#{waringEO.endIssueTime},
|
|
'%Y-%m-%d'
|
|
)
|
|
)
|
|
</if>
|
|
<if test="waringEO.startSSRQ != null and waringEO.startSSRQ != '' and waringEO.endSSRQ != null and waringEO.endSSRQ != ''">
|
|
AND (
|
|
sarInfo.ID IN (SELECT DISTINCT law_id FROM warning_date as t WHERE
|
|
DATE_FORMAT(t.SSRQ, '%Y-%m-%d') >= DATE_FORMAT(#{waringEO.startSSRQ}, '%Y-%m-%d')
|
|
AND
|
|
DATE_FORMAT(t.SSRQ, '%Y-%m-%d') <= DATE_FORMAT(#{waringEO.endSSRQ}, '%Y-%m-%d') AND t.time_name = 'SSRQ' )
|
|
)
|
|
</if>
|
|
</sql>
|
|
|
|
<sql id="export_column">
|
|
warning.id AS ID,
|
|
sarInfo.ID AS STAND_ID,
|
|
sarInfo.STAND_TYPE,
|
|
CONCAT(sarInfo.STAND_SORT,' ',sarInfo.STAND_NUMBER,'-',sarInfo.STAND_YEAR) AS STAND_CODE,
|
|
sarInfo.STAND_NAME,
|
|
sarInfo.ISSUE_TIME,
|
|
attr.SSRQ as SSRQ,
|
|
case stand_type
|
|
when 'INLAND' then '国内标准'
|
|
when 'FOREIGN' then '国外标准'
|
|
ELSE ''
|
|
END
|
|
as standTypeShow
|
|
</sql>
|
|
|
|
|
|
|
|
<select id="exportWarning" resultType="com.adc.da.slrs.sarStandWarning.entity.WarningExportVO">
|
|
|
|
SELECT WARNING_RESULT.* FROM
|
|
(
|
|
|
|
SELECT
|
|
<include refid="export_column"/> ,
|
|
attr.CLLX AS APPLY_TYPE ,
|
|
attr.ZRGCS AS DUTY_ENGINEER ,
|
|
NULL AS ITEM_ID ,
|
|
NULL AS ITEMS_NUM ,
|
|
NULL AS ITEMS_NAME ,
|
|
NULL AS TERMS_CONDITIONS,
|
|
NULL AS POLICY_ID ,
|
|
NULL AS POLICY_NAME ,
|
|
MARK ,
|
|
POWER,
|
|
attr.XCXSSRQ AS XCXSSRQ ,
|
|
attr.ZCCSSRQ AS ZCCSSRQ
|
|
FROM sar_stand_warning AS warning
|
|
LEFT JOIN sar_standards_info AS sarInfo on sarInfo.id=warning.STAND_ID
|
|
LEFT JOIN sar_stand_attr_info AS attr on attr.STAND_ID=warning.STAND_ID
|
|
<where>
|
|
POWER = '1'
|
|
AND (MARK = 'stand')
|
|
AND sarInfo.VALID_FLAG='0'
|
|
<if test="idList != null and idList.size() > 0">
|
|
AND
|
|
warning.ID
|
|
IN
|
|
<foreach collection="idList" item="id" open="(" close=")" separator=",">
|
|
<!-- 每个遍历需要生成的串 -->
|
|
#{id}
|
|
</foreach>
|
|
|
|
</if>
|
|
</where>
|
|
|
|
|
|
UNION ALL
|
|
|
|
SELECT
|
|
<include refid="export_column"/> ,
|
|
items.APPLY_ARCTIC AS APPLY_TYPE ,
|
|
items.DUTY_ENGINEER AS DUTY_ENGINEER ,
|
|
items.ID AS ITEM_ID ,
|
|
items.ITEMS_NUM ,
|
|
items.ITEMS_NAME ,
|
|
items.TERMS_CONDITIONS,
|
|
NULL AS POLICY_ID ,
|
|
NULL AS POLICY_NAME ,
|
|
MARK ,
|
|
POWER,
|
|
items.XCXSSRQ AS XCXSSRQ ,
|
|
items.ZCCSSRQ AS ZCCSSRQ
|
|
FROM
|
|
sar_stand_warning AS warning
|
|
LEFT JOIN sar_standards_info AS sarInfo ON sarInfo.id = warning.STAND_ID
|
|
LEFT JOIN sar_stand_items AS items ON items.ID = warning.ITEM_ID
|
|
LEFT JOIN sar_stand_attr_info AS attr ON attr.STAND_ID = warning.STAND_ID
|
|
<where>
|
|
POWER = '1'
|
|
AND (MARK = 'item')
|
|
AND sarInfo.VALID_FLAG='0'
|
|
<if test="idList != null and idList.size() > 0">
|
|
AND
|
|
warning.ID
|
|
IN
|
|
<foreach collection="idList" item="id" open="(" close=")" separator=",">
|
|
<!-- 每个遍历需要生成的串 -->
|
|
#{id}
|
|
</foreach>
|
|
|
|
</if>
|
|
</where>
|
|
)
|
|
WARNING_RESULT
|
|
LEFT JOIN
|
|
(
|
|
SELECT item_id,law_id,MIN(SSRQ) SSRQ_MIN FROM warning_date
|
|
GROUP BY warning_date.law_id,item_id
|
|
) warning_date
|
|
ON warning_date.law_id = WARNING_RESULT.STAND_ID
|
|
AND warning_date.item_id = WARNING_RESULT.ITEM_ID
|
|
ORDER BY warning_date.SSRQ_MIN
|
|
|
|
|
|
|
|
</select>
|
|
|
|
<select id="selectWarningPage" resultMap="resultMap">
|
|
SELECT WARNING_RESULT.* FROM
|
|
(
|
|
|
|
|
|
SELECT
|
|
<include refid="stand_column"/>
|
|
,
|
|
attr.CLLX AS
|
|
APPLY_TYPE ,
|
|
attr
|
|
.ZRGCS AS DUTY_ENGINEER ,
|
|
ITEM_ID ,
|
|
NULL AS ITEMS_NUM ,
|
|
NULL AS ITEMS_NAME ,
|
|
NULL AS TERMS_CONDITIONS,
|
|
NULL AS POLICY_ID ,
|
|
NULL AS POLICY_NAME ,
|
|
MARK ,
|
|
POWER,
|
|
attr.XCXSSRQ AS XCXSSRQ ,
|
|
attr.ZCCSSRQ AS ZCCSSRQ
|
|
FROM sar_stand_warning AS warning
|
|
LEFT JOIN sar_standards_info AS sarInfo on sarInfo.id=warning.STAND_ID
|
|
LEFT JOIN sar_stand_attr_info AS attr on attr.STAND_ID=warning.STAND_ID
|
|
<where>
|
|
POWER = '1'
|
|
<if test="waringEO.mark != null and waringEO.mark != ''">
|
|
AND (MARK = #{mark})
|
|
</if>
|
|
<if test="waringEO.mark == null or waringEO.mark == ''">
|
|
AND (MARK = 'stand')
|
|
</if>
|
|
AND sarInfo.VALID_FLAG='0'
|
|
<include refid="stand_where"/>
|
|
<if test="waringEO.applyType != null and waringEO.applyType != ''">AND attr.CLLX LIKE CONCAT('%',
|
|
#{waringEO.applyType},'%')
|
|
</if>
|
|
<if test="waringEO.startXCXSSRQ != null and waringEO.startXCXSSRQ != '' and waringEO.endXCXSSRQ != null and waringEO.endXCXSSRQ != ''">
|
|
AND (
|
|
sarInfo.ID IN (SELECT DISTINCT law_id FROM warning_date as t WHERE
|
|
DATE_FORMAT(t.SSRQ, '%Y-%m-%d') between DATE_FORMAT(#{waringEO.startXCXSSRQ}, '%Y-%m-%d') AND DATE_FORMAT(#{waringEO.endXCXSSRQ}, '%Y-%m-%d')
|
|
AND t.time_name = 'XCXSSRQ' )
|
|
)
|
|
</if>
|
|
<if test="waringEO.startZCCSSRQ != null and waringEO.startZCCSSRQ != '' and waringEO.endZCCSSRQ != null and waringEO.endZCCSSRQ != ''">
|
|
AND (
|
|
sarInfo.ID IN (SELECT DISTINCT law_id FROM warning_date as t WHERE
|
|
DATE_FORMAT(t.SSRQ, '%Y-%m-%d') between DATE_FORMAT(#{waringEO.startZCCSSRQ}, '%Y-%m-%d') AND DATE_FORMAT(#{waringEO.endZCCSSRQ}, '%Y-%m-%d')
|
|
AND t.time_name = 'ZCCSSRQ' )
|
|
)
|
|
</if>
|
|
</where>
|
|
|
|
|
|
UNION ALL
|
|
|
|
SELECT
|
|
<include refid="stand_column"/> ,
|
|
items.APPLY_ARCTIC AS APPLY_TYPE ,
|
|
items.DUTY_ENGINEER AS DUTY_ENGINEER ,
|
|
items.ID AS ITEM_ID ,
|
|
items.ITEMS_NUM ,
|
|
items.ITEMS_NAME ,
|
|
items.TERMS_CONDITIONS,
|
|
NULL AS POLICY_ID ,
|
|
NULL AS POLICY_NAME ,
|
|
MARK ,
|
|
POWER,
|
|
items.XCXSSRQ AS XCXSSRQ ,
|
|
items.ZCCSSRQ AS ZCCSSRQ
|
|
FROM
|
|
sar_stand_warning AS warning
|
|
LEFT JOIN sar_standards_info AS sarInfo ON sarInfo.id = warning.STAND_ID
|
|
LEFT JOIN sar_stand_attr_info AS attr ON attr.STAND_ID = warning.STAND_ID
|
|
LEFT JOIN sar_stand_items AS items ON items.ID = warning.ITEM_ID
|
|
<where>
|
|
POWER = '1'
|
|
<if test="waringEO.mark != null and waringEO.mark != ''">
|
|
AND (MARK = #{mark})
|
|
</if>
|
|
<if test="waringEO.mark == null or waringEO.mark == ''">
|
|
AND (MARK = 'item')
|
|
</if>
|
|
AND sarInfo.VALID_FLAG='0'
|
|
<include refid="stand_where"/>
|
|
<if test="waringEO.applyType != null and waringEO.applyType != ''">
|
|
AND items.APPLY_ARCTIC LIKE CONCAT('%', #{waringEO.applyType},'%')
|
|
</if>
|
|
|
|
<if test="waringEO.startXCXSSRQ != null and waringEO.startXCXSSRQ != '' and waringEO.endXCXSSRQ != null and waringEO.endXCXSSRQ != ''">
|
|
AND (
|
|
DATE_FORMAT( items.XCXSSRQ, '%Y-%m-%d') between DATE_FORMAT(#{waringEO.startXCXSSRQ},'%Y-%m-%d')
|
|
AND
|
|
DATE_FORMAT(#{waringEO.endXCXSSRQ},'%Y-%m-%d')
|
|
)
|
|
</if>
|
|
|
|
<if test="waringEO.startZCCSSRQ != null and waringEO.startZCCSSRQ != '' and waringEO.endZCCSSRQ != null and waringEO.endZCCSSRQ != ''">
|
|
AND(
|
|
DATE_FORMAT( items.ZCCSSRQ, '%Y-%m-%d') between DATE_FORMAT(#{waringEO.startZCCSSRQ},'%Y-%m-%d') AND DATE_FORMAT(#{waringEO.endZCCSSRQ},'%Y-%m-%d' )
|
|
)
|
|
</if>
|
|
|
|
</where>
|
|
)
|
|
WARNING_RESULT
|
|
LEFT JOIN
|
|
(
|
|
SELECT item_id,law_id,MIN(SSRQ) SSRQ_MIN FROM warning_date
|
|
GROUP BY warning_date.law_id,item_id
|
|
) warning_date
|
|
ON warning_date.law_id = WARNING_RESULT.STAND_ID
|
|
AND warning_date.item_id = WARNING_RESULT.ITEM_ID
|
|
ORDER BY warning_date.SSRQ_MIN
|
|
|
|
</select>
|
|
<select id="exportShow" resultType="java.lang.String">
|
|
SELECT
|
|
group_concat( td.DIC_TYPE_NAME SEPARATOR ',' ) as applyTypeShow
|
|
FROM
|
|
ts_dictype td
|
|
WHERE
|
|
td.DIC_TYPE_CODE
|
|
IN
|
|
<foreach collection="str" item="dicTypeCode" open="(" close=")" separator=",">
|
|
<!-- 每个遍历需要生成的串 -->
|
|
#{dicTypeCode}
|
|
</foreach>
|
|
</select>
|
|
</mapper>
|