From 82e222ae8a60afd3d0237b4f987f8c850834dad5 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sat, 11 Nov 2023 19:16:51 +0800
Subject: [PATCH] 行政区,楼盘数据过滤,报事报修添加任务房屋地址编码
---
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml | 71 +++++++++++++++++------
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java | 32 ++++++----
src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java | 5 +
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java | 40 +++++++++++--
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml | 7 +
src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java | 5 +
src/main/java/org/springblade/modules/house/vo/HouseParam.java | 5 +
7 files changed, 123 insertions(+), 42 deletions(-)
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
index 862b178..8b05626 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
@@ -26,6 +26,7 @@
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO;
import org.springblade.modules.doorplateAddress.vo.FuncNode;
+import org.springblade.modules.house.vo.HouseParam;
import java.util.List;
@@ -49,32 +50,36 @@
/**
- * 查询区域数据
+ * 查询街道数据
* @return
*/
- List<TreeNode> getRegionListByGroupTwon();
+ List<TreeNode> getRegionListByGroupTwon(@Param("houseParam") HouseParam houseParam,
+ @Param("list") List<String> list);
/**
- * 查询区域数据
+ * 查询社区数据
* @return
*/
- List<TreeNode> getRegionListByGroupNei();
+ List<TreeNode> getRegionListByGroupNei(@Param("houseParam") HouseParam houseParam,
+ @Param("list") List<String> list);
/**
* 根据社区名称查询小区集合
- * @param name
- * @param code
+ * @param houseParam
+ * @param list
* @return
*/
- List<TreeNode> getDistrictList(@Param("name") String name,@Param("code") String code);
+ List<TreeNode> getDistrictList(@Param("houseParam") HouseParam houseParam,
+ @Param("list") List<String> list);
/**
* 根据社区名称查询楼栋集合
- * @param name
- * @param code
+ * @param houseParam
+ * @param list
* @return
*/
- List<TreeNode> getBuildingList(@Param("name") String name,@Param("code") String code);
+ List<TreeNode> getBuildingList(@Param("houseParam") HouseParam houseParam,
+ @Param("list") List<String> list);
/**
* 查询户室及住户相关信息,单元中包含住户
@@ -104,11 +109,12 @@
/**
* 查询街路巷
- * @param name
- * @param code
+ * @param houseParam
+ * @param list
* @return
*/
- List<TreeNode> getStreetRuList(@Param("name") String name,@Param("code") String code);
+ List<TreeNode> getStreetRuList(@Param("houseParam") HouseParam houseParam,
+ @Param("list") List<String> list);
/**
* 根据街路巷编号查询街路巷门牌名称集合
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
index fecf829..a04fcaa 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -2,6 +2,25 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.modules.doorplateAddress.mapper.DoorplateAddressMapper">
+ <!--过滤网格数据-->
+ <sql id="filterHouseGrid">
+ <if test="houseParam.roleName!=null and houseParam.roleName!=''">
+ <if test="houseParam.roleName=='网格员'">
+ <choose>
+ <when test="list != null and list.size()>0">
+ and address_code in
+ <foreach collection="list" item="houseCode" separator ="," open="(" close=")">
+ #{houseCode}
+ </foreach>
+ </when>
+ <otherwise>
+ and address_code in ('')
+ </otherwise>
+ </choose>
+ </if>
+ </if>
+ </sql>
+
<!--门牌地址详情查询-->
<resultMap id="doorplateAddressDetailMap" type="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO"
autoMapping="true">
@@ -22,12 +41,18 @@
<!--查询区域数据-街道-->
<select id="getRegionListByGroupTwon" resultType="org.springblade.common.node.TreeNode" >
- select town_street_code as id,town_street_name as name from jczz_doorplate_address group by town_street_code,town_street_name
+ select town_street_code as id,town_street_name as name from jczz_doorplate_address
+ where 1=1
+ <include refid="filterHouseGrid"/>
+ group by town_street_code,town_street_name
</select>
<!--查询区域数据-社区-->
<select id="getRegionListByGroupNei" resultType="org.springblade.common.node.TreeNode" >
- select nei_code as id,nei_name as name,town_street_code as parentId from jczz_doorplate_address group by nei_code,nei_name,town_street_code
+ select nei_code as id,nei_name as name,town_street_code as parentId from jczz_doorplate_address
+ where 1=1
+ <include refid="filterHouseGrid"/>
+ group by nei_code,nei_name,town_street_code
</select>
<!--根据社区名称查询小区集合-->
@@ -36,12 +61,13 @@
where 1=1
and aoi_name !=''
and aoi_code !=''
- <if test="name != null and name!=''">
- and nei_name = #{name}
+ <if test="houseParam.name != null and houseParam.name!=''">
+ and nei_name = #{houseParam.name}
</if>
- <if test="code != null and code!=''">
- and nei_code = #{code}
+ <if test="houseParam.code != null and houseParam.code!=''">
+ and nei_code = #{houseParam.code}
</if>
+ <include refid="filterHouseGrid"/>
group by aoi_code,aoi_name
union all
(
@@ -49,12 +75,13 @@
where 1=1
and aoi_code !=''
and sub_aoi != ''
- <if test="name != null and name!=''">
- and nei_name = #{name}
+ <if test="houseParam.name != null and houseParam.name!=''">
+ and nei_name = #{houseParam.name}
</if>
- <if test="code != null and code!=''">
- and nei_code = #{code}
+ <if test="houseParam.code != null and houseParam.code!=''">
+ and nei_code = #{houseParam.code}
</if>
+ <include refid="filterHouseGrid"/>
group by aoi_code,sub_aoi
)
union all
@@ -62,12 +89,13 @@
select nei_code as id,'自建房/商铺' as name,2 as addressType from jczz_doorplate_address
where 1=1
and aoi_code is null
- <if test="name != null and name!=''">
- and nei_name = #{name}
+ <if test="houseParam.name != null and houseParam.name!=''">
+ and nei_name = #{houseParam.name}
</if>
- <if test="code != null and code!=''">
- and nei_code = #{code}
+ <if test="houseParam.code != null and houseParam.code!=''">
+ and nei_code = #{houseParam.code}
</if>
+ <include refid="filterHouseGrid"/>
group by nei_code
)
</select>
@@ -77,9 +105,10 @@
(
select building_code as id,ifnull(building_name,'1栋') as name,1 as addressType from jczz_doorplate_address
where 1=1
- and aoi_code = #{code}
+ and aoi_code = #{houseParam.code}
and building_code !=''
and doorplate_type = '户室牌'
+ <include refid="filterHouseGrid"/>
group by building_code,building_name
order by building_name
)
@@ -87,9 +116,10 @@
(
select address_code as id,doorplate_name as name,2 as addressType from jczz_doorplate_address
where 1=1
- and aoi_code = #{code}
+ and aoi_code = #{houseParam.code}
and building_name is null
and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1))
+ <include refid="filterHouseGrid"/>
)
</select>
@@ -170,12 +200,13 @@
select street_ru_code as id,street_ru_name as name,3 as addressType from jczz_doorplate_address
where 1=1
and aoi_code is null
- <if test="name != null and name!=''">
- and nei_name = #{name}
+ <if test="houseParam.name != null and houseParam.name!=''">
+ and nei_name = #{houseParam.name}
</if>
- <if test="code != null and code!=''">
- and nei_code = #{code}
+ <if test="houseParam.code != null and houseParam.code!=''">
+ and nei_code = #{houseParam.code}
</if>
+ <include refid="filterHouseGrid"/>
group by street_ru_code,street_ru_name
</select>
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
index dadb38f..166e487 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -29,6 +29,7 @@
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO;
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
import org.springblade.modules.doorplateAddress.vo.FuncNode;
+import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.house.service.IHouseRentalService;
import org.springblade.modules.house.service.IHouseholdService;
import org.springblade.modules.house.vo.HouseParam;
@@ -59,6 +60,9 @@
@Autowired
private IHouseRentalService houseRentalService;
+ @Autowired
+ private IGridService gridService;
+
@Override
public IPage<DoorplateAddressVO> selectDoorplateAddressPage(IPage<DoorplateAddressVO> page, DoorplateAddressVO doorplateAddress) {
@@ -73,14 +77,23 @@
*/
@Override
public Object getFuncList(Integer type,String roleName) {
+ HouseParam houseParam = new HouseParam();
+ List<String> stringList = new ArrayList<>();
+ if (null!=roleName && !roleName.equals("")){
+ houseParam.setRoleName(roleName);
+ if (roleName.equals("网格员")){
+ // 查询对应的房屋地址code
+ stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+ }
+ }
List<TreeNode> list = new ArrayList<>();
if (null!=type) {
// 如果是网格管理员,系统管理员
if (type==1){
// 查询街道
- List<TreeNode> townList = baseMapper.getRegionListByGroupTwon();
+ List<TreeNode> townList = baseMapper.getRegionListByGroupTwon(houseParam,stringList);
// 查询社区
- List<TreeNode> neiList = baseMapper.getRegionListByGroupNei();
+ List<TreeNode> neiList = baseMapper.getRegionListByGroupNei(houseParam,stringList);
// 遍历
for (TreeNode treeNode : townList) {
// 遍历
@@ -91,7 +104,7 @@
}
}
}
- // 查询区域数据,当前只有西市街道数据
+ // 查询区域数据
return townList;
}
// 如果是居民
@@ -170,10 +183,17 @@
public Object getHousesList(HouseParam houseParam) {
List<TreeNode> list = new ArrayList<>();
Map<String, Object> map = new HashMap<>(2);
+ List<String> stringList = new ArrayList<>();
+ if (null!=houseParam.getRoleName() && !houseParam.getRoleName().equals("")){
+ if (houseParam.getRoleName().equals("网格员")){
+ // 查询对应的房屋地址code
+ stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+ }
+ }
// 查小区,场所
if (houseParam.getType()==1){
// 根据社区名称查询小区集合
- list = baseMapper.getDistrictList(houseParam.getName(),houseParam.getCode());
+ list = baseMapper.getDistrictList(houseParam,stringList);
}
// 查楼栋,街路巷
if (houseParam.getType()==2){
@@ -231,12 +251,20 @@
* @return
*/
private Object getBuildLevelData(HouseParam houseParam,Map<String, Object> map) {
+ List<String> stringList = new ArrayList<>();
+ if (null!=houseParam.getRoleName() && !houseParam.getRoleName().equals("")){
+ if (houseParam.getRoleName().equals("网格员")){
+ // 查询对应的房屋地址code
+ stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+ }
+ }
// 判断 code 长度,如果 code 长度大于 12 则为小区查楼栋/商铺,否则则按社区查街路巷
if (houseParam.getCode().length()>12){
List<TreeNode> aoiList = new ArrayList<>();
List<TreeNode> shopList = new ArrayList<>();
// 根据社区名称查询楼栋或者商铺的集合
- List<TreeNode> list = baseMapper.getBuildingList(houseParam.getName(),houseParam.getCode());
+
+ List<TreeNode> list = baseMapper.getBuildingList(houseParam,stringList);
// 排序 StringUtils.getDigits(X.getName()) 取出数字排序
List<TreeNode> sortList = list.stream().sorted(Comparator.comparing(X -> StringUtils.getDigits(X.getName()))).collect(Collectors.toList());
if (list.size()>0){
@@ -255,7 +283,7 @@
return map;
}else {
// 查询街路巷
- List<TreeNode> list = baseMapper.getStreetRuList(houseParam.getName(),houseParam.getCode());
+ List<TreeNode> list = baseMapper.getStreetRuList(houseParam,stringList);
map.put("aoiList",new ArrayList<>());
map.put("shopList",list);
// 返回
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
index 0b432d0..93129d7 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -50,8 +50,11 @@
) b ON b.housing_rental_id = jhr.id
WHERE jhr.is_deleted = 0
<if test="vo.auditStatus != null and vo.auditStatus != ''">
- <if test="vo.auditStatus ==0 || vo.auditStatus ==1">
- AND jhr.audit_status = #{vo.auditStatus}
+ <if test="vo.auditStatus ==1">
+ AND jhr.audit_status = 1
+ </if>
+ <if test="vo.auditStatus ==2">
+ AND jhr.audit_status = 0
</if>
<if test="vo.auditStatus ==10">
AND date_format(jhr.due_time,'%Y-%m-%d')>= date_format(now(),'%Y-%m-%d')
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
index 292a0f8..3afaee9 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
@@ -70,6 +70,11 @@
list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
}
}
+ if (null!=houseRental.getAuditStatus()){
+ if (houseRental.getAuditStatus()==0){
+ houseRental.setAuditStatus(2);
+ }
+ }
return page.setRecords(baseMapper.selectHouseRentalPage(page, houseRental,list));
}
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseParam.java b/src/main/java/org/springblade/modules/house/vo/HouseParam.java
index 6067aed..6482744 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseParam.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseParam.java
@@ -26,4 +26,9 @@
* 地址类型 1:小区 2:非小区
*/
private Integer addressType;
+
+ /**
+ * 角色名称
+ */
+ private String roleName;
}
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
index 7a6d25c..f2282e4 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
@@ -88,10 +88,13 @@
boolean flag = false;
// 任务新增
TaskEntity taskEntity = new TaskEntity();
- taskEntity.setName("报事报修"+ System.currentTimeMillis());
+ taskEntity.setName(taskReportForRepairs.getRealName() + "报修");
taskEntity.setStatus(1);
taskEntity.setType(1);
taskEntity.setFrequency(3);
+ if (null!=taskReportForRepairs.getAddressCode() && !taskReportForRepairs.getAddressCode().equals("")){
+ taskEntity.setHouseCode(taskReportForRepairs.getAddressCode());
+ }
// 新增
boolean save = taskService.save(taskEntity);
if (save){
--
Gitblit v1.9.3