Browse Source

烟台需求:房屋原始数据导出

master
lichao 3 years ago
parent
commit
12db8f9273
  1. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java
  2. 24
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseListLangchaoFormDTO.java
  3. 61
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseLangchaoListResultDTO.java
  4. 30
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  5. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
  6. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
  7. 60
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  8. BIN
      epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_export_for_langchao.xlsx
  9. 10
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java

@ -49,6 +49,7 @@ public interface NumConstant {
BigDecimal ONE_HUNDRED_DECIMAL = new BigDecimal(100);
BigDecimal ZERO_DECIMAL = new BigDecimal(0);
int ONE_THOUSAND = 1000;
int TWO_THOUSAND = 2000;
int TEN_THOUSAND = 10000;
int THREE_THOUSAND = 3000;

24
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseListLangchaoFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.dto.form;/**
* Created by 11 on 2020/3/19.
*/
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
/**
* @Description 烟台需求langchao数据导出
* @ClassName HouseListLangchaoFormDTO
* @Author lc
* @date 2023.03.19 15:00
*/
@Data
public class HouseListLangchaoFormDTO extends PageFormDTO {
private static final long serialVersionUID = -1L;
// 社区名称
private String communityName;
// 街道名称
private String streetName;
}

61
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseLangchaoListResultDTO.java

@ -0,0 +1,61 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* desc 烟台需求提供langchao数据
*
* @author liujianjun
*/
@Data
public class HouseLangchaoListResultDTO implements Serializable {
private static final long serialVersionUID = 4963952996288796744L;
private Integer seqNo;
private String areaName;
private String streetName;
private String communityName;
private String type;
private String viliageName;
private String buildingNo;
private String floor;
private String unitNo;
private String houseNo;
private String area;
private String dwellingState;
private String usage;
private String createTime;
private String updateTime;
private String pushTime;
private String operateType;
private String orgKey;
private String custKey;
private String fullName;
}

30
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java

@ -55,6 +55,7 @@ import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.remote.EpmetUserRemoteService;
import com.epmet.service.HouseService;
import com.epmet.util.ExcelPoiUtils;
import com.google.common.cache.Cache;
@ -707,5 +708,34 @@ public class HouseController implements ResultDataResolver {
}
/**
* @Description: 烟台需求langchao未导入数据提供导入
* @param response:
* @param tokenDto:
* @Return void
* @Author: lichao
* @Date: 2023/6/28 13:57
*/
@GetMapping("exportHouseForLangchao")
public void exportHouseForLangchao(HttpServletResponse response,@LoginUser TokenDto tokenDto) throws Exception {
houseService.exportHouseForLangchao(response);
// 新增操作日志
CheckMQMsg msg = new CheckMQMsg();
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
msg.setOperateTime(new Date());
msg.setContent("导出langchao房屋数据");
msg.setType("exportHouse");
msg.setTypeDisplay("导出langchao房屋数据");
msg.setUserId(tokenDto.getUserId());
msg.setFromApp(tokenDto.getApp());
msg.setIp(IpUtils.getIpAddr(request));
msg.setFromClient(tokenDto.getClient());
SystemMsgFormDTO form = new SystemMsgFormDTO();
form.setMessageType(TopicConstants.CHECK_OR_EXPORT);
form.setContent(msg);
epmetMessageOpenFeignClient.sendSystemMsgByMQ(form);
}
}

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

@ -25,6 +25,9 @@ public interface IcHouseDao extends BaseDao<IcHouseEntity> {
List<IcHouseListResultDTO> searchHouseByPage(IcHouseListFormDTO formDTO);
List<HouseLangchaoListResultDTO> searchHouseForLangchao(HouseListLangchaoFormDTO formDTO);
List<HouseInfoDTO> queryHouseInfo(@Param("houseIdList") Set<String> houseIdList);
HouseInfoDTO queryHouseInfoByHouseId(@Param("houseId") String houseId);

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java

@ -90,6 +90,8 @@ public interface HouseService {
void exportBuildinginfo(IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception;
void exportHouseForLangchao(HttpServletResponse response) throws Exception;
List<HouseInfoDTO> queryListHouseInfo(Set<String> houseIds, String customerId);
Result dispose(InputStream inputStream, ImportInfoFormDTO formDTO, Result<ImportTaskCommonResultDTO> importTask);

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

@ -42,6 +42,7 @@ import com.epmet.feign.*;
import com.epmet.model.HouseInfoModel;
import com.epmet.model.ImportHouseInfoListener;
import com.epmet.redis.IcHouseRedis;
import com.epmet.remote.EpmetUserRemoteService;
import com.epmet.service.*;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@ -132,6 +133,8 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
@Autowired
private DataReportOpenFeignClient dataReportOpenFeignClient;
@Autowired
private EpmetUserRemoteService epmetUserRemoteService;
/**
* 房屋管理-新增房屋
@ -543,6 +546,63 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
}
}
@Override
public void exportHouseForLangchao( HttpServletResponse response) throws Exception {
//导出房屋
HouseListLangchaoFormDTO formDTO = new HouseListLangchaoFormDTO();
// 获取agency 查看是否
CustomerAgencyDTO agency = agencyservice.getAgencyById(epmetUserRemoteService.getLoginUserDetails().getAgencyId());
if (!agency.getLevel().equals("community")){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "只有社区才可以导出", "只有社区才可以导出");
}
CustomerAgencyDTO agencyPid = agencyservice.getAgencyById(agency.getPid());
formDTO.setStreetName(agencyPid.getOrganizationName());
formDTO.setCommunityName(agency.getOrganizationName());
// formDTO.setStreetName("白石街道");
// formDTO.setCommunityName("丽都社区");
List<HouseLangchaoListResultDTO> icHouseExcels = null;
Integer pageNo = NumConstant.ONE;
Integer pageSize = NumConstant.TWO_THOUSAND;
// formDTO.setPageSize(NumConstant.TEN_THOUSAND);
ExcelWriter excelWriter = null;
long start = System.currentTimeMillis();
try {
String templatePath = "excel/house_export_for_langchao.xlsx";
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(templatePath);
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("房屋原始数据.xlsx", response))
.withTemplate(inputStream).build();
WriteSheet writeSheet = EasyExcel.writerSheet().build();
do {
PageHelper.startPage(pageNo, pageSize);
icHouseExcels = icHouseDao.searchHouseForLangchao(formDTO);
if (CollectionUtils.isEmpty(icHouseExcels)) {
break;
}
excelWriter.fill(icHouseExcels, writeSheet);
pageNo++;
} while (icHouseExcels.size() == pageSize);
} catch (EpmetException e) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "application/json; charset=UTF-8");
PrintWriter printWriter = response.getWriter();
Result<Object> result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg());
printWriter.write(JSON.toJSONString(result));
printWriter.close();
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
log.info("exportBuildinginfo cost:{}ms",System.currentTimeMillis()-start);
}
}
@Override
public List<HouseInfoDTO> queryListHouseInfo(Set<String> houseIdList, String customerId) {
if (org.apache.commons.collections4.CollectionUtils.isEmpty(houseIdList)) {

BIN
epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_export_for_langchao.xlsx

Binary file not shown.

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

@ -918,5 +918,15 @@
</select>
<select id="searchHouseForLangchao" resultType="com.epmet.dto.result.HouseLangchaoListResultDTO">
select *
from init_ods_community_house_result
where
streetName = #{streetName}
and
communityName = #{communityName}
</select>
</mapper>

Loading…
Cancel
Save