Browse Source

0106HouseManageTreeFormDTO

master
yinzuomei 3 years ago
parent
commit
8b33bea8bd
  1. 61
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseManageTreeFormDTO.java
  2. 22
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java
  3. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java
  4. 18
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/BuildingService.java
  5. 62
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
  6. 9
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml

61
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseManageTreeFormDTO.java

@ -0,0 +1,61 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 烟台房屋信息界面左侧树查询入参
* @Author yzm
* @Date 2023/1/6 13:39
*/
@Data
public class HouseManageTreeFormDTO implements Serializable {
public interface InitTreeGroup {
}
// public interface AddUserShowGroup extends CustomerClientShowGroup {}
public interface NodeEventGroup {
}
/**
* 当前工作人员所属组织id
* 房屋信息界面左侧树初始化
*/
@NotBlank(message = "工作人员所属组织id不能为空", groups = InitTreeGroup.class)
private String staffAgencyId;
/**
* 组织id网格id小区id楼栋id
*/
@NotBlank(message = "id不能为空", groups = NodeEventGroup.class)
private String id;
/**
* 省级:province
* 市级: city
* 区县级: district,
* 街道:street,
* 社区级community
* 网格grid
* 小区neighborHood
* 楼栋building
*/
@NotBlank(message = "level不能为空", groups = NodeEventGroup.class)
private String level;
// ------------------------------------
/**
* tokenDto.customerId
*/
@NotBlank(message = "customerId不能为空", groups = InitTreeGroup.class)
private String customerId;
/**
* tokenDto.userId
*/
@NotBlank(message = "staffId不能为空", groups = InitTreeGroup.class)
private String staffId;
}

22
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java

@ -109,12 +109,32 @@ public class BuildingController {
return new Result();
}
/**
* 房屋信息左侧树
* 此接口返回的树是完整的针对烟台市这个客户改为逐级展开烟台调用下面的接口
* @param tokenDTO
* @return
*/
@PostMapping("treelist")
public Result treeList(@LoginUser TokenDto tokenDTO){
public Result<List<BuildingTreeLevelDTO>> treeList(@LoginUser TokenDto tokenDTO){
List<BuildingTreeLevelDTO> buildingTreeLevelDTOS =buildingService.treeList(tokenDTO.getCustomerId(), tokenDTO.getUserId());
return new Result().ok(buildingTreeLevelDTOS);
}
/**
* 房屋信息左侧树
* 逐级展开用户点击树节点去查询
* @param tokenDTO
* @return
*/
@PostMapping("treeinit")
public Result<List<BuildingTreeLevelDTO>> treeInit(@LoginUser TokenDto tokenDTO,@RequestBody HouseManageTreeFormDTO formDTO){
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
List<BuildingTreeLevelDTO> buildingTreeLevelDTOS =buildingService.treeInit(formDTO);
return new Result<List<BuildingTreeLevelDTO>>().ok(buildingTreeLevelDTOS);
}
/**
* Desc: 根据前端方便新开接口只返回树的ID
* @param tokenDTO

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java

@ -51,7 +51,9 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
List<IcBuildingExcel> searchAllBuilding(
@Param("building")IcBuildingEntity building, @Param("house")IcHouseEntity house);
List<CustomerAgencyEntity> selectAgencyChildrenList(@Param("agencyId") String agencyId);
List<CustomerAgencyEntity> selectAgencyChildrenList(@Param("customerId")String customerId,
@Param("pidsKey") String pidsKey,
@Param("pid")String pid);
List<Map<String, Object>> selectListByName(@Param("customerId") String customerId,
@Param("neighborNameList")ArrayList<String> strings,

18
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/BuildingService.java

@ -20,10 +20,7 @@ package com.epmet.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.BuildingTreeLevelDTO;
import com.epmet.dto.form.IcBuildingListFormDTO;
import com.epmet.dto.form.IcBulidingAddFormDTO;
import com.epmet.dto.form.IcHouseListFormDTO;
import com.epmet.dto.form.ImportInfoFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.BuildingResultDTO;
import com.epmet.dto.result.BuildingResultPagedDTO;
import com.epmet.dto.result.IcBuildingListResultDTO;
@ -57,7 +54,20 @@ public interface BuildingService {
void addBuilding(String customerId, IcBulidingAddFormDTO formDTO);
/**
* 房屋信息左侧树
* @param customerId
* @param staffId
* @return
*/
List<BuildingTreeLevelDTO> treeList(String customerId, String staffId);
/**
* 房屋信息左侧树
* @param houseManageTreeFormDTO
* @return 逐级展开用户点击树节点去查询
*/
List<BuildingTreeLevelDTO> treeInit(HouseManageTreeFormDTO houseManageTreeFormDTO);
List<String> treeIds(String customerId, String staffId);
PageData<IcBuildingListResultDTO> listBuilding(IcBuildingListFormDTO formDTO);

62
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java

@ -181,7 +181,7 @@ public class BuildingServiceImpl implements BuildingService {
// agency.setAgencyId("77f6bc7f07064bf4c09ef848139a344c");
//1.获取所在组织及下级组织
CustomerAgencyEntity customerAgency = customerAgencyDao.selectById(agency.getAgencyId());
List<CustomerAgencyEntity> customerAgencyList = icBuildingDao.selectAgencyChildrenList(agency.getAgencyId());
List<CustomerAgencyEntity> customerAgencyList = icBuildingDao.selectAgencyChildrenList(customerId,agency.getAgencyId(),null);
customerAgencyList.add(customerAgency);
if (CollectionUtils.isEmpty(customerAgencyList)) {
@ -313,6 +313,66 @@ public class BuildingServiceImpl implements BuildingService {
}
/**
* 房屋信息左侧树
*
* @param formDTO
* @return 逐级展开用户点击树节点去查询
*/
@Override
public List<BuildingTreeLevelDTO> treeInit(HouseManageTreeFormDTO formDTO) {
List<CustomerAgencyEntity> customerAgencyList=new ArrayList<>();
// 1.获取所在组织及下级组织
CustomerAgencyEntity customerAgency = customerAgencyDao.selectById(formDTO.getStaffAgencyId());
customerAgencyList.add(customerAgency);
// 2、查询直属下级组织
List<CustomerAgencyEntity> subAgencyList = icBuildingDao.selectAgencyChildrenList(formDTO.getCustomerId(), null, formDTO.getStaffAgencyId());
if (!CollectionUtils.isEmpty(customerAgencyList)) {
customerAgencyList.addAll(subAgencyList);
}
List<BuildingTreeLevelDTO> resultList = customerAgencyList.stream().map(item -> {
BuildingTreeLevelDTO buildingTreeLevelDTO = new BuildingTreeLevelDTO();
buildingTreeLevelDTO.setId(item.getId());
buildingTreeLevelDTO.setPId(item.getPid());
buildingTreeLevelDTO.setLabel(item.getOrganizationName());
buildingTreeLevelDTO.setLevel(item.getLevel());
buildingTreeLevelDTO.setLongitude(item.getLongitude());
buildingTreeLevelDTO.setLatitude(item.getLatitude());
buildingTreeLevelDTO.setChildren(new ArrayList<>());
// 当前组织有几个下级组织
buildingTreeLevelDTO.setShowNum(StrConstant.EPMETY_STR);
return buildingTreeLevelDTO;
}).collect(Collectors.toList());
// 3.获取组织下的网格
LambdaQueryWrapper<CustomerGridEntity> gridWrapper = new LambdaQueryWrapper<>();
gridWrapper.eq(CustomerGridEntity::getPid, formDTO.getStaffAgencyId());
gridWrapper.last("ORDER BY sort,CAST(GRID_NAME AS SIGNED),CONVERT(GRID_NAME using gbk)");
List<CustomerGridEntity> customerGridList = customerGridDao.selectList(gridWrapper);
if (CollectionUtils.isEmpty(customerGridList)) {
return covertToTree(customerAgency, resultList);
}
List<BuildingTreeLevelDTO> gridList = customerGridList.stream().map(item -> {
BuildingTreeLevelDTO buildingTreeLevelDTO = new BuildingTreeLevelDTO();
buildingTreeLevelDTO.setId(item.getId());
buildingTreeLevelDTO.setLabel(item.getGridName());
buildingTreeLevelDTO.setLevel("grid");
buildingTreeLevelDTO.setPId(item.getPid());
buildingTreeLevelDTO.setLongitude(item.getLongitude());
buildingTreeLevelDTO.setLatitude(item.getLatitude());
buildingTreeLevelDTO.setChildren(new ArrayList<>());
// 当前网格下有几个小区
buildingTreeLevelDTO.setShowNum(StrConstant.EPMETY_STR);
return buildingTreeLevelDTO;
}).collect(Collectors.toList());
resultList.addAll(gridList);
return covertToTree(customerAgency, resultList);
}
/**
* Desc:
* 2022-06-06 需求变动只返回当前组织下级ID

9
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml

@ -195,8 +195,13 @@
customer_agency ca
WHERE
ca.del_flag = '0'
and
CONCAT(':',ca.pids, ':') like CONCAT('%:',#{agencyId},':%')
and ca.customer_id = #{customerId}
<if test=" null != pidsKey and pidsKey.trim() != ''">
and CONCAT(':',ca.pids, ':') like CONCAT('%:',#{pidsKey},':%')
</if>
<if test=" null != pid and pid.trim() != ''">
and ca.pid = #{pid}
</if>
ORDER BY CAST(organization_name AS SIGNED),CONVERT(organization_name using gbk)
</select>

Loading…
Cancel
Save