吉安感知网项目-后端
linwei
54 mins ago caf9d837bc7b2bb6de6b7ba0aac72c3ab7ae93a8
drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/mapper/GdDataObjectionMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="org.sxkj.gd.orderdata.mapper.GdDataObjectionMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="gdDataObjectionResultMap" type="org.sxkj.gd.orderdata.entity.GdDataObjectionEntity">
    <resultMap id="gdDataObjectionResultMap" type="org.sxkj.gd.orderdata.vo.GdDataObjectionVO">
        <result column="id" property="id"/>
        <result column="title" property="title"/>
        <result column="objection_type" property="objectionType"/>
@@ -17,6 +17,7 @@
        <result column="other_objection_detail" property="otherObjectionDetail"/>
        <result column="review_opinion" property="reviewOpinion"/>
        <result column="area_code" property="areaCode"/>
        <result column="attach_names" property="attachNames"/>
        <result column="create_user" property="createUser"/>
        <result column="create_dept" property="createDept"/>
        <result column="create_time" property="createTime"/>
@@ -28,7 +29,65 @@
    <select id="selectGdDataObjectionPage" resultMap="gdDataObjectionResultMap">
        select * from ja_gd_data_objection where is_deleted = 0
        select
        obj.id,
        obj.title,
        obj.objection_type,
        obj.objection_status,
        obj.catalog_resource_name,
        obj.submitter,
        obj.submitter_contact,
        obj.handle_unit,
        obj.objection_desc,
        obj.objection_basis,
        obj.other_objection_detail,
        obj.review_opinion,
        obj.area_code,
        obj.apply_target_dept_id,
        obj.create_user,
        obj.create_dept,
        obj.create_time,
        obj.update_user,
        obj.update_time,
        obj.status,
        obj.is_deleted,
        string_agg(da.attach_name::text, ',') as attach_names,
        bd.dept_name as create_dept_name
        from
        ja_gd_data_objection obj
        left join
        ja_gd_data_objection_attachment da
        on obj.id::text = da.objection_id::text
        and da.is_deleted = 0
        left join
        blade_dept bd on bd.id::text = obj.create_dept::text
        <where>
            obj.is_deleted = 0
            <if test="param2.title != null and param2.title != ''">
                and obj.title::text like concat('%',#{param2.title},'%')
            </if>
            <if test="param2.objectionStatus != null and param2.objectionStatus != ''">
                and obj.objection_status::text = #{param2.objectionStatus}::text
            </if>
            <if test="param2.deptList != null and param2.deptList.size > 0">
                and (
                obj.create_dept::text in
                <foreach collection="param2.deptList" item="deptId" open="(" separator="," close=")">
                    #{deptId}::text
                </foreach>
                or obj.apply_target_dept_id::text in
                <foreach collection="param2.deptList" item="deptId" open="(" separator="," close=")">
                    #{deptId}::text
                </foreach>
                )
            </if>
        </where>
        group by
        obj.id, obj.title, obj.objection_status, obj.create_dept,
        obj.apply_target_dept_id, obj.create_time,
        /* 只要 SELECT 里出现的非聚合字段,GROUP BY 必须加上 */
        obj.update_time,
        obj.is_deleted, bd.dept_name
    </select>
@@ -36,4 +95,23 @@
        SELECT * FROM ja_gd_data_objection ${ew.customSqlSegment}
    </select>
    <select id="getDetail" resultType="org.sxkj.gd.orderdata.vo.GdDataObjectionVO">
        SELECT
        obj.*,
        string_agg(da.attach_name::text, ',') AS attach_names,
        string_agg(da.attach_id::text, ',') AS attach_ids
        FROM
        ja_gd_data_objection obj
        LEFT JOIN
        ja_gd_data_objection_attachment da ON obj.id::text = da.objection_id::text
        <where>
            da.is_deleted = 0
            <if test="id != null">
                AND obj.id::text = #{id}::text
            </if>
        </where>
        GROUP BY
        obj.id
    </select>
</mapper>