tangzy
2021-08-25 fb981e36e0c8a4a32f37edbce1b8409d75b0f842
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="org.springblade.modules.information.mapper.InformationMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="informationResultMap" type="org.springblade.modules.information.entity.Information">
    <resultMap id="informationResultMap" type="org.springblade.modules.information.vo.InformationVO">
        <id column="id" property="id"/>
        <result column="creditCode" property="creditcode"/>
        <result column="enterpriseName" property="enterprisename"/>
@@ -28,22 +28,40 @@
        <result column="contactscell" property="contactscell"/>
        <result column="businessLicense" property="businessLicense"/>
        <result column="licence" property="licence"/>
        <result column="znum" property="znum"/>
        <result column="cnum" property="cnum"/>
        <result column="pnum" property="pnum"/>
        <result column="fregion" property="fregion"/>
        <result column="ftime" property="ftime"/>
    </resultMap>
    <select id="selectInformationPage" resultMap="informationResultMap">
        select * from sys_information where 1=1
        SELECT
        i.*,
        IFNULL(A.znum ,0) as znum,
        IFNULL(B.cnum ,0) as cnum,
        IFNULL(C.pnum ,0) as pnum
        FROM
        sys_information i
        LEFT JOIN ( SELECT COUNT( * ) AS znum, dept_id FROM blade_user WHERE role_id = '1412226235153731586'  AND status=1  GROUP BY dept_id ) A ON A.dept_id = i.departmentid
        LEFT JOIN ( SELECT COUNT( * ) AS cnum, dept_id FROM blade_user WHERE role_id = '1412226235153731586'  AND status=1  AND hold=1 GROUP BY dept_id ) B ON B.dept_id = i.departmentid
        LEFT JOIN ( SELECT COUNT( * ) AS pnum, dept_id FROM blade_user WHERE role_id = '1412226235153731586'  AND status=1  AND dispatch=0 GROUP BY dept_id ) C ON C.dept_id = i.departmentid
        where  1=1
        <if test="information.enterprisename!=null and information.enterprisename!=''">
            and enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
            and i.enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
        </if>
        <if test="information.representative!=null and information.representative!=''">
            and representative like concat(concat('%', #{information.representative}),'%')
            and i.representative like concat(concat('%', #{information.representative}),'%')
        </if>
        <if test="information.stats!=null and information.stats!=''">
            and stats=#{stats}
            and i.stats=#{information.stats}
        </if>
        <if test="information.jurisdiction!=null and information.jurisdiction!=''">
            and jurisdiction=#{jurisdiction}
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1123598813738675201'">
            and i.jurisdiction=#{information.jurisdiction}
        </if>
        <if test="information.departmentid!=null and information.departmentid!=''">
            and i.departmentid=#{information.departmentid}
        </if>
    </select>
@@ -1059,7 +1077,7 @@
            and A.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and A.dept_id =#{deptid}
            and d.dept_name like concat(concat('%', #{deptid}),'%')
        </if>
    </select>
@@ -1224,6 +1242,8 @@
    <select id="selectYw" resultType="java.util.HashMap">
        SELECT
        A.enterpriseName,
        A.departmentid,
        A.jurisdiction,
        A.dept_name as jurname,
        IFNULL( B.num, 0 ) AS fwnum,
        IFNULL( C.znum, 0 ) AS znum
@@ -1249,7 +1269,7 @@
            AND A.jurisdiction=#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and A.departmentid=#{deptid}
            and A.enterpriseName like concat('%', #{deptid},'%')
        </if>
    </select>
@@ -1296,7 +1316,7 @@
            and di.jurisdiction =#{jurisdiction}
        </if>
        <if test="fid!=null and fid!=''">
            and di.dispatcher_unit_id=#{fid}
            and u.name like concat('%', #{fid},'%')
        </if>
    </select>
    <!--服务单位下拉-->
@@ -1335,4 +1355,89 @@
        GROUP BY
        i.enterpriseName,j.dept_name
    </select>
    <!--违规经营-->
    <select id="selectWg" resultType="java.util.HashMap">
        SELECT A.*,
        A.deptname,
        A.jurname,
        IFNULL(B.cznum, 0) AS cznum,
        IFNULL(C.sbnum, 0) AS sbnum,
        IFNULL(D.znum, 0) AS znum
        FROM (
        SELECT u.*,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM sys_information u
        LEFT JOIN blade_dept d ON d.id = u.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
        ) A
        LEFT JOIN (
        SELECT COUNT(*) AS cznum,
        dept_id
        FROM blade_user
        WHERE hold = 1
        AND role_id = '1412226235153731586'
        AND is_deleted = 0
        GROUP BY dept_id
        ) B ON B.dept_id = A.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS sbnum,
        dept_id
        FROM blade_user
        WHERE soil = 0
        AND role_id = '1412226235153731586'
        AND is_deleted = 0
        GROUP BY dept_id
        ) C ON C.dept_id = A.departmentid
        LEFT JOIN (SELECT COUNT(*) AS znum, dept_id
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        AND is_deleted = 0
        GROUP BY dept_id) D ON D.dept_id = A.departmentid where 1=1
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1123598813738675201'">
            and A.jurisdiction = #{jurisdiction}
        </if>
    </select>
    <!--经营不善-->
    <select id="selectJy" resultType="java.util.HashMap">
        SELECT i.*,
        IFNULL(d.num, 0) as num
        FROM sys_information i
        LEFT JOIN (SELECT COUNT(*) num, dept_id FROM sys_dispatcher_unit GROUP BY dept_id) d
        ON i.departmentid = d.dept_id where 1=1
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1123598813738675201'">
            and i.jurisdiction = #{jurisdiction}
        </if>
    </select>
    <!--有实无名-->
    <select id="selectYs" resultType="java.util.HashMap">
        SELECT i.*,
        IFNULL(d.num, 0) as num
        FROM sys_information i
        LEFT JOIN (SELECT COUNT(*) num, dept_id FROM blade_user WHERE role_id='1412226235153731586' GROUP BY dept_id) d
        ON i.departmentid = d.dept_id where 1=1
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1123598813738675201'">
            and i.jurisdiction = #{jurisdiction}
        </if>
    </select>
    <select id="selectAge" resultType="java.util.HashMap">
        SELECT
        IFNULL(TIMESTAMPDIFF( YEAR, bu.birthday, CURDATE( ) ),0) AS age
        FROM
        blade_user bu
        LEFT JOIN sys_information si ON si.departmentid = bu.dept_id
        WHERE bu.`status`=1 AND bu.role_id='1412226235153731586'
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1123598813738675201'">
            and bu.jurisdiction = #{jurisdiction}
        </if>
        <if test="deptid!=null and deptid != ''">
            and bu.dept_id = #{deptid}
        </if>
    </select>
</mapper>