diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/HouseTreeDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/HouseTreeDTO.java new file mode 100644 index 0000000000..5125ddb301 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/HouseTreeDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.result.lingshan; + +import lombok.Data; + +import java.util.List; + +/** + * @Description + * @Author yzm + * @Date 2023/5/17 9:21 + */ +@Data +public class HouseTreeDTO { + private String id; + /** + * 小区:neighborHood + * 楼栋:building + * 单元:unit + * 房屋:house + */ + private String type; + private String name; + /** + * 下级机关组织 + */ + private List children; +} + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/HouseTreeFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/HouseTreeFormDTO.java new file mode 100644 index 0000000000..66fe4256f7 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/HouseTreeFormDTO.java @@ -0,0 +1,14 @@ +package com.epmet.dto.result.lingshan; + +import lombok.Data; + +/** + * @Description + * @Author yzm + * @Date 2023/5/17 9:29 + */ +@Data +public class HouseTreeFormDTO { + private String gridId; +} + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/LingshanPartyCenterHouseLianhuDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/LingshanPartyCenterHouseLianhuDTO.java new file mode 100644 index 0000000000..0a7df6be25 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/LingshanPartyCenterHouseLianhuDTO.java @@ -0,0 +1,75 @@ +package com.epmet.dto.result.lingshan; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; + + +/** + * 灵山_党员中心户联户 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-16 + */ +@Data +public class LingshanPartyCenterHouseLianhuDTO implements Serializable { + + /** + * 主键(联户记录表) + */ + @JsonIgnore + private String id; + + /** + * 客户id + */ + @JsonIgnore + private String customerId; + + /** + * 党员中心户房屋id:lingshan_party_center_house.HOUSE_ID + */ + @JsonIgnore + private String partyCenterHouseId; + + /** + * 联户:房屋所属组织id + */ + @JsonIgnore + private String agencyId; + + /** + * 联户:房屋所属网格id + */ + @JsonIgnore + private String gridId; + + /** + * 联户:grid_id的path。包含grid_id + */ + @JsonIgnore + private String gridIdPath; + + /** + * 联户:小区id + */ + private String neighborHoodId; + + /** + * 联户:楼栋id + */ + private String buildingId; + + /** + * 联户:单元id + */ + private String buildingUnitId; + + /** + * 联户:联户房屋id + */ + private String houseId; + + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseBindLianHuFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseBindLianHuFormDTO.java index 5f532f0cf2..1a39e04169 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseBindLianHuFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseBindLianHuFormDTO.java @@ -12,6 +12,6 @@ import java.util.List; @Data public class PartyCenterHouseBindLianHuFormDTO { private String partyCenterHouseId; - private List lianHuHouseIdList; + private List lianHuHouseList; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseResultDTO.java index e649184ce0..9dbe05c71c 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseResultDTO.java @@ -93,6 +93,9 @@ public class PartyCenterHouseResultDTO { * 联户数 */ private Integer totalLianHu; - + /** + * 灵山项目:是否党员中心户:1是;0不是 + */ + private String partyCenterHouseFlag; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java index 300e28f0d4..8430d4c018 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java @@ -54,6 +54,7 @@ import com.epmet.dto.result.lingshan.PartyCenterHouseResultDTO; import com.epmet.dto.result.*; import com.epmet.excel.EnterpriseExportExcelDTO; import com.epmet.excel.HousePictureListExcelDTO; +import com.epmet.dto.result.lingshan.*; import com.epmet.service.IcHouseService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -298,7 +299,7 @@ public class IcHouseController { @PostMapping("bingLianHu") public Result bingLianHu( @RequestBody PartyCenterHouseBindLianHuFormDTO formDTO) { if(StringUtils.isNotBlank(formDTO.getPartyCenterHouseId())){ - icHouseService.bingLianHu(formDTO.getPartyCenterHouseId(),formDTO.getLianHuHouseIdList()); + icHouseService.bingLianHu(formDTO.getPartyCenterHouseId(),formDTO.getLianHuHouseList()); } return new Result(); } @@ -309,12 +310,23 @@ public class IcHouseController { * @param partyCenterHouseId * @return */ - @PostMapping("queryLianHuHouseId/{partyCenterHouseId}") - public Result> queryLianHuHouseId(@PathVariable("partyCenterHouseId") String partyCenterHouseId) { - List list = icHouseService.queryLianHuHouseId(partyCenterHouseId); - return new Result>().ok(list); + @PostMapping("queryLianHuHouse/{partyCenterHouseId}") + public Result> queryLianHuHouse(@PathVariable("partyCenterHouseId") String partyCenterHouseId) { + List list = icHouseService.queryLianHuHouse(partyCenterHouseId); + return new Result>().ok(list); } - + /** + * 灵山项目-绑定联户时候,选择同网格内的房屋 + * 房屋树:小区-楼栋-单元-房屋,共4级 + * 可以根据网格id的房屋 + * + * @param formDTO + * @return + */ + @PostMapping("housetree") + public Result> getOrgTreeData(@RequestBody HouseTreeFormDTO formDTO) { + return new Result>().ok(icHouseService.getOrgTreeData(formDTO.getGridId())); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java index f70181c475..081663290b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java @@ -23,6 +23,7 @@ import com.epmet.dto.ImportGeneralDTO; import com.epmet.dto.form.CheckHouseInfoFormDTO; import com.epmet.dto.form.IcBuildingListFormDTO; import com.epmet.dto.result.*; +import com.epmet.dto.result.lingshan.HouseTreeDTO; import com.epmet.entity.CustomerAgencyEntity; import com.epmet.entity.IcBuildingEntity; import com.epmet.entity.IcHouseEntity; @@ -256,4 +257,25 @@ public interface IcBuildingDao extends BaseDao { */ IcBuildingEntity getBuildingInfoByName(CheckHouseInfoFormDTO formDTO); + /** + * 1、楼栋节点 + * @param neighborHoodId + * @return + */ + List selectBuildingTree(@Param("neighborHoodId") String neighborHoodId); + + /** + * 2、单元节点 + * @param buildingId + * @return + */ + List selectUnit(@Param("buildingId") String buildingId); + + /** + * 3、房屋节点 + * @param unitId + * @return + */ + List selectHouseTree(@Param("unitId") String unitId); } + diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/LingshanPartyCenterHouseLianhuDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/LingshanPartyCenterHouseLianhuDao.java index 0750103ca0..aaeb853332 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/LingshanPartyCenterHouseLianhuDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/LingshanPartyCenterHouseLianhuDao.java @@ -4,8 +4,6 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.LingshanPartyCenterHouseLianhuEntity; import org.apache.ibatis.annotations.Mapper; -import java.util.List; - /** * 灵山_党员中心户联户 * @@ -15,12 +13,5 @@ import java.util.List; @Mapper public interface LingshanPartyCenterHouseLianhuDao extends BaseDao { - /** - * 查询党员中心对应的联户房屋id - * @param partyCenterHouseId - * @return - */ - List queryLianHuHouseId(String partyCenterHouseId); - int deleteByPartyCenterHouseId(String partyCenterHouseId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java index 733d838eaf..4324b1d2a5 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java @@ -16,6 +16,8 @@ import com.epmet.dto.result.HouseAgencyInfoResultDTO; import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.HouseListResultDTO; import com.epmet.dto.result.HousesNameResultDTO; +import com.epmet.dto.result.lingshan.HouseTreeDTO; +import com.epmet.dto.result.lingshan.LingshanPartyCenterHouseLianhuDTO; import com.epmet.dto.result.lingshan.PartyCenterHouseBindLianHuDetailDTO; import com.epmet.dto.result.lingshan.PartyCenterHouseResultDTO; import com.epmet.entity.IcHouseEntity; @@ -161,14 +163,24 @@ public interface IcHouseService extends BaseService { /** * 灵山项目-党员中心户,绑定联户 * @param partyCenterHouseId - * @param lianHuHouseIdList + * @param lianHuHouseList */ - void bingLianHu(String partyCenterHouseId, List lianHuHouseIdList); + void bingLianHu(String partyCenterHouseId, List lianHuHouseList); /** * 灵山项目-查询联户房屋列表 * @param partyCenterHouseId * @return */ - List queryLianHuHouseId(String partyCenterHouseId); + List queryLianHuHouse(String partyCenterHouseId); + + /** + * 灵山项目-绑定联户时候,选择同网格内的房屋 + * 房屋树:小区-楼栋-单元-房屋,共4级 + * 可以根据网格id的房屋 + * + * @param gridId + * @return + */ + List getOrgTreeData(String gridId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 55fe3fbb6c..4daf6950c8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -32,6 +32,8 @@ import com.epmet.dto.form.HouseFormDTO; import com.epmet.dto.form.lingshan.PartyCenterHousePageFormDTO; import com.epmet.dto.region.LogOperationResultDTO; import com.epmet.dto.result.*; +import com.epmet.dto.result.lingshan.HouseTreeDTO; +import com.epmet.dto.result.lingshan.LingshanPartyCenterHouseLianhuDTO; import com.epmet.dto.result.lingshan.PartyCenterHouseBindLianHuDetailDTO; import com.epmet.dto.result.lingshan.PartyCenterHouseResultDTO; import com.epmet.entity.*; @@ -602,10 +604,10 @@ public class IcHouseServiceImpl extends BaseServiceImpl lianHuHouseIdList) { + public void bingLianHu(String partyCenterHouseId, List lianHuHouseList) { IcHouseEntity partyCenterHouse=baseDao.selectById(partyCenterHouseId); IcNeighborHoodEntity neighborHoodEntity=icNeighborHoodDao.selectById(partyCenterHouse.getNeighborHoodId()); CustomerGridDTO gridDTO=SpringContextUtils.getBean(CustomerGridService.class).get(neighborHoodEntity.getGridId()); @@ -616,17 +618,17 @@ public class IcHouseServiceImpl extends BaseServiceImpl{ + lianHuHouseList.forEach(lianHuHouse->{ //根据选中类型,查询下面的房屋 List list=new ArrayList<>(); - if(!"house".equals(lianHuHouseId.getType())){ + if(!"house".equals(lianHuHouse.getType())){ LambdaQueryWrapper query = new LambdaQueryWrapper<>(); - query.eq("neighborHood".equals(lianHuHouseId.getType()), IcHouseEntity::getNeighborHoodId, lianHuHouseId.getId()) - .eq("building".equals(lianHuHouseId.getType()), IcHouseEntity::getBuildingId, lianHuHouseId.getId()) - .eq("unit".equals(lianHuHouseId.getType()), IcHouseEntity::getBuildingUnitId, lianHuHouseId.getId()); + query.eq("neighborHood".equals(lianHuHouse.getType()), IcHouseEntity::getNeighborHoodId, lianHuHouse.getId()) + .eq("building".equals(lianHuHouse.getType()), IcHouseEntity::getBuildingId, lianHuHouse.getId()) + .eq("unit".equals(lianHuHouse.getType()), IcHouseEntity::getBuildingUnitId, lianHuHouse.getId()); list.addAll(baseDao.selectList(query)); }else{ - IcHouseEntity icHouseEntity=baseDao.selectById(lianHuHouseId.getId()); + IcHouseEntity icHouseEntity=baseDao.selectById(lianHuHouse.getId()); list.add(icHouseEntity); } if(CollectionUtils.isNotEmpty(list)){ @@ -657,12 +659,43 @@ public class IcHouseServiceImpl extends BaseServiceImpl queryLianHuHouseId(String partyCenterHouseId) { + public List queryLianHuHouse(String partyCenterHouseId) { if(StringUtils.isBlank(partyCenterHouseId)){ return new ArrayList<>(); } - return partyCenterHouseLianhuDao.queryLianHuHouseId(partyCenterHouseId); + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); + queryWrapper.eq(LingshanPartyCenterHouseLianhuEntity::getPartyCenterHouseId,partyCenterHouseId); + List list=partyCenterHouseLianhuDao.selectList(queryWrapper); + return ConvertUtils.sourceToTarget(list,LingshanPartyCenterHouseLianhuDTO.class); } + /** + * 灵山项目-绑定联户时候,选择同网格内的房屋 + * 房屋树:小区-楼栋-单元-房屋,共4级 + * 可以根据网格id的房屋 + * + * @param gridId + * @return + */ + @Override + public List getOrgTreeData(String gridId) { + LambdaQueryWrapper neighborHoodWrapper = new LambdaQueryWrapper<>(); + neighborHoodWrapper.eq(IcNeighborHoodEntity::getGridId, gridId) + .select(IcNeighborHoodEntity::getId,IcNeighborHoodEntity::getNeighborHoodName); + List list = icNeighborHoodDao.selectList(neighborHoodWrapper); + List resultList = new ArrayList<>(); + for (IcNeighborHoodEntity neighborHoodEntity : list) { + HouseTreeDTO houseTreeDTO = new HouseTreeDTO(); + houseTreeDTO.setId(neighborHoodEntity.getId()); + houseTreeDTO.setType("neighborHood"); + houseTreeDTO.setName(neighborHoodEntity.getNeighborHoodName()); + List buildingList=icBuildingDao.selectBuildingTree(neighborHoodEntity.getId()); + houseTreeDTO.setChildren(buildingList); + resultList.add(houseTreeDTO); + } + return resultList; + } + + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml index eb810ac14e..9aa8a13be8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml @@ -566,4 +566,54 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index 88b7a7b176..415d39f660 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -954,7 +954,8 @@ from lingshan_party_center_house_lianhu r where r.PARTY_CENTER_HOUSE_ID=ih.ID and r.DEL_FLAG='0' - )as totalLianHu + )as totalLianHu, + ih.PARTY_CENTER_HOUSE_FLAG as partyCenterHouseFlag FROM ic_house ih inner join ic_building_unit u diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/LingshanPartyCenterHouseLianhuDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/LingshanPartyCenterHouseLianhuDao.xml index 663d63ab6c..cae8f215d7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/LingshanPartyCenterHouseLianhuDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/LingshanPartyCenterHouseLianhuDao.xml @@ -22,16 +22,6 @@ - - delete from lingshan_party_center_house_lianhu where PARTY_CENTER_HOUSE_ID=#{partyCenterHouseId}