Browse Source

下载zip按照社区、小区、楼栋区分

master
Jackwang 3 years ago
parent
commit
d5c8d9af52
  1. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseListFormDTO.java
  2. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
  3. 26
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  4. 55
      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/form/IcHouseListFormDTO.java

@ -81,4 +81,9 @@ public class IcHouseListFormDTO extends PageFormDTO {
private String remark;
private String customerId;
/**
* 楼栋ID
*/
private String unitId;
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java

@ -147,4 +147,13 @@ public interface IcHouseDao extends BaseDao<IcHouseEntity> {
* @return com.epmet.dto.result.HouseInfoResultDTO
*/
HouseInfoResultDTO selectHomeInfoByHouseCode(@Param("houseCode") String houseCode);
/**
* @describe: 根据天剑获取需要下载的一户一码信息
* @author wangtong
* @date 2022/6/13 16:34
* @params [formDTO]
* @return java.util.List<com.epmet.dto.result.IcHouseListResultDTO>
*/
List<IcHouseListResultDTO> searchHouseZipList(IcHouseListFormDTO formDTO);
}

26
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java

@ -27,6 +27,7 @@ import com.epmet.commons.tools.utils.FileUtils;
import com.epmet.commons.tools.utils.HouseQRcodeUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerGridConstant;
import com.epmet.constant.NeighborhoodConstant;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.*;
import com.epmet.dto.*;
@ -807,15 +808,22 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
@Override
public void downloadZip(HttpServletResponse response, IcHouseListFormDTO formDTO) throws Exception {
// 查询pids
String pids = null;
if (StringUtils.isNotBlank(formDTO.getAgencyId())) {
pids = getPids(formDTO.getAgencyId());
if(NeighborhoodConstant.GRID.equals(formDTO.getLevel())){
//根据网格过滤
formDTO.setGridId(formDTO.getId());
}else if(StringUtils.isNotBlank(formDTO.getId())){
//根据组织过滤
formDTO.setAgencyId(formDTO.getId());
}
if (StringUtils.isNotBlank(formDTO.getLevel()) && OrgTypeEnum.AGENCY.getCode().equals(formDTO.getLevel())) {
pids = getPids(formDTO.getAgencyId());
}
formDTO.setPids(pids);
// 查询pids
// String pids = null;
// if (StringUtils.isNotBlank(formDTO.getAgencyId())) {
// pids = getPids(formDTO.getAgencyId());
// }
// if (StringUtils.isNotBlank(formDTO.getLevel()) && OrgTypeEnum.AGENCY.getCode().equals(formDTO.getLevel())) {
// pids = getPids(formDTO.getAgencyId());
// }
// formDTO.setPids(pids);
//response
response.reset();
@ -829,7 +837,7 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
response.setHeader("Content-Disposition", "attachment;filename=" + downloadFilename);
ZipOutputStream zip = new ZipOutputStream(response.getOutputStream());
List<IcHouseListResultDTO> houseList = icHouseDao.searchHouseByPage(formDTO);
List<IcHouseListResultDTO> houseList = icHouseDao.searchHouseZipList(formDTO);
//获取一户一码前缀地址
CustomerOrgParameterEntity codePre = icHouseDao.selectByCustomerId(formDTO.getCustomerId(), HouseQrcodeEnum.PREFIX_KEY.getCode());

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

@ -443,5 +443,60 @@
where a.HOUSE_CODE=#{houseCode}
and a.del_flag = '0'
</select>
<select id="searchHouseZipList" resultType="com.epmet.dto.result.IcHouseListResultDTO">
select DISTINCT
concat(b.BUILDING_NAME,'-',d.UNIT_NUM,'-',a.DOOR_NAME) as houseName,
c.NEIGHBOR_HOOD_NAME as neighborHoodName,
b.BUILDING_NAME as buildingName,
CONCAT(d.UNIT_NUM,'单元') as unitNum,
a.DOOR_NAME as doorName,
(case when a.RENT_FLAG = '0' then '自住'
when a.RENT_FLAG = '1' then '出租'
when a.RENT_FLAG = '2' then '闲置'
else '' end) as rentFlag,
a.OWNER_NAME as ownerName,
a.OWNER_PHONE as ownerPhone,
a.OWNER_ID_CARD as ownerIdCard,
a.HOUSE_CODE,
a.ID as houseId,
c.ID as neighborHoodId,
b.ID as buildingId,
a.BUILDING_UNIT_ID as unitNumKey,
a.HOUSE_TYPE as houseTypeKey,
a.PURPOSE as purposeKey,
CAST(a.RENT_FLAG AS CHAR) as rentFlagKey,
c.AGENCY_ID as agencyId,
ag.ORGANIZATION_NAME agencyName,
c.GRID_ID as gridId,
gr.GRID_NAME,
IFNULL(a.sort,0) as sort,
a.CUSTOMER_ID
from ic_house a
LEFT JOIN ic_building b on a.BUILDING_ID = b.ID and b.DEL_FLAG = '0'
LEFT JOIN ic_neighbor_hood c on a.NEIGHBOR_HOOD_ID = c.ID and c.DEL_FLAG = '0'
LEFT JOIN ic_building_unit d on a.BUILDING_UNIT_ID = d.ID and d.DEL_FLAG = '0'
LEFT JOIN customer_grid gr on gr.ID = c.GRID_ID and d.DEL_FLAG = '0'
LEFT JOIN customer_agency ag on ag.ID = c.AGENCY_ID and d.DEL_FLAG = '0'
<where>
<if test="gridId != null and gridId.trim() != ''">
AND c.GRID_ID = #{gridId}
</if>
<if test="agencyId != null and agencyId.trim() != ''">
AND (c.AGENCY_ID = #{agencyId} or CONCAT(':',c.AGENCY_PIDS, ':') like CONCAT('%:',#{agencyId},':%'))
</if>
<if test="buildingId != null and buildingId.trim() != ''">
AND b.id = #{buildingId}
</if>
<if test="neighborHoodId != null and neighborHoodId.trim() != ''">
AND c.id = #{neighborHoodId}
</if>
<if test="unitId != null and unitId.trim() != ''">
AND d.id = #{unitId}
</if>
AND a.DEL_FLAG = '0'
</where>
ORDER BY CAST(c.NEIGHBOR_HOOD_NAME AS SIGNED),CONVERT(c.NEIGHBOR_HOOD_NAME using gbk)
</select>
</mapper>

Loading…
Cancel
Save