From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送
---
src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml | 328 +++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 298 insertions(+), 30 deletions(-)
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
index 1145a76..ddd595c 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
@@ -17,17 +17,183 @@
<result column="is_deleted" property="isDeleted"/>
</resultMap>
- <!--自定义分页查询-->
- <select id="selectTaskReportForRepairsPage" resultType="org.springblade.modules.task.vo.TaskReportForRepairsVO">
+ <resultMap id="taskReportForRepairsResult" type="org.springblade.modules.task.vo.TaskReportForRepairsVO">
+ <result property="id" column="id"/>
+ <result property="taskId" column="task_id"/>
+ <result property="addressCode" column="address_code"/>
+ <result property="type" column="type"/>
+ <result property="realName" column="real_name"/>
+ <result property="phone" column="phone"/>
+ <result property="remark" column="remark"/>
+ <result property="imageUrls" column="image_urls"/>
+ <result property="confirmUserId" column="confirm_user_id"/>
+ <result property="confirmTime" column="confirm_time"/>
+ <result property="confirmFlag" column="confirm_flag"/>
+ <result property="confirmNotion" column="confirm_notion"/>
+ <result property="createTime" column="create_time"/>
+ <result property="createUser" column="create_user"/>
+ <result property="createDept" column="create_dept"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="updateUser" column="update_user"/>
+ <result property="isDeleted" column="is_deleted"/>
+ <result property="status" column="status"/>
+ <result property="lng" column="lng"/>
+ <result property="lat" column="lat"/>
+ <result property="address" column="address"/>
+ <result property="viewType" column="view_type"/>
+ <result property="houseFlag" column="house_flag"/>
+
+
+ <collection property="taskRepairStepList" column="id" select="selectTaskRepairStepList"
+ javaType="java.util.List" ofType="org.springblade.modules.task.entity.TaskRepairStepEntity"
+ autoMapping="true">
+ <id property="repairId" column="id"/>
+ </collection>
+
+ <collection property="taskRepairAppraiseList" column="id" select="selectTaskRepairAppraiseList"
+ javaType="java.util.List" ofType="org.springblade.modules.task.entity.TaskRepairAppraiseEntity"
+ autoMapping="true">
+ <id property="repairId" column="id"/>
+ </collection>
+
+
+ </resultMap>
+
+
+ <select id="selectTaskRepairStepList" parameterType="java.lang.Long"
+ resultType="org.springblade.modules.task.entity.TaskRepairStepEntity">
select
- jtrfr.*,
+ id,
+ repair_id,
+ content,
+ video_list,
+ name,
+ mobile,
+ user_id,
+ people_type,
+ create_time,
+ update_time,
+ image_list
+ from
+ jczz_task_repair_step
+ <where>
+ <if test="id != null and id != '' ">repair_id = #{id}</if>
+ </where>
+ </select>
+
+
+ <select id="selectTaskRepairAppraiseList" parameterType="java.lang.Long"
+ resultType="org.springblade.modules.task.entity.TaskRepairAppraiseEntity">
+ select
+ id,
+ content,
+ create_time,
+ image_list,
+ point,
+ repair_id,
+ video_list
+ from
+ jczz_task_repair_appraise
+ <where>
+ <if test="id != null and id != ''">repair_id = #{id}</if>
+ </where>
+ </select>
+
+
+ <sql id="selectTaskReportForRepairs">
+ select id,
+ task_id,
+ address_code,
+ type,
+ real_name,
+ phone,
+ remark,
+ image_urls,
+ confirm_user_id,
+ confirm_time,
+ confirm_flag,
+ confirm_notion,
+ create_time,
+ create_user,
+ create_dept,
+ update_time,
+ update_user,
+ is_deleted,
+ status,
+ lng,
+ lat,
+ address,
+ view_type,
+ house_flag
+ from jczz_task_report_for_repairs
+ </sql>
+
+ <!--自定义分页查询-->
+ <select id="selectTaskReportForRepairsPage" resultMap="taskReportForRepairsResult">
+ select
+ jtrfr.id id,
+ jtrfr.task_id,
+ jtrfr.address_code,
+ jtrfr.type,
+ jtrfr.real_name,
+ jtrfr.phone,
+ jtrfr.remark,
+ jtrfr.image_urls,
+ jtrfr.confirm_user_id,
+ jtrfr.confirm_time,
+ jtrfr.confirm_flag,
+ jtrfr.confirm_notion,
+ jtrfr.create_time,
+ jtrfr.create_user,
+ jtrfr.create_dept,
+ jtrfr.update_time,
+ jtrfr.update_user,
+ jtrfr.is_deleted,
+ jtrfr.status,
+ jtrfr.lng,
+ jtrfr.lat,
+ jtrfr.address,
+ jtrfr.view_type,
+ jtrfr.house_flag,
+ br.town_name streetName,
+ jg.grid_name,
+ jda.aoi_name,
+ br.village_name communityName,
jda.address_name as addressName
- from jczz_task_report_for_repairs jtrfr
- left join jczz_doorplate_address jda on jda.address_code = jtrfr.address_code
- where jtrfr.is_deleted = 0
+ FROM jczz_task_report_for_repairs jtrfr
+ LEFT JOIN jczz_doorplate_address jda on jda.address_code = jtrfr.address_code
+ LEFT JOIN jczz_house jh on jh.house_code=jtrfr.address_code
+ LEFT JOIN jczz_place jp on jtrfr.address_code = jp.house_code and jp.is_deleted = 0
+ LEFT JOIN jczz_grid jg on (jg.grid_code = jh.grid_code or jg.grid_code = jp.grid_code) and jg.is_deleted = 0
+ LEFT JOIN blade_region br on br.code = jg.community_code
+ WHERE jtrfr.is_deleted = 0
<if test="vo.createUser != null and vo.createUser != ''">
AND jtrfr.create_user = #{vo.createUser}
</if>
+
+ <if test="communityCode !=null and communityCode !=''">
+ and jg.community_code = #{communityCode}
+ </if>
+
+ <if test="vo.houseCode != null and vo.houseCode != ''">
+ and jtrfr.address_code = #{vo.houseCode}
+ </if>
+
+ <if test="vo.streetName != null and vo.streetName != ''">
+ AND br.town_name like concat('%',#{vo.streetName},'%')
+ </if>
+ <if test="vo.communityName != null and vo.communityName != ''">
+ AND br.village_name like concat('%',#{vo.communityName},'%')
+ </if>
+
+ <if test="vo.gridName != null and vo.gridName != ''">
+ AND jg.grid_name like concat('%',#{vo.gridName},'%')
+ </if>
+
+ <if test="vo.aoiName != null and vo.aoiName != ''">
+ AND jda.aoi_name like concat('%',#{vo.aoiName},'%')
+ </if>
+
<if test="vo.type != null">
AND jtrfr.type = #{vo.type}
</if>
@@ -40,8 +206,12 @@
<if test="vo.confirmFlag != null">
AND jtrfr.confirm_flag = #{vo.confirmFlag}
</if>
+
<if test="vo.status != null">
AND jtrfr.status = #{vo.status}
+ </if>
+ <if test="vo.addressCode != null">
+ AND jtrfr.address_code = #{vo.addressCode}
</if>
<if test="vo.viewType != null">
AND jtrfr.view_type = #{vo.viewType}
@@ -49,19 +219,75 @@
<if test="vo.startTime != null and vo.startTime != '' and vo.endTime != null and vo.endTime != '' ">
AND jtrfr.create_time BETWEEN #{vo.startTime} and #{vo.endTime}
</if>
- <if test="vo.roleName!=null and vo.roleName!=''">
- <if test="vo.roleName=='网格员'">
+ <if test="isAdministrator==2">
+ <!-- 物业和居民 -->
+ <if test="vo.roleType !=null and (vo.roleType == 'wy' or vo.roleType == 'inhabitant')">
+ <if test="aoiCodeList!=null and aoiCodeList.size()>0">
+ and (
+ jda.aoi_code in
+ <foreach collection="aoiCodeList" item="item" separator="," open="(" close=")">
+ #{item}
+ </foreach>
+ or
+ jp.aoi_code in
+ <foreach collection="aoiCodeList" item="item" separator="," open="(" close=")">
+ #{item}
+ </foreach>
+ )
+ </if>
+
+ <if test="vo.roleType == 'wy' and vo.confirmUserId != null ">
+ or jtrfr.confirm_user_id = #{vo.confirmUserId}
+ </if>
+ </if>
+ <!-- 其他 -->
+ <if test="vo.roleType ==null and vo.roleName !='wgy' ">
<choose>
- <when test="list != null and list.size()>0">
- and jda.address_code in
- <foreach collection="list" item="houseCode" separator ="," open="(" close=")">
- #{houseCode}
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and (
+ jg.grid_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
</foreach>
+ or
+ jp.grid_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ )
+ </when>
+ </choose>
+ </if>
+ <!-- 网格员 -->
+ <if test="vo.roleName =='wgy' ">
+ <choose>
+ <when test="gridCodeList !=null and gridCodeList.size()>0">
+ and (
+ jg.grid_code in
+ <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ or
+ jp.grid_code in
+ <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ )
+ <if test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jg.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </if>
</when>
<otherwise>
- and jda.address_code in ('')
+ and jg.grid_code in ('')
</otherwise>
</choose>
+
+ <if test="vo.confirmUserId != null ">
+ or jtrfr.confirm_user_id = #{vo.confirmUserId}
+ </if>
</if>
</if>
ORDER BY jtrfr.create_time DESC
@@ -105,7 +331,7 @@
jczz_doorplate_address jda
LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
WHERE
- jc.res_police_user_id = #{userId})
+ jc.res_police_user_id like concat('%',#{userId},'%'))
)
</if>
</select>
@@ -113,36 +339,78 @@
<select id="getStatisticsCount" resultType="org.springblade.modules.task.vo.TaskReportStatistics">
SELECT
- COUNT( 1 ) AS total,
- ifnull(SUM( CASE WHEN STATUS = 10 THEN 1 ELSE 0 END ),0) AS handle
- FROM jczz_task_report_for_repairs
+ count( 1 ) AS total,
+ ifnull( sum( CASE WHEN STATUS = 10 THEN 1 ELSE 0 END ), 0 ) AS handle
+ FROM
+ jczz_task_report_for_repairs jtrfr
+ LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jtrfr.address_code
WHERE is_deleted = 0
<if test="userId != null">
- and create_user = #{userId}
+ and jtrfr.create_user = #{userId}
</if>
+ <if test="houseCode != null and houseCode != ''">
+ and jtrfr.address_code = #{houseCode}
+ </if>
+
</select>
<select id="getStatistics" resultType="java.lang.Integer">
-
SELECT
- count(1)
+ count( 1 )
FROM
- jczz_gridman jgm
- LEFT JOIN jczz_grid jg ON jgm.grid_id = jg.id
- LEFT JOIN jczz_grid_range jgr ON jg.id = jgr.grid_id
- LEFT JOIN jczz_task_report_for_repairs jtr ON jgr.house_code = jtr.address_code
- LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jtr.address_code
- WHERE
- jg.is_deleted = 0
- and jtr.confirm_flag = 1
- AND jgm.user_id = #{userId}
+ jczz_task_report_for_repairs jtr
+ LEFT JOIN jczz_house jh ON jh.house_code = jtr.address_code
+ LEFT JOIN jczz_place jp ON jtr.address_code = jp.house_code
+ LEFT JOIN jczz_grid jg on (jh.grid_code = jg.grid_code or jp.grid_code = jg.grid_code )
+ LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
+ <where>
+ and jtr.is_deleted = 0
+ and jtr.confirm_flag = 1
+ <if test="neiCode !=null and neiCode !=''">
+ and jg.community_code = #{neiCode}
+ </if>
+
+ <if test="roleName != null and roleName != ''">
+ <if test="roleName=='wgy'">
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="gridCodeList !=null and gridCodeList.size()>0">
+ and jg.grid_code in
+ <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jg.grid_code in ('')
+ </otherwise>
+ </choose>
+ </if>
+ </if>
+ <if test="roleName=='mj'">
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jpag.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jpag.community_code in ('')
+ </otherwise>
+ </choose>
+ </if>
+ </if>
+ </if>
+ </where>
</select>
<!--更新状态-临时接口-->
<update id="updateView">
- update jczz_task_report_for_repairs set view_type = 1
+ update jczz_task_report_for_repairs
+ set view_type = 1
</update>
--
Gitblit v1.9.3