guoshilong
2024-02-06 b570568ea3dba9e42e6feb77281f21217334e84e
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml
@@ -75,8 +75,19 @@
    </select>
    <insert id="addQualityManage">
        insert into SM_RES_DATA_QUALITY_MANAGE (res_id,rule_id,create_time,update_time,val)
        select a."guid" as res_id,${ruleId} AS rule_id,NOW() AS create_time,NOW() AS update_time, ${varStr}
        insert into SM_RES_DATA_QUALITY_MANAGE (res_id,rule_id,create_time,update_time,flag,val)
        select
            distinct a."guid" as res_id,
                     ${ruleId} AS rule_id,
                     NOW() AS create_time,
                     NOW() AS update_time,
                     case when f."flag" = '老库' THEN '地方平台'
                          when f."flag" = '物联网' THEN '省级平台'
                          when f."flag" = '水文' THEN '水文系统'
                          else ''
                    end as flag,
                     ${varStr}
        from SJZT_MD."att_res_base" a
                 left join SJZT_MD."att_res_danger_manage_special" b on (a."guid" = b."res_guid")
                 left join SJZT_MD."att_res_stag_char" c on (a."guid" = c."res_guid")
@@ -90,4 +101,68 @@
            ${whereStr}
    </insert>
    <select id="exportData" resultType="cn.gistack.sm.resDataCheck.excel.QualityManageExcel">
    SELECT  ROWNUM as no, TMP.* FROM (
        SELECT
        arb."guid" AS resGuid,
        arb."name" AS resName,
        arb."res_loc" AS resLoc,
        CASE aab."ad_name"
        when '' then
        CASE aa."ad_name" when '' then
        CASE ab."ad_name" when '' then ac."ad_name" else ab."ad_name" end
        else aa."ad_name"
        END
        else aab."ad_name"
        END  adName,
        arb."res_reg_code" AS resRegCode,
        arb."eng_scal" AS engScal,
        rule.name AS ruleName,
        rule.description AS ruleDesc,
        bdb.dict_value AS proDesc,
        qm.*
        FROM (
        select * from  SM_RES_DATA_QUALITY_MANAGE qm
        WHERE qm.is_deleted = 0
        <if test="vo.startTime !=null and vo.startTime !=''">
            AND qm.create_time &gt;= #{vo.startTime}
        </if>
        <if test="vo.endTime !=null and vo.endTime !=''">
            AND qm.create_time &lt;= #{vo.endTime}
        </if>
        ) as qm
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = qm.res_id
        LEFT JOIN SM_RES_DATA_CHECK_RULES rule ON rule.id = qm.rule_id
        left join blade_dict_biz bdb on bdb.dict_key = rule.pro_description
        left join "SJZT_MD"."att_ad_base" aab on aab."guid" = arb."interior_ad_guid"
        left join "SJZT_MD"."att_ad_base" aa on aab."p_ad_code" = aa."ad_code"
        left join "SJZT_MD"."att_ad_base" ab on aa."p_ad_code" = ab."ad_code"
        left join "SJZT_MD"."att_ad_base" ac on ab."p_ad_code" = ac."ad_code"
        where 1=1 and bdb.code = 'RES_DATA_RULES_PRO_DESCRIPTION'
        <if test="vo.resName !=null and vo.resName !='' ">
            AND arb."name" LIKE CONCAT('%',#{vo.resName},'%')
        </if>
        <if test="vo.engScal !=null and vo.engScal !='' ">
            AND arb."eng_scal"  = #{vo.engScal}
        </if>
        <if test="vo.ruleName !=null and vo.ruleName !='' ">
            AND rule.name LIKE CONCAT('%',#{vo.ruleName},'%')
        </if>
        <if test="vo.adCode != null and vo.adCode != '' ">
            and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode})
        </if>
        order by qm.create_time desc
        )TMP
    </select>
</mapper>