| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- <?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="cn.com.goldenwater.dcproj.dao.DcPageOfficeHhslReportDao">
- <select id="getInspectorTime" resultType="java.util.HashMap">
- SELECT
- DISTINCT T.ID, T.PNM, T2.DAY_TIME, T2.DAYS
- FROM
- (
- SELECT
- <choose>
- <when test="id.length()==6">
- substr(id,0,6)
- </when>
- <when test="id.length()==9">
- substr(id,0,9)
- </when>
- <otherwise>
- id
- </otherwise>
- </choose>
- ID, LISTAGG(PNM, '、') WITHIN GROUP(ORDER BY ID) PNM
- FROM BIS_INSP_ALL A
- WHERE
- LENGTH(ID)=12
- AND ID LIKE #{id} || '%'
- GROUP BY
- <choose>
- <when test="id.length()==6">
- substr(id,0,6)
- </when>
- <when test="id.length()==9">
- substr(id,0,9)
- </when>
- <otherwise>
- id
- </otherwise>
- </choose>
- ) T
- LEFT JOIN
- (
- SELECT
- Q.ID,Q1.PERS_NAME,Q1.ORG_NM,Q1.DPPOST,Q.PERTYPE,Q1.ADM_DUTY
- FROM BIS_INSP_ALL_RLATION Q
- INNER JOIN
- BIS_INSP_ALL_RLATION_PERS Q1 ON Q.PERSID=Q1.GUID
- WHERE LENGTH(Q.ID)=12
- ) T1 ON T.ID = T1.ID
- LEFT JOIN
- (
- SELECT
- ID,TO_CHAR(A.STTM, 'YYYY"年"MM"月"DD"日"') || '至' || TO_CHAR(A.ENTM, 'MM"月"DD"日"') AS DAY_TIME,
- ROUND(TO_NUMBER(A.ENTM - A.STTM)) AS DAYS
- FROM BIS_INSP_ALL A
- WHERE ID = #{id}
- ) T2 ON T.ID=T2.ID
- </select>
- <select id="getInspectorGroupAndPer" resultType="java.util.HashMap">
- SELECT DISTINCT
- T.ID,
- T.PNM,
- LISTAGG(T1.PERS_NAME, ',') WITHIN GROUP(ORDER BY T.ID, T.PNM) GROUP_PER
- FROM
- (
- SELECT
- id ID,
- LISTAGG(PNM, '、') WITHIN GROUP(ORDER BY ID) PNM
- FROM
- BIS_INSP_ALL A
- WHERE
- LENGTH( ID ) = 12
- AND ID LIKE #{id} || '%'
- GROUP BY
- id
- ) T
- LEFT JOIN (
- SELECT
- Q.ID,
- Q1.PERS_NAME,
- Q1.ORG_NM,
- Q1.DPPOST,
- Q.PERTYPE,
- Q1.ADM_DUTY
- FROM
- BIS_INSP_ALL_RLATION Q
- INNER JOIN BIS_INSP_ALL_RLATION_PERS Q1 ON Q.PERSID = Q1.GUID
- WHERE
- LENGTH( Q.ID ) = 12
- AND Q.ID LIKE #{id} || '%'
- ) T1 ON T.ID = T1.ID
- group by T.ID, T.PNM
- </select>
- <select id="getInspectorCity" resultType="java.util.HashMap">
- WITH P AS (
- SELECT Q.ID,
- Q1.ORG_NM,
- Q1.DPPOST,
- CASE
- WHEN Q.PERTYPE = '1' THEN
- '组长'
- WHEN Q.PERTYPE = '2' THEN
- '组员'
- WHEN Q.PERTYPE = '3' THEN
- '联络员'
- WHEN Q.PERTYPE = '4' THEN
- '专家'
- ELSE ''
- END AS PERTYPE,
- Q1.PERS_NAME,
- Q1.ADM_DUTY
- FROM BIS_INSP_ALL_RLATION Q
- INNER JOIN BIS_INSP_ALL_RLATION_PERS Q1 ON Q.PERSID = Q1.GUID
- ORDER BY Q.PERTYPE
- ),
- O AS (
- SELECT ID, LISTAGG(AD_FULL_NAME, ',') WITHIN GROUP(ORDER BY ID) AD_NAME FROM (
- SELECT DISTINCT O.ID, ad.AD_FULL_NAME
- FROM BIS_INSP_ALL_OBJ O
- LEFT JOIN
- (SELECT * FROM ATT_JSKEJIAN_FLKDIS_RGSTR WHERE STATE = '2') R ON O.OBJ_ID = R.OBJ_ID
- left join ATT_AD_X_BASE ad on ad.ad_code = R.ad_code
- WHERE R.ID IS NOT NULL
- AND LENGTH(O.ID) = 12
- AND O.ID LIKE #{id} || '%'
- ) a
- GROUP BY ID
- )
- SELECT DISTINCT T.ID,
- T.PNM,
- O.AD_NAME,
- LISTAGG(CONCAT(P.PERTYPE, P.PERS_NAME), ',') WITHIN GROUP(ORDER BY T.ID) GROUP_PER
- FROM (
- SELECT ID,
- LISTAGG(PNM, '、') WITHIN GROUP(ORDER BY ID) PNM
- FROM BIS_INSP_ALL A
- WHERE LENGTH(ID) = 12
- AND ID LIKE #{id} || '%'
- GROUP BY ID
- ) T
- LEFT JOIN P ON T.ID = P.ID
- LEFT JOIN O ON T.ID = O.ID
- GROUP BY T.ID, T.PNM, O.AD_NAME
- </select>
- <select id="getQestions" resultType="java.util.HashMap">
- SELECT A.*, AD.AD_NAME AS CITY
- FROM (
- SELECT
- SUBSTR(AD.AD_CODE, 0, 4) || '00000000' AD_CODE, COUNT( Q.PBLM_ID ) Q_NUM
- FROM BIS_INSP_ALL_OBJ O
- LEFT JOIN BIS_INSP_PBLM Q ON O.OBJ_ID = Q.OBJ_ID
- LEFT JOIN (SELECT * FROM ATT_JSKEJIAN_FLKDIS_RGSTR WHERE STATE = '2') R ON O.OBJ_ID = R.OBJ_ID
- LEFT JOIN ATT_AD_X_BASE AD ON AD.AD_CODE = R.AD_CODE
- WHERE
- R.ID IS NOT NULL
- AND Q.PBLM_ID IS NOT NULL
- AND LENGTH(O.ID) = 12
- AND O.ID LIKE #{id} || '%'
- GROUP BY O.ID, SUBSTR(AD.AD_CODE, 0, 4) || '00000000'
- ) A
- LEFT JOIN ATT_AD_X_BASE AD ON A.AD_CODE = AD.AD_CODE
- </select>
-
- <resultMap id="HhslQuestionsDto" type="cn.com.goldenwater.dcproj.dto.HhslQuestionsDto">
- <id column="id" property="id"/>
- <id column="SHI" property="shi"/>
- <result column="name" property="name"/>
- <result column="STTM" property="sttm"/>
- <result column="ENTM" property="entm"/>
- <result column="SHI_NM" property="shiNm"/>
- <!--
- collection 标签:用于定义关联的list集合类型的封装规则
- property:对应三级分类的list属性名
- ofType:集合的类型,三级分类的vo
- -->
- <collection property="xianList" ofType="cn.com.goldenwater.dcproj.dto.Xian">
- <id column="xian" property="xian"/>
- <result column="XIAN_NM" property="xianNm"/>
- <result column="Q_ID" property="qId"/>
- <result column="Q_NUM" property="qNum"/>
- </collection>
- </resultMap>
- <select id="getQestions2" resultMap="HhslQuestionsDto">
- WITH a AS (
- SELECT
- A.ID,
- SUBSTR( AD.AD_CODE, 0, 4 ) || '00000000' SHI,
- A.PNM as NAME,
- A.STTM,
- A.ENTM,
- SUBSTR( AD.AD_CODE, 0, 6 ) || '00000000' XIAN,
- AD.AD_NAME XIAN_NM,
- COUNT( SUBSTR( AD.AD_CODE, 0, 6 ) || '00000000' ) Q_NUM,
- LISTAGG(Q.PBLM_ID, ',') WITHIN GROUP(ORDER BY Q.PBLM_ID) Q_ID
- FROM
- BIS_INSP_ALL A
- LEFT JOIN BIS_INSP_ALL_OBJ O ON A.ID = O.ID
- LEFT JOIN BIS_INSP_PBLM Q ON O.OBJ_ID = Q.OBJ_ID
- LEFT JOIN (SELECT * FROM ATT_JSKEJIAN_FLKDIS_RGSTR WHERE STATE = '2') R ON O.OBJ_ID = R.OBJ_ID
- LEFT JOIN ATT_AD_X_BASE AD ON AD.AD_CODE = R.AD_CODE
- WHERE
- R.ID IS NOT NULL
- AND Q.PBLM_ID IS NOT NULL
- AND LENGTH( O.ID ) = 12
- AND O.ID LIKE #{id} || '%'
- GROUP BY
- A.ID,
- A.PNM,
- A.STTM,
- A.ENTM,
- SUBSTR( AD.AD_CODE, 0, 4 ) || '00000000',
- SUBSTR( AD.AD_CODE, 0, 6 ) || '00000000',
- AD.AD_NAME
- )
- SELECT A.*, AD.AD_NAME AS SHI_NM
- FROM A
- LEFT JOIN ATT_AD_X_BASE AD ON A.SHI = AD.AD_CODE
- ORDER BY A.ID, AD.AD_NAME
- </select>
- <select id="getBisInspPblmById" resultType="java.util.HashMap">
- SELECT
- R.NAME, R.PBLM_DESC, Q.INSP_PBLM_CODE, Q.INSP_PBLM_NAME, Q.INSP_PBLM_DESC
- FROM
- BIS_INSP_ALL_OBJ O
- LEFT JOIN BIS_INSP_PBLM Q ON O.OBJ_ID = Q.OBJ_ID
- LEFT JOIN (SELECT * FROM ATT_JSKEJIAN_FLKDIS_RGSTR WHERE STATE = '2') R ON O.OBJ_ID = R.OBJ_ID
- WHERE
- R.ID IS NOT NULL
- AND LENGTH( O.ID ) = 12
- AND Q.PBLM_ID LIKE #{id} || '%'
- </select>
- </mapper>
|