Browse Source

Merge remote-tracking branch 'origin/房屋tree_yzm'

master
yinzuomei 3 years ago
parent
commit
4da278e9ed
  1. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/BuildingTreeLevelDTO.java
  2. 54
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseManageTreeFormDTO.java
  3. 10
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseListFormDTO.java
  4. 40
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java
  5. 20
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  6. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java
  7. 27
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/BuildingService.java
  8. 186
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
  9. 65
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
  10. 13
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml
  11. 10
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

5
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/BuildingTreeLevelDTO.java

@ -17,6 +17,7 @@
package com.epmet.dto; package com.epmet.dto;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -57,4 +58,8 @@ public class BuildingTreeLevelDTO implements Serializable {
private String showNum; private String showNum;
private String showName; private String showName;
//agency、grid
@JsonIgnore
private String orgType;
} }

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

@ -0,0 +1,54 @@
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网格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,NodeEventGroup.class})
private String customerId;
/**
* tokenDto.userId
*/
@NotBlank(message = "staffId不能为空", groups = {InitTreeGroup.class,NodeEventGroup.class})
private String staffId;
}

10
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseListFormDTO.java

@ -115,4 +115,14 @@ public class IcHouseListFormDTO extends PageFormDTO {
* 楼栋ID * 楼栋ID
*/ */
private String unitId; private String unitId;
//对应界面上的所属组织
/**
* 组织agency
* 网格grid
* 与orgId一起使用
*/
private String orgType;
private String orgId;
} }

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

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

20
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -18,6 +18,7 @@
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.BuildingTreeLevelDTO;
import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.GridInfoVaccinePrarmeterFormDTO; import com.epmet.dto.form.GridInfoVaccinePrarmeterFormDTO;
import com.epmet.dto.form.OrgInfoPointFormDTO; import com.epmet.dto.form.OrgInfoPointFormDTO;
@ -401,6 +402,25 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
List<CurrentUserCommunityInfoResultDTO> getCurrentUserCommunityInfo(@Param("customerId") String customerId,@Param("staffAgencyId")String staffAgencyId); List<CurrentUserCommunityInfoResultDTO> getCurrentUserCommunityInfo(@Param("customerId") String customerId,@Param("staffAgencyId")String staffAgencyId);
/**
*
* @param agencyId
* @return 组织信息用于房屋信息左侧树
*/
BuildingTreeLevelDTO selectAgencyTree(String agencyId);
/**
*
* @param agencyId
* @return 获取当前agencyId的下一级组织+直属网格
*/
List<BuildingTreeLevelDTO> selectNextOrg(String agencyId);
/**
* 查询当前agencyId下 组织数+网格数
* @param agencyId
* @return
*/
Integer selectTotalNext(String agencyId);
} }

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( List<IcBuildingExcel> searchAllBuilding(
@Param("building")IcBuildingEntity building, @Param("house")IcHouseEntity house); @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, List<Map<String, Object>> selectListByName(@Param("customerId") String customerId,
@Param("neighborNameList")ArrayList<String> strings, @Param("neighborNameList")ArrayList<String> strings,

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

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

@ -53,10 +53,7 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -181,7 +178,7 @@ public class BuildingServiceImpl implements BuildingService {
// agency.setAgencyId("77f6bc7f07064bf4c09ef848139a344c"); // agency.setAgencyId("77f6bc7f07064bf4c09ef848139a344c");
//1.获取所在组织及下级组织 //1.获取所在组织及下级组织
CustomerAgencyEntity customerAgency = customerAgencyDao.selectById(agency.getAgencyId()); 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); customerAgencyList.add(customerAgency);
if (CollectionUtils.isEmpty(customerAgencyList)) { if (CollectionUtils.isEmpty(customerAgencyList)) {
@ -313,6 +310,184 @@ public class BuildingServiceImpl implements BuildingService {
} }
/**
* 房屋信息左侧树
*
* @param formDTO
* @return 逐级展开用户点击树节点去查询
*/
@Override
public BuildingTreeLevelDTO treeInit(HouseManageTreeFormDTO formDTO) {
CustomerStaffInfoCacheResult staffInfoCacheResult=CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(),formDTO.getStaffId());
BuildingTreeLevelDTO resultDto = customerAgencyDao.selectAgencyTree(staffInfoCacheResult.getAgencyId());
if (null != resultDto) {
int showNum = customerAgencyDao.selectTotalNext(staffInfoCacheResult.getAgencyId());
resultDto.setShowNum(String.valueOf(showNum));
resultDto.setShowName(String.format("%s(%s)", resultDto.getLabel(), showNum));
List<BuildingTreeLevelDTO> children = customerAgencyDao.selectNextOrg(staffInfoCacheResult.getAgencyId());
for (BuildingTreeLevelDTO dto : children) {
if ("agency".equals(dto.getOrgType())) {
dto.setShowNum(String.valueOf(customerAgencyDao.selectTotalNext(dto.getId())));
dto.setShowName(String.format("%s(%s)", dto.getLabel(), dto.getShowNum()));
} else if ("grid".equals(dto.getOrgType())) {
LambdaQueryWrapper<IcNeighborHoodEntity> queryWrapper = new QueryWrapper<IcNeighborHoodEntity>().lambda()
.eq(IcNeighborHoodEntity::getGridId, dto.getId());
dto.setShowNum(String.valueOf(icNeighborHoodDao.selectCount(queryWrapper)));
dto.setShowName(String.format("%s(%s)", dto.getLabel(), dto.getShowNum()));
}
}
resultDto.setChildren(children);
}
return resultDto;
}
/**
* 房屋信息左侧树
* 点击树上节点查询下一级列表
*
* @param formDTO
* @return
*/
@Override
public List<BuildingTreeLevelDTO> nextTreeNode(HouseManageTreeFormDTO formDTO) {
/**
* level::::
* 省级:province
* 市级: city
* 区县级: district,
* 街道:street,
* 社区级community
* 网格grid
* 小区neighborHood
* 楼栋building
*/
List<BuildingTreeLevelDTO> resultList = new ArrayList<>();
if ("province".equals(formDTO.getLevel())
|| "city".equals(formDTO.getLevel())
|| "district".equals(formDTO.getLevel())
|| "street".equals(formDTO.getLevel())) {
List<BuildingTreeLevelDTO> list = customerAgencyDao.selectNextOrg(formDTO.getId());
for (BuildingTreeLevelDTO dto : list) {
if ("agency".equals(dto.getOrgType())) {
dto.setShowNum(String.valueOf(customerAgencyDao.selectTotalNext(dto.getId())));
dto.setShowName(String.format("%s(%s)", dto.getLabel(), dto.getShowNum()));
} else if ("grid".equals(dto.getOrgType())) {
LambdaQueryWrapper<IcNeighborHoodEntity> queryWrapper = new QueryWrapper<IcNeighborHoodEntity>().lambda()
.eq(IcNeighborHoodEntity::getGridId, dto.getId());
dto.setShowNum(String.valueOf(icNeighborHoodDao.selectCount(queryWrapper)));
dto.setShowName(String.format("%s(%s)", dto.getLabel(), dto.getShowNum()));
}
}
resultList.addAll(list);
} else if ("community".equals(formDTO.getLevel())) {
// 网格列表,需要计算网格下小区数量
resultList.addAll(getGridTreeNode(formDTO.getId()));
} else if ("grid".equals(formDTO.getLevel())) {
// 小区列表,需要计算小区下楼栋数量
resultList.addAll(getNeighborHoodTreeNode(formDTO.getId()));
} else if ("neighborHood".equals(formDTO.getLevel())) {
// 楼栋列表,需要计算楼栋下 实有房屋数/楼栋总户数
resultList.addAll(getBuildTreeNode(formDTO.getId()));
} else if ("building".equals(formDTO.getLevel())) {
// 直接返回
return resultList;
}
return resultList;
}
private List<BuildingTreeLevelDTO> getGridTreeNode(String agencyId) {
List<BuildingTreeLevelDTO> list = new ArrayList<>();
LambdaQueryWrapper<CustomerGridEntity> gridWrapper = new LambdaQueryWrapper<>();
gridWrapper.eq(CustomerGridEntity::getPid, agencyId);
gridWrapper.last("ORDER BY sort,CAST(GRID_NAME AS SIGNED),CONVERT(GRID_NAME using gbk)");
List<CustomerGridEntity> customerGridList = customerGridDao.selectList(gridWrapper);
customerGridList.forEach(gridEntity -> {
BuildingTreeLevelDTO resultDto = new BuildingTreeLevelDTO();
resultDto.setId(gridEntity.getId());
resultDto.setLabel(gridEntity.getGridName());
resultDto.setLevel("grid");
resultDto.setPId(gridEntity.getPid());
resultDto.setLongitude(gridEntity.getLongitude());
resultDto.setLatitude(gridEntity.getLatitude());
resultDto.setChildren(new ArrayList<>());
// 当前网格下有几个小区
LambdaQueryWrapper<IcNeighborHoodEntity> neighborhoodWrapper = new QueryWrapper<IcNeighborHoodEntity>().lambda()
.eq(IcNeighborHoodEntity::getGridId, resultDto.getId());
resultDto.setShowNum(String.valueOf(icNeighborHoodDao.selectCount(neighborhoodWrapper)));
resultDto.setShowName(String.format("%s(%s)", resultDto.getLabel(), resultDto.getShowNum()));
list.add(resultDto);
});
return list;
}
private List<BuildingTreeLevelDTO> getNeighborHoodTreeNode(String gridId) {
List<BuildingTreeLevelDTO> list = new ArrayList<>();
// 当前网格下有几个小区
LambdaQueryWrapper<IcNeighborHoodEntity> neighborhoodWrapper = new QueryWrapper<IcNeighborHoodEntity>().lambda()
.eq(IcNeighborHoodEntity::getGridId, gridId)
.last("ORDER BY CAST(NEIGHBOR_HOOD_NAME AS SIGNED),CONVERT(NEIGHBOR_HOOD_NAME using gbk)");
;
List<IcNeighborHoodEntity> neighborHoodEntityList = icNeighborHoodDao.selectList(neighborhoodWrapper);
neighborHoodEntityList.forEach(item -> {
BuildingTreeLevelDTO neighborHood = new BuildingTreeLevelDTO();
neighborHood.setId(item.getId());
neighborHood.setPId(item.getGridId());
neighborHood.setLabel(item.getNeighborHoodName());
neighborHood.setLevel("neighborHood");
neighborHood.setLongitude(item.getLongitude());
neighborHood.setLatitude(item.getLatitude());
neighborHood.setChildren(new ArrayList<>());
// 当前小区下,有几栋楼
LambdaQueryWrapper<IcBuildingEntity> buildingQueryWrapper = new QueryWrapper<IcBuildingEntity>().lambda()
.eq(IcBuildingEntity::getNeighborHoodId, neighborHood.getId());
neighborHood.setShowNum(String.valueOf(icBuildingDao.selectCount(buildingQueryWrapper)));
neighborHood.setShowName(String.format("%s(%s)", neighborHood.getLabel(), neighborHood.getShowNum()));
list.add(neighborHood);
});
return list;
}
private List<BuildingTreeLevelDTO> getBuildTreeNode(String neighborHoodId) {
List<BuildingTreeLevelDTO> list = new ArrayList<>();
LambdaQueryWrapper<IcBuildingEntity> buildingQueryWrapper = new QueryWrapper<IcBuildingEntity>().lambda()
.in(IcBuildingEntity::getNeighborHoodId, neighborHoodId)
.last("ORDER BY SORT, CAST(BUILDING_NAME AS SIGNED),CONVERT(BUILDING_NAME USING gbk)");
List<IcBuildingEntity> icBuildingList = icBuildingDao.selectList(buildingQueryWrapper);
// 获取楼里已经有多少个房屋
LambdaQueryWrapper<IcHouseEntity> icHouseEntityWrapper = new QueryWrapper<IcHouseEntity>().lambda()
.eq(IcHouseEntity::getNeighborHoodId, neighborHoodId)
.select(IcHouseEntity::getId)
.select(IcHouseEntity::getBuildingId);
List<IcHouseEntity> buildingHouseCount = icHouseDao.selectList(icHouseEntityWrapper);
Map<String, Long> buildingHouseCountMap = buildingHouseCount.stream().collect(Collectors.groupingBy(IcHouseEntity::getBuildingId, Collectors.counting()));
icBuildingList.forEach(item -> {
BuildingTreeLevelDTO building = new BuildingTreeLevelDTO();
building.setId(item.getId());
building.setPId(item.getNeighborHoodId());
building.setLabel(item.getBuildingName());
building.setLevel("building");
building.setLongitude(item.getLongitude());
building.setLatitude(item.getLatitude());
building.setChildren(new ArrayList<>());
// 当前楼栋共有多少户,有多少户有人住
building.setShowNum(StrConstant.EPMETY_STR);
// 楼栋总户数
Integer total = null == item.getTotalHouseNum() ? NumConstant.ZERO : item.getTotalHouseNum();
// 实际已录入的总房屋数
int count = buildingHouseCountMap.getOrDefault(item.getId(), NumConstant.ZERO_L).intValue();
if (NumConstant.ZERO == total) {
building.setShowNum(String.format("%s/%s", count, count));
} else {
building.setShowNum(String.format("%s/%s", count, total));
}
building.setShowName(String.format("%s(%s)", building.getLabel(), building.getShowNum()));
list.add(building);
});
return list;
}
/** /**
* Desc: * Desc:
* 2022-06-06 需求变动只返回当前组织下级ID * 2022-06-06 需求变动只返回当前组织下级ID
@ -441,6 +616,7 @@ public class BuildingServiceImpl implements BuildingService {
private List<BuildingTreeLevelDTO> covertToTree(CustomerAgencyEntity customerAgency, List<BuildingTreeLevelDTO> agencyList) { private List<BuildingTreeLevelDTO> covertToTree(CustomerAgencyEntity customerAgency, List<BuildingTreeLevelDTO> agencyList) {
BuildingTreeLevelDTO buildingTreeLevelDTO = new BuildingTreeLevelDTO(); BuildingTreeLevelDTO buildingTreeLevelDTO = new BuildingTreeLevelDTO();
buildingTreeLevelDTO.setId(customerAgency.getId()); buildingTreeLevelDTO.setId(customerAgency.getId());
buildingTreeLevelDTO.setPId(customerAgency.getPid());
buildingTreeLevelDTO.setLabel(customerAgency.getOrganizationName()); buildingTreeLevelDTO.setLabel(customerAgency.getOrganizationName());
buildingTreeLevelDTO.setLevel(customerAgency.getLevel()); buildingTreeLevelDTO.setLevel(customerAgency.getLevel());
buildingTreeLevelDTO.setLongitude(customerAgency.getLongitude()); buildingTreeLevelDTO.setLongitude(customerAgency.getLongitude());

65
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -1055,4 +1055,69 @@
</select> </select>
<select id="selectAgencyTree" parameterType="java.lang.String" resultType="com.epmet.dto.BuildingTreeLevelDTO">
SELECT
ca.ID as id,
ca.ORGANIZATION_NAME as label,
ca.LONGITUDE as longitude,
ca.LATITUDE as latitude,
ca.`LEVEL` as level,
ca.PID as pId,
'agency' AS orgType
FROM
customer_agency ca
WHERE
ca.ID = #{agencyId}
AND ca.DEL_FLAG = '0'
</select>
<select id="selectNextOrg" parameterType="java.lang.String" resultType="com.epmet.dto.BuildingTreeLevelDTO">
(SELECT ca.ID as id,
ca.ORGANIZATION_NAME as label,
ca.LONGITUDE as longitude,
ca.LATITUDE as latitude,
ca.`LEVEL` as level,
ca.PID as pId,
'agency' AS orgType
FROM customer_agency ca
WHERE ca.PID = #{agencyId}
AND ca.DEL_FLAG = '0'
ORDER BY CAST(ca.organization_name AS SIGNED), CONVERT(ca.organization_name using gbk))
union all
(SELECT cg.id,
cg.GRID_NAME AS label,
cg.LONGITUDE,
cg.LATITUDE,
'grid' AS LEVEL,
cg.PID,
'grid' AS orgType
FROM customer_grid cg
WHERE cg.DEL_FLAG = '0'
AND cg.PID = #{agencyId}
ORDER BY cg.sort, CAST(cg.GRID_NAME AS SIGNED), CONVERT(cg.GRID_NAME using gbk))
</select>
<select id="selectTotalNext" parameterType="java.lang.String" resultType="java.lang.Integer">
SELECT
sum( t.total )
FROM
(
SELECT
count( a.id ) AS total
FROM
customer_agency a
WHERE
a.PID = #{agencyId}
AND a.DEL_FLAG = '0'
UNION all
SELECT
count( g.id ) AS total
FROM
customer_grid g
WHERE
g.PID = #{agencyId}
AND g.DEL_FLAG = '0'
) t
</select>
</mapper> </mapper>

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

@ -190,13 +190,20 @@
ca.organization_name AS organizationName, ca.organization_name AS organizationName,
ca.LEVEL AS LEVEL, ca.LEVEL AS LEVEL,
ca.pid as pid, ca.pid as pid,
ca.pids as pids ca.pids as pids,
ca.LONGITUDE longitude,
ca.LATITUDE latitude
FROM FROM
customer_agency ca customer_agency ca
WHERE WHERE
ca.del_flag = '0' ca.del_flag = '0'
and and ca.customer_id = #{customerId}
CONCAT(':',ca.pids, ':') like CONCAT('%:',#{agencyId},':%') <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) ORDER BY CAST(organization_name AS SIGNED),CONVERT(organization_name using gbk)
</select> </select>

10
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

@ -128,6 +128,16 @@
<where> <where>
1 = 1 1 = 1
and a.del_flag = '0' and a.del_flag = '0'
<if test=" orgType == 'grid'">
<if test="orgId != null and orgId != ''">
AND c.GRID_ID = #{orgId}
</if>
</if>
<if test=" orgType == 'agency'">
<if test="orgId != null and orgId != ''">
and (c.AGENCY_ID =#{orgId} or c.AGENCY_PIDS like concat('%',#{orgId},'%') )
</if>
</if>
<if test="pids != null and pids != ''"> <if test="pids != null and pids != ''">
and case c.AGENCY_PIDS when '' then CONCAT(c.AGENCY_ID) like CONCAT(#{pids}, '%') and case c.AGENCY_PIDS when '' then CONCAT(c.AGENCY_ID) like CONCAT(#{pids}, '%')
else CONCAT(c.AGENCY_PIDS, ':', c.AGENCY_ID) like CONCAT(#{pids}, '%') end else CONCAT(c.AGENCY_PIDS, ':', c.AGENCY_ID) like CONCAT(#{pids}, '%') end

Loading…
Cancel
Save