src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
@@ -207,7 +207,10 @@ * @return */ List<DoorplateAddressEntity> getPlaceList(@Param("doorplateAddress") DoorplateAddressVO doorplateAddressVO, @Param("size") Integer size); @Param("size") Integer size, @Param("gridCodeList") List<String> gridCodeList, @Param("regionChildCodesList") List<String> regionChildCodesList, @Param("isAdministrator") Integer isAdministrator); /** * 查询详情 src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -566,14 +566,72 @@ <select id="getPlaceList" resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity"> select jda.* from jczz_doorplate_address jda left join jczz_grid_range jgr on jda.address_code = jgr.house_code where 1=1 and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1)) <if test="doorplateAddress.addressName!=null and doorplateAddress.addressName!=''"> and address_name like concat('%',#{doorplateAddress.addressName},'%') and jda.address_name like concat('%',#{doorplateAddress.addressName},'%') </if> <if test="doorplateAddress.poi!=null and doorplateAddress.poi!=''"> and poi like concat('%',#{doorplateAddress.poi},'%') and jda.poi like concat('%',#{doorplateAddress.poi},'%') </if> <if test="isAdministrator==2"> <choose> <when test="doorplateAddress.roleName != null and doorplateAddress.roleName != ''"> <if test="doorplateAddress.roleName=='wgy'"> <choose> <when test="gridCodeList !=null and gridCodeList.size()>0"> and jgr.grid_code in <foreach collection="gridCodeList" item="code" open="(" close=")" separator=","> #{code} </foreach> </when> <otherwise> and jgr.grid_code in ('') </otherwise> </choose> </if> <if test="doorplateAddress.roleName=='mj'"> <choose> <when test="regionChildCodesList !=null and regionChildCodesList.size()>0"> and jda.nei_code in <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=","> #{code} </foreach> </when> <otherwise> and jda.nei_code in ('') </otherwise> </choose> </if> </when> <otherwise> <choose> <when test="regionChildCodesList !=null and regionChildCodesList.size()>0"> and ( jgr.grid_code in <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=","> #{code} </foreach> or jda.nei_code in <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=","> #{code} </foreach> ) </when> <otherwise> and ( jgr.grid_code in ('') or jda.nei_code in ('') ) </otherwise> </choose> </otherwise> </choose> </if> limit 0,#{size} </select> <!--查询地址表详情--> src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
@@ -125,6 +125,7 @@ /** * 查询场所标准地址数据 * @param doorplateAddressVO * @param size * 查询场所标准地址数据 * @return */ src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -23,6 +23,7 @@ import org.apache.logging.log4j.util.Strings; import org.springblade.common.constant.DictConstant; import org.springblade.common.node.TreeStringNode; import org.springblade.common.param.CommonParamSet; import org.springblade.common.utils.ComplexNumberStringComparator; import org.springblade.common.utils.NodeTreeUtil; import org.springblade.core.secure.utils.AuthUtil; @@ -940,12 +941,19 @@ /** * 查询场所标准地址数据 * @param doorplateAddressVO * @param doorplateAddress * @param size * @return */ @Override public Object getPlaceList(DoorplateAddressVO doorplateAddressVO, Integer size) { return baseMapper.getPlaceList(doorplateAddressVO,size); public Object getPlaceList(DoorplateAddressVO doorplateAddress, Integer size) { // 公共参数设置 CommonParamSet commonParamSet = new CommonParamSet().invoke(DoorplateAddressVO.class,doorplateAddress); return baseMapper.getPlaceList(doorplateAddress, null==size?10:size, commonParamSet.getGridCodeList(), commonParamSet.getRegionChildCodesList(), commonParamSet.getIsAdministrator() ); } } src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java
@@ -41,5 +41,10 @@ */ private Integer isJur; /** * 社区编号 */ private String communityCode; } src/main/java/org/springblade/modules/place/entity/PlaceDoorEntity.java
@@ -16,9 +16,8 @@ */ package org.springblade.modules.place.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; @@ -26,8 +25,10 @@ import io.swagger.annotations.ApiModelProperty; import lombok.EqualsAndHashCode; import org.springblade.core.tenant.mp.TenantEntity; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; /** * 场所门牌关联表 实体类 @@ -58,6 +59,24 @@ * 门牌地址编号 */ @ApiModelProperty(value = "门牌地址编号") private Long houseCode; private String houseCode; /** * 创建时间 */ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("创建时间") @TableField(fill = FieldFill.INSERT) private Date createTime; /** * 更新时间 */ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("更新时间") @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime; } src/main/java/org/springblade/modules/place/entity/PlaceEntity.java
@@ -56,6 +56,11 @@ */ @ApiModelProperty(value = "门牌地址编码") private String houseCode; /** * 门牌地址编码绑定 */ @ApiModelProperty(value = "门牌地址编码绑定") private String houseCodeBinds; /** * 楼栋编码 src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import liquibase.pro.packaged.W; import liquibase.repackaged.org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.util.Strings; import org.springblade.common.cache.SysCache; @@ -27,6 +28,7 @@ import org.springblade.common.param.CommonParamSet; import org.springblade.common.utils.IdUtils; import org.springblade.common.utils.SpringUtils; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.support.Condition; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.SpringUtil; @@ -46,14 +48,11 @@ import org.springblade.modules.place.excel.NinePlaceExcel; import org.springblade.modules.place.excel.PlaceAndRelExcel; import org.springblade.modules.place.excel.PlaceExcel; import org.springblade.modules.place.service.IPlaceExtService; import org.springblade.modules.place.service.IPlacePoiLabelService; import org.springblade.modules.place.service.IPlaceRelService; import org.springblade.modules.place.service.*; import org.springblade.modules.place.vo.PlaceCheckVO; import org.springblade.modules.place.vo.PlacePoiLabelVO; import org.springblade.modules.place.vo.PlaceVO; import org.springblade.modules.place.mapper.PlaceMapper; import org.springblade.modules.place.service.IPlaceService; import org.springblade.modules.police.entity.PoliceAffairsGridEntity; import org.springblade.modules.police.service.IPoliceAffairsGridService; import org.springblade.modules.system.entity.Dept; @@ -90,6 +89,9 @@ @Autowired private IPlaceRelService placeRelService; @Autowired private IPlaceDoorService placeDoorService; @Autowired private IDoorplateAddressService doorplateAddressService; @@ -174,6 +176,8 @@ bindUserHandle(placeVO); // 设置完善状态 setPlaceStatus(placeVO); // 房屋编号绑定处理 // houseCodeBindHandle(placeVO); // 更新场所信息 flag = updateById(placeVO); } else { @@ -203,8 +207,6 @@ gridCodeBind(placeVO); // 警务网格绑定 jwGridCodeBind(placeVO); // 房屋编号绑定 // houseCodeBind(placeVO); // 返回结果 return flag; } @@ -282,18 +284,54 @@ } /** * 房屋绑定 * 房屋绑定处理 * * @param placeVO */ public void houseCodeBind(PlaceVO placeVO) { String houseCode = placeVO.getHouseCode(); List<String> list = Arrays.asList(houseCode.split(",")); if (list.size() > 1) { // 处理对应的绑定房屋数据 List<Long> longs = new ArrayList<>(); // 把其他单个的场所数据删除 for (String code : list) { public void houseCodeBindHandle(PlaceVO placeVO) { List<String> list = Arrays.asList(placeVO.getHouseCodeBinds().split(",")); // 先删除原有的绑定 QueryWrapper<PlaceDoorEntity> removeQw = new QueryWrapper<>(); removeQw.eq("place_id",placeVO.getId()); // 删除 placeDoorService.remove(removeQw); // 遍历更新 for (String houseCode : list) { // 查询是否已存在关联关系 QueryWrapper<PlaceDoorEntity> wrapper = new QueryWrapper<>(); wrapper.eq("house_code",houseCode); // 查询 List<PlaceDoorEntity> placeDoorEntityList = placeDoorService.list(wrapper); if (placeDoorEntityList.size()>0){ // 该houseCode 已被绑定 // errorList.add(houseCode); for (PlaceDoorEntity placeDoorEntity : placeDoorEntityList) { placeDoorEntity.setPlaceId(placeVO.getId()); // 更新 placeDoorService.updateById(placeDoorEntity); } }else { PlaceDoorEntity placeDoorEntity = new PlaceDoorEntity(); placeDoorEntity.setHouseCode(houseCode); placeDoorEntity.setPlaceId(placeVO.getId()); // 对应插入到关联关系表中 placeDoorService.save(placeDoorEntity); } } // 处理原场所表houseCode 绑定数据 handlePlaceOne(list,placeVO); } /** * 处理对应的绑定房屋数据 * @param list */ public void handlePlaceOne(List<String> list,PlaceVO place) { // 处理对应的绑定房屋数据 List<Long> longs = new ArrayList<>(); // 把其他单个的场所数据删除 for (String code : list) { if (!code.equals(place.getHouseCode())) { // 先查询对应的场所id QueryWrapper<PlaceEntity> wrapper = new QueryWrapper<>(); wrapper.eq("house_code", code).eq("is_deleted", 0); @@ -304,15 +342,14 @@ removeById(one.getId()); } } if (longs.size() > 0) { // 删除对应的详情 removePlaceExt(longs); // 删除对应的标签绑定信息 removePlaceLabel(longs); } } else { // 一对一,暂时不处理,后续考虑需加绑定关系表 } if (longs.size() > 0) { // 删除对应的详情 removePlaceExt(longs); // 删除对应的标签绑定信息 removePlaceLabel(longs); // 删除对应的场所门牌绑定关系信息 removePlaceDoor(longs); } } @@ -1131,6 +1168,8 @@ removePlaceExt(longs); // 删除对应的标签绑定信息 removePlaceLabel(longs); // 删除对应的门牌绑定信息 removePlaceDoor(longs); // 返回 return removeByIds; } @@ -1211,6 +1250,19 @@ } /** * 删除对应的门牌绑定信息 * * @param longs */ public void removePlaceDoor(List<Long> longs) { for (Long id : longs) { QueryWrapper<PlaceDoorEntity> wrapper = new QueryWrapper<>(); wrapper.eq("place_id", id); placeDoorService.remove(wrapper); } } /** * 九小场所档案 * * @param page