Pu Zhibing
2025-02-25 91ebbdc5ef67699d166498f6cf5fcc21058817dd
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml
@@ -16,8 +16,9 @@
               sc.images,
               sc.videos,
               CASE
                   WHEN scar.audit_type = 1 AND scar.audit_status = 1 THEN 5
                   WHEN scar.audit_type = 2 AND scar.audit_status = 2 THEN 6
                   WHEN scar.audit_type = 1 AND scar.audit_status = 0 THEN 7
                   WHEN scar.audit_type = 2 AND scar.audit_status = 0 THEN 5
                   WHEN scar.audit_status = 2 THEN 6
                   ELSE sc.status
                   END          AS status,
               sc.report_type,
@@ -35,6 +36,7 @@
               sc.completion_username,
               sc.completion_user_phone,
               sc.closing_time,
               sc.over_time_days,
               sc.latitude,
               sc.longitude,
               scar.audit_type,
@@ -44,15 +46,14 @@
               scar.videos,
               scar.create_time AS reportTime,
               scar.system_user_id,
               scar.name        AS reportName,
               scar.reporter,
               scar.department_name,
               scar.department_id
        FROM sgsb_complaint sc
                 LEFT JOIN sgsb_complaint_audit_record scar ON scar.complaint_id = sc.id AND scar.latest_flag = 1
        <where>
            <if test="query.type ==null">
                (scar.audit_type = 1 AND scar.audit_status = 1)
                OR (scar.audit_type = 2 AND scar.audit_status = 2)
            <if test="query.type ==null and isSuperior == 1">
                 AND (scar.auditor_id IS NULL OR scar.auditor_id != #{query.userId})
            </if>
            <if test="isSuperior == 1 and targetId != null">
                AND sc.superior_id = #{targetId}
@@ -61,10 +62,10 @@
                AND sc.create_by = #{targetId}
            </if>
            <if test="query.type!=null and query.type == 0">
                AND scar.audit_type = 2 AND scar.audit_status = 2
                AND(scar.audit_type = 1 AND scar.audit_status = 0) OR (scar.audit_type = 2 AND scar.audit_status = 0)
            </if>
            <if test="query.type!=null and query.type == 1">
                AND sc.status = 0
                AND sc.status IN(0,1,2)
            </if>
            <if test="query.type!=null and query.type == 2">
                AND sc.status = 3
@@ -74,53 +75,62 @@
    </select>
    <select id="getDetail" resultType="com.panzhihua.sangeshenbian.model.vo.ComplaintVO">
        SELECT sc.id,
               sc.serial_number,
               sc.time,
               sc.problem_type,
               sc.name,
               sc.contact_number,
               sc.location,
               sc.detailed_address,
               sc.description_title,
               sc.description_content,
               sc.images,
               sc.videos,
               CASE
                   WHEN scar.audit_type = 1 AND scar.audit_status = 1 THEN 5
                   WHEN scar.audit_type = 2 AND scar.audit_status = 2 THEN 6
                   ELSE sc.status
                   END          AS status,
               sc.report_type,
               sc.superior_id,
               sc.create_by,
               sc.create_time,
               sc.update_by,
               sc.update_time,
               sc.completion_description,
               sc.completion_images,
               sc.completion_videos,
               sc.completion_other_description,
               sc.completion_time,
               sc.completion_user_id,
               sc.completion_username,
               sc.completion_user_phone,
               sc.closing_time,
               sc.latitude,
               sc.longitude,
               scar.audit_type,
               scar.audit_status,
               scar.comment,
               scar.images,
               scar.videos,
               scar.create_time AS reportTime,
               scar.system_user_id,
               scar.name        AS reportName,
               scar.department_name,
               scar.department_id,
               scar.comment
        sc.serial_number,
        sc.time,
        sc.problem_type,
        sc.name,
        sc.contact_number,
        sc.location,
        sc.detailed_address,
        sc.description_title,
        sc.description_content,
        sc.images,
        sc.videos,
        CASE
        WHEN scar.audit_type = 1 AND scar.audit_status = 0 THEN 7
        WHEN scar.audit_type = 2 AND scar.audit_status = 0 THEN 5
        WHEN scar.audit_status = 2 THEN 6
        ELSE sc.status
        END          AS status,
        sc.report_type,
        sc.superior_id,
        sc.create_by,
        sc.create_time,
        sc.update_by,
        sc.update_time,
        sc.completion_description,
        sc.completion_images,
        sc.completion_videos,
        sc.completion_other_description,
        sc.completion_time,
        sc.completion_user_id,
        sc.completion_username,
        sc.completion_user_phone,
        sc.closing_time,
        sc.over_time_days,
        sc.latitude,
        sc.longitude,
        scar.audit_type,
        scar.audit_status,
        scar.comment,
        scar.images,
        scar.videos,
        scar.create_time AS reportTime,
        scar.system_user_id,
        scar.reporter,
        scar.department_name,
        scar.department_id,
        scar.comment,
        scar.create_time AS auditTime,
        scar.reject_reason,
        su.nick_name,
        su.phone,
        su2.nick_name AS auditorName,
        su2.phone AS auditorPhone
        FROM sgsb_complaint sc
            LEFT JOIN sys_user su ON su.user_id = sc.create_by
                 LEFT JOIN sgsb_complaint_audit_record scar ON scar.complaint_id = sc.id AND scar.latest_flag = 1
        WHERE sc.id = #{id}
        LEFT JOIN sys_user su2 ON su2.user_id = scar.auditor_id AND scar.audit_status != 0
        <where>
            sc.id = #{id}
        </where>