guoshilong
2024-04-03 0513a476797ef78f15a1fabb9c8e045e618b5122
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResGeneralInvestigationMapper.xml
@@ -480,7 +480,65 @@
            and tdis."tb_year" = #{params.tbYear}
        </if>
        and tdis."check_state" = 2
        )checkDykeNum
        )checkDykeNum,
        IFNULL(
        (
        SELECT
        SUM(CASE WHEN trd."dyke_length" THEN trd."dyke_length" ELSE 0 END)
        FROM SJZT_MD."tb_res_dyke" trd
        LEFT JOIN ywxt."att_ad_base" county on county."ad_code" = trd."ad_code"
        LEFT JOIN ywxt."att_ad_base" city on city."ad_code" = county."p_ad_code"
        LEFT JOIN ywxt."att_ad_base" province on province."ad_code" = city."p_ad_code"
        where (county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
        ),0) AS dykeTotalLength,
        IFNULL((
        SELECT
        SUM(CASE WHEN trd.dangerLength THEN trd.dangerLength ELSE 0 END)
        FROM (
        SELECT
        tdis."guid",
        tdis."dyke_guid",
        trd."ad_code",
        trd."dyke_level",
        trd."dyke_length",
        tdi.dangerLength
        FROM SJZT_MD."tb_dyke_investigation_state" tdis
        LEFT JOIN SJZT_MD."tb_res_dyke" trd on trd."guid" = tdis."dyke_guid"
        LEFT JOIN (
        SELECT
        TEMP1."tb_state_id",
        TEMP1."unit",
        TEMP1.dangerLength/temp1.num as dangerLength
        FROM (
        SELECT
        tdi."tb_state_id",
        tdi."dyke_guid",
        tdi."unit",
        count(*) as num,
        SUM(CASE WHEN (tdi."danger_length") THEN tdi."danger_length" ELSE 0 END) AS dangerLength
        from sjzt_md."tb_dyke_investigation" tdi
        where 1=1
        <if test="params.tbYear != null and params.tbYear != ''">
            AND    tdi."tb_year" = #{params.tbYear}
        </if>
        group by tdi."tb_state_id",tdi."dyke_guid",tdi."unit"
        )TEMP1
        ) tdi on tdi."tb_state_id" = tdis."guid"
        where (tdis."check_state" = 1 or tdis."check_state" = 2)
        ) trd
        LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = trd."ad_code"
        LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
        LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
        where (county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
        ),0)   AS dangerTotalLength
        FROM YWXT."att_ad_base" aab
        LEFT JOIN YWXT."att_ad_base" paab ON paab."guid" = aab."p_ad_code"
        where