From 768664bb959c2aede41b83e48dd7d1dcb7c7c8d7 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 15 Apr 2022 11:01:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E5=B1=8B=E5=AF=BC=E5=87=BA=E5=86=8D?= =?UTF-8?q?=E6=AC=A1=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/IcHouseListResultDTO.java | 37 +++-- .../com/epmet/controller/HouseController.java | 58 +------- .../main/java/com/epmet/dao/IcHouseDao.java | 3 - .../java/com/epmet/model/HouseInfoModel.java | 2 +- .../java/com/epmet/service/HouseService.java | 6 +- .../epmet/service/impl/HouseServiceImpl.java | 129 +----------------- .../main/resources/excel/house_export.xlsx | Bin 10570 -> 10627 bytes .../main/resources/excel/house_template.xlsx | Bin 9581 -> 9581 bytes .../src/main/resources/mapper/IcHouseDao.xml | 48 +------ 9 files changed, 45 insertions(+), 238 deletions(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseListResultDTO.java index 83d6f590e0..2ee335dace 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseListResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseListResultDTO.java @@ -1,6 +1,7 @@ package com.epmet.dto.result; +import cn.afterturn.easypoi.excel.annotation.Excel; import lombok.Data; import java.io.Serializable; @@ -16,23 +17,43 @@ public class IcHouseListResultDTO implements Serializable { private static final long serialVersionUID = 4963952996288796744L; private String houseId; - private String ownerPhone; - private String purpose; + private String doorName; - private String houseType; - private String unitNum; + private String agencyId; private String buildingId; private String houseName; - private String buildingName; + private String rentFlag; - private String ownerName; + private String neighborHoodId; private String purposeKey; - private String neighborHoodName; + private String unitNumKey; + @Excel(name = "所属组织") + private String agencyName; + @Excel(name = "所属网格") + private String gridName; + @Excel(name = "所属小区") + private String neighborHoodName; + @Excel(name = "所属楼栋") + private String buildingName; + @Excel(name = "单元号") + private String unitNum; + @Excel(name = "房屋类型") + private String houseType; + @Excel(name = "房屋用途") + private String purpose; + @Excel(name = "是否出租") + private Integer rentFlagKey; + @Excel(name = "房主姓名") + private String ownerName; + @Excel(name = "房主电话") + private String ownerPhone; + @Excel(name = "房主身份证") private String ownerIdCard; private String gridId; + private String houseTypeKey; - private Integer rentFlagKey; + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index 957e1f7c90..a4d675a279 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -18,7 +18,6 @@ package com.epmet.controller; import cn.afterturn.easypoi.excel.entity.TemplateExportParams; -import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.constant.NumConstant; @@ -36,7 +35,6 @@ import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.IcHouseListResultDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.dto.result.LoginUserDetailsResultDTO; -import com.epmet.excel.IcHouseExcel; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.service.HouseService; @@ -44,16 +42,14 @@ import com.epmet.util.ExcelPoiUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; import java.io.InputStream; -import java.util.*; -import java.util.stream.Collectors; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; /** @@ -170,11 +166,8 @@ public class HouseController implements ResultDataResolver { */ @PostMapping("exporttemplate") public void exportTemplate(HttpServletResponse response) throws Exception { -// ValidatorUtils.validateEntity(ListIcNeighborHoodFormDTO.class); TemplateExportParams templatePath = new TemplateExportParams("excel/house_template.xlsx"); - Map map = new HashMap<>(); - map.put("maplist", new ArrayList()); - ExcelPoiUtils.exportExcel(templatePath, map, "房屋信息录入表", response); + ExcelPoiUtils.exportExcel(templatePath, null, "房屋信息录入表", response); } @@ -188,50 +181,11 @@ public class HouseController implements ResultDataResolver { @RequestMapping("exporthouseinfo") public void exporthouseinfo(@RequestBody IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception { ValidatorUtils.validateEntity(formDTO); + formDTO.setIsPage(false); houseService.exportBuildinginfo(formDTO, response); } - /** - * 导入数据 - * - * @param file - * @return - * @throws IOException - */ - @PostMapping("import") - public Result importExcel(@LoginUser TokenDto tokenDTO, @RequestParam("file") MultipartFile file) throws IOException { - - String customerId = tokenDTO.getCustomerId(); -// String customerId = "123123"; - - ExcelImportResult importResult = ExcelPoiUtils.importExcelMore(file, 0, 1, IcHouseExcel.class); - - List failList = importResult.getFailList(); - - //存放错误数据行号 - List numList = new ArrayList<>(); - if (!CollectionUtils.isEmpty(failList)) { - for (IcHouseExcel entity : failList) { - log.warn("第{}行,{}", entity.getRowNum(), entity.getErrorMsg());//打印失败的行 和失败的信息 - numList.add(entity.getRowNum()); - } - } - List result = importResult.getList(); - - List resultList = houseService.importExcel(customerId, result, tokenDTO.getUserId(), numList); - String str = String.format("共%s条,成功导入%s条。", numList.size() + result.size(), numList.size() + result.size() - resultList.size()); - if (resultList.size() > NumConstant.ZERO) { - Collections.sort(resultList); - String subList = resultList.stream().map(String::valueOf).collect(Collectors.joining("、")); - log.warn(str + "第" + subList + "行未成功!"); - return new Result().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), str + "第" + subList + "行未成功!"); - } - return new Result().ok(str); - } - - - @PostMapping("queryListHouseInfo") Result> queryListHouseInfo(@RequestBody Set houseIds, @RequestParam("customerId") String customerId) { return new Result>().ok(houseService.queryListHouseInfo(houseIds, customerId)); @@ -240,7 +194,7 @@ public class HouseController implements ResultDataResolver { @PostMapping("houseimport") public Result houseImport(@LoginUser TokenDto tokenDTO, @RequestParam("file") MultipartFile file, @RequestParam("orgId") String orgId, - @RequestParam("orgType") String orgType, HttpServletRequest multipartRequest) { + @RequestParam("orgType") String orgType) { ImportInfoFormDTO formDTO = new ImportInfoFormDTO(); formDTO.setCustomerId(tokenDTO.getCustomerId()); formDTO.setOrgType(orgType); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java index 4e8353d993..3b7428dd8b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java @@ -8,7 +8,6 @@ import com.epmet.dto.result.HousesNameResultDTO; import com.epmet.dto.result.IcHouseListResultDTO; import com.epmet.dto.result.NeighborHoodManageDelResultDTO; import com.epmet.entity.IcHouseEntity; -import com.epmet.excel.IcHouseExcel; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -26,8 +25,6 @@ public interface IcHouseDao extends BaseDao { List searchHouseByPage(IcHouseListFormDTO formDTO); - List searchAllHouse(@Param("house") IcHouseEntity house); - List queryHouseInfo(@Param("houseIdList") Set houseIdList); HouseInfoDTO queryHouseInfoByHouseId(@Param("houseId") String houseId); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/HouseInfoModel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/HouseInfoModel.java index be716f7c94..740892f4cd 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/HouseInfoModel.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/HouseInfoModel.java @@ -38,7 +38,7 @@ public class HouseInfoModel { @ExcelProperty(value = "房屋用途") private String purpose; - @ExcelProperty(value = "出租") + @ExcelProperty(value = "房屋状态") private String rentFlagString; @ExcelProperty(value = "房主姓名") diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java index 56a8722a1c..bc9af52b79 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java @@ -20,13 +20,12 @@ package com.epmet.service; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.IcHouseAddFormDTO; -import com.epmet.dto.form.ImportInfoFormDTO; import com.epmet.dto.form.IcHouseListFormDTO; +import com.epmet.dto.form.ImportInfoFormDTO; import com.epmet.dto.form.NeighborHoodManageDelFormDTO; import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.IcHouseListResultDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; -import com.epmet.excel.IcHouseExcel; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; @@ -52,9 +51,6 @@ public interface HouseService { */ void delHouse(String houseId); - - List importExcel(String customerId, List list, String staffId, List numList); - PageData getHouseList(IcHouseListFormDTO formDTO); void exportBuildinginfo(IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index 0c8b368b1c..8491d853f9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -6,7 +6,6 @@ import com.alibaba.excel.ExcelReader; import com.alibaba.excel.read.metadata.ReadSheet; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; -import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.enums.OrgTypeEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; @@ -14,7 +13,6 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; -import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; @@ -35,7 +33,6 @@ import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.dto.result.NeighborHoodManageDelResultDTO; import com.epmet.entity.IcHouseEntity; import com.epmet.enums.HousePurposeEnums; -import com.epmet.enums.HouseRentFlagEnums; import com.epmet.enums.HouseTypeEnums; import com.epmet.excel.IcHouseExcel; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; @@ -163,92 +160,6 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { allDelete(formDTO); } - @Override - @Transactional(rollbackFor = Exception.class) - public List importExcel(String customerId, List list, String staffId, List numList) { - //2021.11.10 需求变更 当前工作人员只能导致自己所属组织下数据,对应不上的数据舍弃【注:需求就这样】 sun - CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(customerId, staffId); - //组织名称不一样的数据舍弃 - Iterator iterator = list.iterator(); - while (iterator.hasNext()) { - IcHouseExcel obj = iterator.next(); - if (!obj.getAgencyName().trim().equals(staffInfoCache.getAgencyName())) { - numList.add(obj.getRowNum()); - iterator.remove(); - } - } - //用于存储匹配不上的数据给前端的提示 如南宁社区不存在 - //StringBuffer str = new StringBuffer(""); - //end sun - //导入 - if(CollectionUtils.isEmpty(list)){ - return numList; - } - //获取所有小区 list -// List neighborNameList = list.stream().map(item -> item.getNeighborHoodName()).collect(Collectors.toList()); -// List neighborHoodList = icNeighborHoodDao.selectList(new QueryWrapper().lambda().in(IcNeighborHoodEntity::getNeighborHoodName, neighborNameList)); -// Map neighborHoodMap = neighborHoodList.stream().collect(Collectors.toMap(IcNeighborHoodEntity::getNeighborHoodName, Function.identity(),(key1, key2)->key1)); - - //获取所有楼宇 list -// List buildingNameList = list.stream().map(item -> item.getBuildingName()).collect(Collectors.toList()); - -// icBuildingDao.selectList(new QueryWrapper().lambda().in(IcBuildingEntity::getBuildingName, buildingNameList).in(); - Set neighborNameList = list.stream().map(item -> item.getNeighborHoodName()).collect(Collectors.toSet()); - Set buildingNameList = list.stream().map(item -> item.getBuildingName()).collect(Collectors.toSet()); - Set buildingUnitList = list.stream().map(item -> item.getBuildingUnit()).collect(Collectors.toSet()); - List> buildMapList = icBuildingDao.selectListByName(customerId, new ArrayList(neighborNameList),new ArrayList(buildingNameList),new ArrayList(buildingUnitList)); - //转Map - Map> buildMap = new HashMap<>(); - buildMapList.forEach(item->{ - buildMap.put(item.get("neighborName")+","+item.get("buildingName")+","+item.get("unitNum"),item); - }); - //封装数据 - List houseEntityList = new ArrayList<>(); - Iterator iterator1 = list.iterator(); - while (iterator1.hasNext()) { - IcHouseExcel icHouseExcel = iterator1.next(); - IcHouseEntity entity = new IcHouseEntity(); - String uuid = UUID.randomUUID().toString().replace("-", ""); - entity.setId(uuid); - entity.setCustomerId(customerId); - Map item = buildMap.get(icHouseExcel.getNeighborHoodName()+","+icHouseExcel.getBuildingName()+","+icHouseExcel.getBuildingUnit()); - - entity.setNeighborHoodId(String.valueOf(Optional.ofNullable(item).map(u->u.get("neighborId")).orElse(""))); - entity.setBuildingId(String.valueOf(Optional.ofNullable(item).map(u->u.get("buildingId")).orElse(""))); - entity.setBuildingUnitId(String.valueOf(Optional.ofNullable(item).map(u->u.get("buildingUnitId")).orElse(""))); - entity.setHouseName(icHouseExcel.getBuildingName()+"-"+icHouseExcel.getBuildingUnit()+"-"+icHouseExcel.getDoorName()); - if ("".equals(entity.getNeighborHoodId()) || "".equals(entity.getBuildingId()) || "".equals(entity.getBuildingUnitId())) { - //str.append("".equals(str) ? icHouseExcel.getBuildingName() + icHouseExcel.getBuildingUnit() : str.append("、").append(icHouseExcel.getBuildingName() + icHouseExcel.getBuildingUnit())); - numList.add(icHouseExcel.getRowNum()); - iterator1.remove(); - continue; - } - entity.setDoorName(icHouseExcel.getDoorName()); - entity.setHouseType(HouseTypeEnums.getKeyByValue(icHouseExcel.getHouseType())); - entity.setPurpose(HousePurposeEnums.getKeyByValue(icHouseExcel.getPurpose())); - entity.setRentFlag(HouseRentFlagEnums.getCodeByName(icHouseExcel.getRentFlag())); - entity.setOwnerName(icHouseExcel.getOwnerName()); - entity.setOwnerPhone(icHouseExcel.getOwnerPhone()); - entity.setOwnerIdCard(icHouseExcel.getOwnerIdCard()); - //同一楼栋,单元内,房屋名称唯一 - Integer count = icHouseDao.checkDoorNameUq(entity.getNeighborHoodId(), entity.getBuildingId(), entity.getBuildingUnitId(), entity.getDoorName(),null); - if (null != count && count > 0) { - //throw new RenException(EpmetErrorCode.DOOR_NAME_EXITED.getCode(), EpmetErrorCode.DOOR_NAME_EXITED.getMsg()); - log.error(EpmetErrorCode.DOOR_NAME_EXITED.getMsg()); - numList.add(icHouseExcel.getRowNum()); - iterator1.remove(); - continue; - } - houseEntityList.add(entity); - } - //3.保存 - icHouseService.insertBatch(houseEntityList); - - - return numList; - - } - @Override public PageData getHouseList(IcHouseListFormDTO formDTO) { @@ -293,50 +204,14 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { public void exportBuildinginfo(IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception { //如果类型是house 查房屋 //导出房屋 - - List icHouseExcels = searchAllHouse(formDTO); + PageData icHouseExcels = getHouseList(formDTO); TemplateExportParams templatePath = new TemplateExportParams("excel/house_export.xlsx"); Map map = new HashMap<>(); - map.put("maplist",icHouseExcels); + map.put("maplist",icHouseExcels.getList()); ExcelPoiUtils.exportExcel(templatePath ,map,"房屋信息录入表",response); return ; } - private List searchAllHouse(IcHouseListFormDTO formDTO) { - - //IcNeighborHoodEntity neighbor = ConvertUtils.sourceToTarget(formDTO, IcNeighborHoodEntity.class); - // - //IcBuildingEntity building = ConvertUtils.sourceToTarget(formDTO, IcBuildingEntity.class); - - - IcHouseEntity house = ConvertUtils.sourceToTarget(formDTO, IcHouseEntity.class); - house.setDelFlag("0"); - - List icHouseExcels = icHouseDao.searchAllHouse(house); - icHouseExcels.forEach(item->{ - item.setHouseType(HouseTypeEnums.getTypeValue(item.getHouseType())); - item.setPurpose(HousePurposeEnums.getTypeValue(item.getPurpose())); - }); - return icHouseExcels; - } - - /*private IPage> searchHouse(String buildingId, - String ownerName, - String ownerPhone, - String neighborHoodName, - String buildingName, - Integer pageNo, - Integer pageSize) { - IPage page = new Page(pageNo,pageSize); - - IPage> mapIPage = icHouseDao.searchHouseByPage(page, buildingId, ownerName, ownerPhone, neighborHoodName, buildingName); - List> records = mapIPage.getRecords(); - records.forEach(item->{ - item.put("houseType", HouseTypeEnums.getTypeValue(item.get("houseTypeKey"))); - item.put("purpose", HousePurposeEnums.getTypeValue(item.get("purposeKey"))); - }); - return mapIPage; - }*/ @Override public List queryListHouseInfo(Set houseIdList, String customerId) { diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_export.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_export.xlsx index 815e222273064b3f0651c75516a1a48211948211..eb163082f3228b4f534e38a0d298efc1e0cb28a9 100644 GIT binary patch delta 6438 zcmeI1RZtvCm&XTphu}824Q@e#4H6)@yEDPvnZO`H0}K+}9g+YE?h-t>y9EgDA=q;F z+uB?Ad)TUd+L!Hze(3(!>8}3OIo;>Px{Q4dvd-`(Uy7V;VO)LG@VlX1FO0xe%Oc*g&U~6oXID4}O83dLcI=<4N=3 z2nlM59s?56&07kHrgiCpW z3O}dyUtPdN5stMhaZ0rJqYSPE5P}J>GG*#9&bTM|8{1V;dEFk`LufqT8_`N> z@2)qXzvW!G`^tBetvk#s*MSev`?SO zRK(=dDh|ZZf3H{q_vCbhpa1NS*It*#o02K^kZA^dMJCUw@*u=qA0|T?bI0n8=DF9* zr;Iqpr47PoTSW?@3vVda@rM{s&5s(p=ikGq-flJNHx$K*8Uo!<)a{)AU|N*u`qn*zQE|tdX(M8%?sZ#$>tpwxbsS??+K{@x1)3 z{vae!z|EPF;pxZ{m@Kff0%s%ufE5$Ij!Xv~c3+|+Uhye;%Cj(28mPY~8_pK`l=&4> zI(1pYOjw^zmycKv4-Vp{TbQ-V_qV{O!cFs_{StVW<#D1|Y+0a)e=WN`0VE;k@W%La zYjt58AzrMMNC3jj$Rn*7Uz$148-^#Sy;Uo}ewVL~vFKm|3Y97j$ROH@NqWIkN5ThX zp^)4GsTUV9*2TEf$XSq~iCUnzV`GVi$vQT07CR);xEtCl0NGe54)p?bD>9BmDSOkD z+(YYTuZ`0iz4`4V#gFIH>a;PL>KE0(G$K>YrCDef-$gIJ%1$%rzS*A24@Bx^qB>4= zD=|BCn|KRhx@U&X@LAEp&azqdg`}Y;r<)G3=F7lfUVlx!AT@YD+7P4yg4!;hbGA{4 zuZHT2CY!%e59m?U9F4z>aL>uZBM9rFZ9((2fUURocy+8gS+zZ?`jf9DA<9{9ON?B%2`=$pC1tMl#WxyXEJo^bV7gT27$ieO~o@ z;Gx3Q?+z{sJvlnClg8neJ>NL4NTUS)*Q@h^TwD_zh_jxo(P!L;{1|EW7P3Wu-s`Qd zR4dk(-fjES$WInxl4#*k`$N!l2B^^Q(?(p>sd5b4M|%-zYGe_b(asMf{a)zlS#C9s z{C27W23*A=e(EKijyi-|a%YGt?_7loPexorI~f%TPzw8X8nNReN@ZG4fUZPtTlnUy z=?rgyvnIV|QNPE*v6=5xNqHeaNpAu-BDW>5O6L0(kmamg;4k1$)n4c>2(dw~?Igrl z8>iF8t|P?Z&%JF#wboe1R_fkK03Fwi3l(zce)nWj&=FliF{z@mk5PjvQ(NfQu(iuC zUz4BakswOYB_s$0Iu|a-b@b{=3beRX^?Ml!QXa5|)Ks=~N;kc@2-`xTnJY(2vtJ6I z00;K3J4>bYGc8PT%R!Iz^TppZtjCY1n(iM9-{gZKg_|1ojmeHacqjCj<+#N!whTnd zp^VQGC1VD?DQ{zwkDMkj$fHFW-Ni+94IV#rP51GlWG;+?(IazWZF6O5`~pbr0}Wnv31VO z+s~z(@AmxMd>ySgBsi1@(`=VY7M|(H>qF=PT>}_Du3NGN0HN6>HOE~QAM?=q6JNk| zdi%$VC(zVKKU%B)VH-{@*I9%PM!8b2_H@?I2v*gs8o3HcBa(ruUR^Ktr(Z9(#>^pm ztsB}&un^8^Z4V5;%H6MP#wDvME|SlDGx?*^xVZA^*VilZy*OI~67K+Lm-$$q)3=FB zzEqA%OUDfp#ma(-

LJpp?-Nca!xl*< z?2B&uwcdi6?X5v(e_P4fWUNR~lDsdqCu$VUMVL=LnsbBU`@^7i;G)uz_mwi6p`5?i zrT?15_$to>9q0%)dc>?p9qBh>KON+ZEa0!PX4%9 zU{CplDSG!oY!{kymnZaz7FT>Ho(OlP(?xIk$`I^!?>z4D(B{3<-%#~U7fdc+zgE}Q z>9d%^V5i^IetYENgk8um*3@(&l8DH8Z_!dq3r3r(n6dC#BcJcNTJJpDfCuB_9-^;C z1k7wm@6ET-11WrUs&yT-(drNMgoN)WIw|C2iz#F8%b+H_^GxA^=P(-MX?DzwSq%TY zA*Y>|SF|V-4rW1qGN#5lp8`*YQWl+d1P2vfnPgtj=bJG+@jTqPaHPDgBK;heqZ|6# z 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 delta 6361 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 Wd0<#f|H&>6(_~^n$)Woz=zjrKbgu;f diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_template.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_template.xlsx index 0f58eff1d818ecc93cc9e8a4737978f4e447e075..cf5681e1f4074e88e34c73d26e98414785921bc0 100644 GIT binary patch delta 5482 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 delta 5509 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 Jp@jK0{|BMcJX`<( 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 ab43322f81..515b5df72f 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 @@ -75,15 +75,13 @@ a.HOUSE_NAME as houseName, c.NEIGHBOR_HOOD_NAME as neighborHoodName, b.BUILDING_NAME as buildingName, - d.UNIT_NUM as unitNum, + 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.RENT_FLAG as rentFlag, - a.PURPOSE as purpose,*/ a.OWNER_PHONE as ownerPhone, a.OWNER_ID_CARD as ownerIdCard, @@ -95,11 +93,15 @@ a.PURPOSE as purposeKey, CAST(a.RENT_FLAG AS CHAR) as rentFlagKey, c.AGENCY_ID as agencyId, - c.GRID_ID as gridId + ag.ORGANIZATION_NAME agencyName, + c.GRID_ID as gridId, + gr.GRID_NAME 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' 1 = 1 @@ -145,44 +147,6 @@ CAST(a.DOOR_NAME AS SIGNED), CONVERT(a.DOOR_NAME using gbk) - -