From ab4a656016e03289f1a222760f42d6de51ac6549 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 9 Nov 2021 13:09:00 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E5=B0=8F=E5=8C=BA=E5=A4=87=E6=B3=A8?= =?UTF-8?q?=E4=B8=8D=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/IcNeighborHoodFormDTO.java | 31 ++++++++----------- .../controller/NeighborHoodController.java | 6 ++-- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcNeighborHoodFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcNeighborHoodFormDTO.java index 98a6ad0fde..97d196e60d 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcNeighborHoodFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcNeighborHoodFormDTO.java @@ -17,9 +17,7 @@ package com.epmet.dto.form; -import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import lombok.Data; import org.hibernate.validator.constraints.Length; @@ -35,59 +33,56 @@ public class IcNeighborHoodFormDTO implements Serializable { public interface DeleteGroup extends CustomerClientShowGroup { } + + public interface AddShowGroup extends CustomerClientShowGroup { + } + public interface UpdateShowGroup extends CustomerClientShowGroup { + } /** * 小区id */ - @NotBlank(message = "小区id不能为空", groups = {UpdateGroup.class,DeleteGroup.class}) + @NotBlank(message = "小区id不能为空", groups = {UpdateShowGroup.class,DeleteGroup.class}) private String neighborHoodId; /** * 小区名称 */ - @NotBlank(message = "小区名称不能为空", groups = {AddGroup.class, UpdateGroup.class}) - @Length(max=50,message = "小区名称不能超过50个字", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "小区名称不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) + @Length(max=50,message = "小区名称不能超过50个字", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String neighborHoodName; - /** - * 客户id - */ - /* @NotBlank(message = "客户id不能为空", groups = {AddGroup.class, UpdateGroup.class}) - private String customerId;*/ - /** * 组织id */ - @NotBlank(message = "组织id不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "组织id不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String agencyId; /** * 网格id */ - @NotBlank(message = "网格id不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "网格id不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String gridId; /** * 关联物业id */ - @NotBlank(message = "关联物业ID不能为空", groups = {UpdateGroup.class}) + @NotBlank(message = "关联物业ID不能为空", groups = {AddShowGroup.class,UpdateShowGroup.class}) private String propertyId; /** * 详细地址 */ - @NotBlank(message = "详细地址不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "详细地址不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String address; /** * 备注 */ - @NotBlank(message = "备注不能为空", groups = {UpdateGroup.class}) - @Length(max=500,message = "备注不能超过500个字", groups = {AddGroup.class, UpdateGroup.class}) + @Length(max=500,message = "备注不能超过500个字", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String remark; /** * 坐标位置 */ - //@NotBlank(message = "坐标位置不能为空", groups = {AddGroup.class, UpdateGroup.class}) private String location; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java index 823363814a..6bbab45e12 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java @@ -24,8 +24,6 @@ import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dao.IcBuildingDao; import com.epmet.dto.form.IcNeighborHoodFormDTO; import com.epmet.dto.form.ListIcNeighborHoodFormDTO; @@ -89,7 +87,7 @@ public class NeighborHoodController { @PostMapping("neighborhoodadd") public Result neighborhoodadd(@LoginUser TokenDto tokenDTO, @RequestBody IcNeighborHoodFormDTO formDTO){ //效验数据 - ValidatorUtils.validateEntity(formDTO, AddGroup.class); + ValidatorUtils.validateEntity(formDTO, IcNeighborHoodFormDTO.AddShowGroup.class); String customerId = tokenDTO.getCustomerId(); // String customerId = "123123"; @@ -100,7 +98,7 @@ public class NeighborHoodController { @PostMapping("neighborhoodupdate") public Result neighborhoodupdate(@LoginUser TokenDto tokenDTO, @RequestBody IcNeighborHoodFormDTO formDTO){ //效验数据 - ValidatorUtils.validateEntity(formDTO, UpdateGroup.class); + ValidatorUtils.validateEntity(formDTO, IcNeighborHoodFormDTO.UpdateShowGroup.class); String customerId = tokenDTO.getCustomerId(); // String customerId = "123123"; neighborHoodService.UpdateNeighborhood(customerId,formDTO); From bf56b809662777f12dcc712eb9abe1eb7ab4a8b5 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 9 Nov 2021 13:23:47 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E7=BB=99=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/IcBulidingFormDTO.java | 31 ++++++++++--------- .../com/epmet/dto/form/IcHouseFormDTO.java | 30 ++++++++++-------- .../epmet/controller/BuildingController.java | 5 ++- .../com/epmet/controller/HouseController.java | 6 ++-- 4 files changed, 38 insertions(+), 34 deletions(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingFormDTO.java index 8ce4e063b9..b14c58b47c 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingFormDTO.java @@ -17,9 +17,7 @@ package com.epmet.dto.form; -import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import lombok.Data; import org.hibernate.validator.constraints.Length; @@ -36,70 +34,75 @@ public class IcBulidingFormDTO implements Serializable { public interface DeleteGroup extends CustomerClientShowGroup { } - @NotBlank(message = "楼栋ID不能为空", groups = { UpdateGroup.class,DeleteGroup.class}) + public interface AddShowGroup extends CustomerClientShowGroup { + } + + public interface UpdateShowGroup extends CustomerClientShowGroup { + } + @NotBlank(message = "楼栋ID不能为空", groups = { UpdateShowGroup.class,DeleteGroup.class}) private String buildingId; /** * 组织id */ - @NotBlank(message = "组织id不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "组织id不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String agencyId; /** * 网格id */ - @NotBlank(message = "网格不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "网格不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String gridId; /** * 小区id */ - @NotBlank(message = "小区id不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "小区id不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String neighborHoodId; /** * 楼栋名称 */ - @NotBlank(message = "楼栋名称不能为空", groups = {AddGroup.class, UpdateGroup.class}) - @Length(max=10,message = "楼栋名称不能超过10个字", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "楼栋名称不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) + @Length(max=10,message = "楼栋名称不能超过10个字", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String buildingName; /** * 楼栋类型 */ - @NotBlank(message = "楼栋类型不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "楼栋类型不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String type=""; /** * 客户id */ - /* @NotBlank(message = "客户id不能为空", groups = {AddGroup.class, UpdateGroup.class}) + /* @NotBlank(message = "客户id不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String customerId;*/ /** * 排序 */ - @NotNull(message = "排序不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotNull(message = "排序不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private Integer sort = 0; /** * 总单元数 */ - @NotNull(message = "总单元数不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotNull(message = "总单元数不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private Integer totalUnitNum=1; /** * 总楼层总数 */ - @NotNull(message = "总楼层总数不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotNull(message = "总楼层总数不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private Integer totalFloorNum; /** * 总户数 */ - @NotNull(message = "总户数不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotNull(message = "总户数不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private Integer totalHouseNum; /** * 坐标位置 diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseFormDTO.java index cb557aa572..58376e2032 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseFormDTO.java @@ -17,9 +17,7 @@ package com.epmet.dto.form; -import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -35,23 +33,29 @@ public class IcHouseFormDTO implements Serializable { public interface DeleteGroup extends CustomerClientShowGroup { } - @NotBlank(message = "房屋ID不能为空", groups = { UpdateGroup.class,DeleteGroup.class}) + public interface AddShowGroup extends CustomerClientShowGroup { + } + + public interface UpdateShowGroup extends CustomerClientShowGroup { + } + + @NotBlank(message = "房屋ID不能为空", groups = { UpdateShowGroup.class,DeleteGroup.class}) private String houseId; /** * 小区id */ - @NotBlank(message = "小区id不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "小区id不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String neighborHoodId; - @NotBlank(message = "所属楼栋ID不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "所属楼栋ID不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String buildingId; /** * 所属单元id */ - @NotBlank(message = "所属单元id不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "所属单元id不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String buildingUnitId; @@ -59,43 +63,43 @@ public class IcHouseFormDTO implements Serializable { /** * 门牌号 */ - @NotBlank(message = "门牌号不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "门牌号不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String doorName; /** * 房屋类型,这里存储字典value就可以 */ - @NotBlank(message = "房屋类型不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "房屋类型不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String houseType; /** * 存储字典value */ - @NotBlank(message = "房屋用途不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "房屋用途不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String purpose; /** * 1出租;0未出租 */ - @NotNull(message = "是否出租不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotNull(message = "是否出租不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private Integer rentFlag; /** * 房主姓名 */ - @NotBlank(message = "房主姓名不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "房主姓名不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String ownerName; /** * 房主电话 */ - @NotBlank(message = "房主电话不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "房主电话不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String ownerPhone; /** * 房主身份证号 */ - @NotBlank(message = "房主身份证号不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message = "房主身份证号不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) private String ownerIdCard; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java index 763abf8efc..f3edc781e1 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java @@ -25,7 +25,6 @@ import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dao.IcBuildingUnitDao; import com.epmet.dto.BuildingTreeLevelDTO; @@ -90,7 +89,7 @@ public class BuildingController { @PostMapping("buildingadd") public Result buildingAdd(@LoginUser TokenDto tokenDTO, @RequestBody IcBulidingFormDTO formDTO){ //效验数据 - ValidatorUtils.validateEntity(formDTO, AddGroup.class); + ValidatorUtils.validateEntity(formDTO, IcBulidingFormDTO.AddShowGroup.class); String customerId = tokenDTO.getCustomerId(); // String customerId = "123123"; @@ -101,7 +100,7 @@ public class BuildingController { @PostMapping("buildingupdate") public Result buildingUpdate(@LoginUser TokenDto tokenDTO, @RequestBody IcBulidingFormDTO formDTO){ //效验数据 - ValidatorUtils.validateEntity(formDTO, UpdateGroup.class); + ValidatorUtils.validateEntity(formDTO, IcBulidingFormDTO.UpdateShowGroup.class); String customerId = tokenDTO.getCustomerId(); // String customerId = "123123"; buildingService.UpdateBuilding(customerId,formDTO); 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 8bc4378e8f..12295301a1 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 @@ -23,8 +23,6 @@ import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.form.IcHouseFormDTO; import com.epmet.dto.form.IcNeighborHoodFormDTO; import com.epmet.dto.form.ListIcNeighborHoodFormDTO; @@ -76,7 +74,7 @@ public class HouseController { @PostMapping("houseadd") public Result houseAdd(@LoginUser TokenDto tokenDTO, @RequestBody IcHouseFormDTO formDTO){ //效验数据 - ValidatorUtils.validateEntity(formDTO, AddGroup.class); + ValidatorUtils.validateEntity(formDTO, IcHouseFormDTO.AddShowGroup.class); String customerId = tokenDTO.getCustomerId(); // String customerId = "123123"; @@ -87,7 +85,7 @@ public class HouseController { @PostMapping("houseupdate") public Result houseUpdate(@LoginUser TokenDto tokenDTO, @RequestBody IcHouseFormDTO formDTO){ //效验数据 - ValidatorUtils.validateEntity(formDTO, UpdateGroup.class); + ValidatorUtils.validateEntity(formDTO, IcHouseFormDTO.UpdateShowGroup.class); String customerId = tokenDTO.getCustomerId(); // String customerId = "123123"; houseService.updateHouse(customerId,formDTO); From df5b7cdfeed2373803cb76f57b15c7ed8500ac49 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 9 Nov 2021 14:11:57 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=B0=8F=E5=8C=BA?= =?UTF-8?q?=E4=BF=AE=E6=94=B9test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/NeighborHoodServiceImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java index bb4aa17225..ad24ef5ab8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java @@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.epmet.commons.tools.enums.OrgTypeEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.ConvertUtils; @@ -307,6 +308,11 @@ public class NeighborHoodServiceImpl implements NeighborHoodService { // neighborHoodEntityQueryWrapper.eq("a.DEL_FLAG","0"); IcNeighborHoodEntity neighbor = ConvertUtils.sourceToTarget(formDTO, IcNeighborHoodEntity.class); neighbor.setDelFlag("0"); + if(OrgTypeEnum.GRID.getCode().equals(formDTO.getLevel())){ + neighbor.setGridId(formDTO.getId()); + }else{ + neighbor.setAgencyId(formDTO.getId()); + } IcHouseEntity house = ConvertUtils.sourceToTarget(formDTO, IcHouseEntity.class); return icNeighborHoodDao.searchAllNeighborhood(neighbor,house); } From 30421b494123352c0282b0320dcedddfbcfe8efa Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 9 Nov 2021 15:15:20 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data-statistical-server/pom.xml | 2 +- .../epmet-demo/epmet-demo-server/pom.xml | 2 +- .../com/epmet/dto/result/HouseInfoDTO.java | 4 +- .../src/main/resources/mapper/IcHouseDao.xml | 5 +- epmet-user/epmet-user-server/pom.xml | 2 +- .../controller/IcResiUserController.java | 156 ++++++++++++++++++ .../service/impl/IcResiUserServiceImpl.java | 22 ++- .../java/com/epmet/util/TestFileUtil.java | 36 ++++ .../main/resources/excel/ic_resi_info_cid.xls | Bin 92160 -> 92160 bytes .../excel/ic_resi_info_cid_for_easy_excel.xls | Bin 0 -> 96256 bytes 10 files changed, 215 insertions(+), 14 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/util/TestFileUtil.java create mode 100644 epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xls diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml index 687c01b462..7a0ae49569 100644 --- a/epmet-module/data-statistical/data-statistical-server/pom.xml +++ b/epmet-module/data-statistical/data-statistical-server/pom.xml @@ -97,7 +97,7 @@ com.alibaba easyexcel - 2.2.10 + 3.0.3 poi diff --git a/epmet-module/epmet-demo/epmet-demo-server/pom.xml b/epmet-module/epmet-demo/epmet-demo-server/pom.xml index 4f6c0b6021..2a2ee9e597 100644 --- a/epmet-module/epmet-demo/epmet-demo-server/pom.xml +++ b/epmet-module/epmet-demo/epmet-demo-server/pom.xml @@ -16,7 +16,7 @@ com.alibaba easyexcel - 2.2.10 + 3.0.3 poi diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java index 3221ee3647..5077e99a33 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java @@ -57,4 +57,6 @@ public class HouseInfoDTO implements Serializable { * 房屋类型,1楼房,2平房,3别墅 */ private String houseType; -} \ No newline at end of file + + private String houseName; +} 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 08cf9c92a5..0857166540 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 @@ -240,7 +240,8 @@ ih.BUILDING_UNIT_ID as buildingUnitId, u.UNIT_NAME as unitName, ih.DOOR_NAME as doorName, - ih.house_type + ih.house_type, + ih.HOUSE_NAME FROM ic_house ih left JOIN ic_neighbor_hood n ON ( ih.NEIGHBOR_HOOD_ID = n.id ) @@ -277,4 +278,4 @@ and ih.id !=#{houseId} - \ No newline at end of file + diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml index 790d22ecf2..dcd727ce13 100644 --- a/epmet-user/epmet-user-server/pom.xml +++ b/epmet-user/epmet-user-server/pom.xml @@ -21,7 +21,7 @@ com.alibaba easyexcel - 2.2.10 + 3.0.3 poi diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 24c8b5b5fe..044e03f476 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -19,6 +19,12 @@ package com.epmet.controller; import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.TemplateExportParams; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.converters.date.DateDateConverter; +import com.alibaba.excel.converters.date.DateStringConverter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.fill.FillWrapper; import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -35,6 +41,7 @@ import com.epmet.dto.result.*; import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.service.IcResiUserImportService; import com.epmet.service.IcResiUserService; +import com.epmet.util.TestFileUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; @@ -48,6 +55,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.net.URLEncoder; import java.nio.file.Files; import java.nio.file.Path; @@ -221,6 +229,7 @@ public class IcResiUserController { Map> sheetMap = new HashMap<>(); Map mapData = new HashMap<>(); mapData.put("list", resiMainList.values()); + System.out.println("========="+JSON.toJSONString(resiMainList.values())); sheetMap.put(0, mapData); AtomicInteger n = new AtomicInteger(); for (FormItem item : resiFormItems.getItemList()) { @@ -233,6 +242,7 @@ public class IcResiUserController { Map mapData2 = new HashMap<>(); mapData2.put("list", resiChildMap.values()); + System.out.println("========="+JSON.toJSONString(mapData2)); sheetMap.put(n.incrementAndGet(), mapData2); } } @@ -247,6 +257,152 @@ public class IcResiUserController { workbook.write(response.getOutputStream()); } + @RequestMapping(value = "/exportExcel2") + public void exportExcelByEasyExcel(@RequestHeader String customerId, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception { + pageFormDTO.setCustomerId(customerId); + pageFormDTO.setPageFlag(false); + CustomerFormResultDTO resiFormItems = getResiFormItems(pageFormDTO.getCustomerId()); + + Map> otherSheetItems = new HashMap<>(); + + //主表的 + for (FormItem formItem : resiFormItems.getItemList()) { + if (StringUtils.isBlank(formItem.getColumnName())) { + continue; + } + + Map itemMap = otherSheetItems.getOrDefault(formItem.getTableName(), new HashMap<>()); + otherSheetItems.putIfAbsent(formItem.getTableName(), itemMap); + if (formItem.getItemType().equals("checkbox") || formItem.getItemType().equals("select") || formItem.getItemType().equals("radio")) { + itemMap.put(formItem.getColumnName().concat(formItem.getColumnNum() == 0 ? "" : formItem.getColumnNum().toString()), formItem); + } + if (formItem.getChildGroup() != null) { + itemMap = otherSheetItems.getOrDefault(formItem.getChildGroup().getTableName(), new HashMap<>()); + otherSheetItems.putIfAbsent(formItem.getChildGroup().getTableName(), itemMap); + for (FormItem2 item2 : formItem.getChildGroup().getItemList()) { + if (StringUtils.isBlank(item2.getColumnName())) { + continue; + } + + if ("checkbox".equals(item2.getItemType()) || "select".equals(item2.getItemType()) || "radio".equals(item2.getItemType())) { + itemMap.put(item2.getColumnName().concat(item2.getColumnNum() == 0 ? "" : item2.getColumnNum().toString()), ConvertUtils.sourceToTarget(item2, FormItem.class)); + } + } + + } + } + //其他sheet + + for (FormGroupDTO groupItem : resiFormItems.getGroupList()) { + if (groupItem.getItemList() == null) { + continue; + } + Map itemMap = otherSheetItems.getOrDefault(groupItem.getTableName(), new HashMap<>()); + otherSheetItems.putIfAbsent(groupItem.getTableName(), itemMap); + for (FormItem2 formItem2 : groupItem.getItemList()) { + if (StringUtils.isBlank(formItem2.getColumnName())) { + continue; + } + if ("checkbox".equals(formItem2.getItemType()) || "select".equals(formItem2.getItemType()) || "radio".equals(formItem2.getItemType())) { + itemMap.put(formItem2.getColumnName().concat(formItem2.getColumnNum() == 0 ? "" : formItem2.getColumnNum().toString()), ConvertUtils.sourceToTarget(formItem2, FormItem.class)); + } + } + } + + Map> resiMainList = icResiUserService.getDataForExport(otherSheetItems.get(BASE_TABLE_NAME),new HashMap<>(), pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), BASE_TABLE_NAME, pageFormDTO.getConditions()); + + //========================================= + + + // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 + // {} 代表普通变量 {.} 代表是list的变量 {前缀.} 前缀可以区分不同的list + +// String templatePath = "/excel/ic_resi_info_cid_for_easy_excel.xls"; +// String s1 = this.getClass().getResource(templatePath).getPath(); +// System.out.println("模版路径:"+s1); +// +// String templateFileName = s1; +// System.out.println("=templateFileName=="+templateFileName); +// String fileName = TestFileUtil.getPath() + "/excel/ic_resi_info_cid_for_easy_excel0000.xls"; +// System.out.println(fileName); +// ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); +// WriteSheet writeSheet = EasyExcel.writerSheet(0).build(); +// WriteSheet build = EasyExcel.writerSheet(1).build(); +// // 如果有多个list 模板上必须有{前缀.} 这里的前缀就是 data1,然后多个list必须用 FillWrapper包裹 +// excelWriter.fill(new FillWrapper("t1", resiMainList.values()), writeSheet); +// excelWriter.fill(new FillWrapper("t2", resiMainList.values()), build); + + // 别忘记关闭流 + //excelWriter.finish(); + //EasyExcel.write(new File(fileName)); + //========================================= + //resiMainList = (List>)JSON.parse("[{\"IS_BDHJ\":\"1\",\"IS_SPECIAL\":\"1\",\"IS_XFRY\":\"0\",\"REMARKS\":\"beizhu\",\"IS_PARTY\":\"1\",\"icResiUserId\":\"yzmtest2\",\"HOME_ID\":\"中海国际社区一里城1号楼1单元101\",\"HOUSE_TYPE\":\"平房\",\"UNIT_NAME\":\"1单元\",\"GRID_ID\":\"市北区-市北区第三网格3\",\"IS_DB\":\"0\",\"GENDER\":\"男\",\"BIRTHDAY\":\"2021-10-04\",\"IS_VETERANS\":\"0\",\"IS_MB\":\"0\",\"IS_UNEMPLOYED\":\"0\",\"DEMAND_NAME\":null,\"IS_KC\":\"0\",\"IS_ENSURE_HOUSE\":\"0\",\"IS_SD\":\"0\",\"NAME\":\"尹作梅\",\"RDSJ\":null,\"IS_VOLUNTEER\":\"1\",\"GRID_ID_VALUE\":\"e74829ffc43d5470eba6b5e060c11e63\",\"IS_SZ\":\"0\",\"IS_CJ\":\"0\",\"HOME_ID_VALUE\":\"200\",\"DEMAND_CATEGORY_IDS\":null,\"VILLAGE_NAME\":\"中海国际社区一里城\",\"IS_DBH\":\"0\",\"IS_SN\":\"0\",\"BUILD_NAME\":\"1号楼\",\"IS_YLFN\":\"0\",\"IS_UNITED_FRONT\":\"0\",\"ID_CARD\":\"371325199310260529\",\"MOBILE\":\"15764229697\",\"IS_OLD_PEOPLE\":\"0\",\"DOOR_NAME\":\"101\"},{\"IS_SPECIAL\":\"1\",\"IS_XFRY\":\"0\",\"REMARKS\":\"beizhu\",\"IS_PARTY\":\"1\",\"icResiUserId\":\"yzmtest\",\"HOME_ID\":\"中海国际社区一里城1号楼1单元101\",\"HOUSE_TYPE\":\"平房\",\"UNIT_NAME\":\"1单元\",\"GRID_ID\":\"市北区-市北区第三网格3\",\"IS_DB\":\"0\",\"GENDER\":\"男\",\"BIRTHDAY\":\"2021-10-04\",\"IS_VETERANS\":\"0\",\"IS_MB\":\"0\",\"IS_UNEMPLOYED\":\"0\",\"DEMAND_NAME\":\"心理咨询\",\"IS_KC\":\"0\",\"IS_ENSURE_HOUSE\":\"0\",\"IS_SD\":\"0\",\"NAME\":\"尹作梅\",\"RDSJ\":\"2021-10-28 00:00:00\",\"IS_VOLUNTEER\":\"1\",\"GRID_ID_VALUE\":\"e74829ffc43d5470eba6b5e060c11e63\",\"IS_SZ\":\"0\",\"IS_CJ\":\"0\",\"HOME_ID_VALUE\":\"200\",\"DEMAND_CATEGORY_IDS\":\"10180002\",\"VILLAGE_NAME\":\"中海国际社区一里城\",\"IS_DBH\":\"0\",\"IS_SN\":\"0\",\"BUILD_NAME\":\"1号楼\",\"IS_YLFN\":\"0\",\"IS_UNITED_FRONT\":\"0\",\"ID_CARD\":\"371325199310260529\",\"MOBILE\":\"15764229697\",\"IS_OLD_PEOPLE\":\"0\",\"DOOR_NAME\":\"101\"}]"); + String originValue = JSON.toJSONString(resiMainList.values()); + System.out.println("========="+ originValue); + String templatePath = "/excel/ic_resi_info_cid_for_easy_excel.xls"; + String s1 = this.getClass().getResource(templatePath).getPath(); + System.out.println("模版路径:"+s1); + //TemplateExportParams params = new TemplateExportParams(templatePath, true); + String fileName = TestFileUtil.getPath() + "compositeFill" + "ic_resi_info_cid_for_easy_excel.xls"; + fileName = "/Users/liujianjun/Downloads/ic_resi_info_cid_for_easy_excel2.xls"; + System.out.println("fileName======="+fileName); + //String fileName = "居民基本信息.xls"; + ExcelWriter excelWriter = EasyExcel.write(getOutputStream(fileName,response)).registerConverter(new DateStringConverter()).registerConverter(new DateDateConverter()).withTemplate(s1).build(); + //ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(s1).build(); + WriteSheet fistSheet = EasyExcel.writerSheet(0).build(); + try { + excelWriter.fill(new FillWrapper("t1", resiMainList.values()), fistSheet); + } catch (Exception e) { + e.printStackTrace(); + } + + //======================================= + + /* Map> sheetMap = new HashMap<>(); + Map mapData = new HashMap<>(); + mapData.put("list", resiMainList.values()); + System.out.println("========="+JSON.toJSONString(resiMainList.values())); + sheetMap.put(0, mapData);*/ + AtomicInteger n = new AtomicInteger(); + for (FormItem item : resiFormItems.getItemList()) { + + if (item.getChildGroup() != null) { + if (!item.getChildGroup().getTableName().equals(BASE_TABLE_NAME)) { + Map itemMap1 = otherSheetItems.get(item.getChildGroup().getTableName()); + Map> resiChildMap = icResiUserService.getDataForExport(itemMap1,resiMainList, pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), item.getChildGroup().getTableName(), pageFormDTO.getConditions()); + resiChildMap.forEach((key, value) -> value.putAll(resiMainList.get(key))); + + /*Map mapData2 = new HashMap<>(); + mapData2.put("list", resiChildMap.values()); + System.out.println("========="+JSON.toJSONString(mapData2)); + sheetMap.put(n.incrementAndGet(), mapData2);*/ + int sheetNo = n.incrementAndGet(); + WriteSheet writeSheet = EasyExcel.writerSheet(sheetNo).build(); + System.out.println("======"+JSON.toJSONString(resiChildMap.values())); + excelWriter.fill(new FillWrapper("t"+(sheetNo+1), resiChildMap.values()), writeSheet); + } + } + } + + /* Workbook workbook = ExcelExportUtil.exportExcel(sheetMap, params); + workbook.setActiveSheet(0);*/ + excelWriter.finish(); + + + /* response.setHeader("content-Type", "application/vnd.ms-excel"); + response.addHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(fileName, "UTF-8")); + workbook.write(response.getOutputStream());*/ + } + private static OutputStream getOutputStream(String fileName, HttpServletResponse response) throws Exception { + fileName = URLEncoder.encode(fileName, "UTF-8"); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls"); + response.addHeader("Access-Control-Expose-Headers", "Content-disposition"); + + return response.getOutputStream(); + } + /** * excel导入居民基本信息 * diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index d91d541047..4b2a407e7e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -17,7 +17,6 @@ package com.epmet.service.impl; -import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -37,16 +36,13 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.IcPlatformConstant; import com.epmet.constant.SystemMessageType; import com.epmet.constant.UserConstant; import com.epmet.dao.IcResiUserDao; -import com.epmet.dto.CustomerAgencyDTO; -import com.epmet.dto.CustomerGridDTO; -import com.epmet.dto.IcHouseDTO; -import com.epmet.dto.IcResiCategoryStatsConfigDTO; -import com.epmet.dto.IcNeighborHoodDTO; +import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IcResiUserEntity; @@ -59,11 +55,12 @@ import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.sql.Date; +import java.sql.Timestamp; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -623,6 +620,15 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> mapList = this.dynamicQuery(customerId, formCode, baseTableName, conditions); Map> result = new LinkedHashMap<>(); mapList.stream().filter(Objects::nonNull).forEach(map -> { + map.forEach((k,o) -> { + if (o instanceof java.sql.Date){ + o = DateUtils.format(((Date) o),DateUtils.DATE_PATTERN); + } + if (o instanceof java.sql.Timestamp){ + o = DateUtils.format(new Date(((Timestamp) o).getTime()),DateUtils.DATE_TIME_PATTERN); + } + map.put(k,o); + }); String resiId = (String) map.getOrDefault(UserConstant.IC_RESI_USER, ""); if ("ic_resi_user".equals(baseTableName)) { @@ -707,7 +713,7 @@ public class IcResiUserServiceImpl extends BaseServiceImplBBjt4&UgS@DvlqMS2%LWPDgp`>`UT#k~bQ%EQ(@z_~82~9L1%dV8NzPqV80-WW5WN5C8SeY(T&U%b-AJ>bzFF-)^twgIP^2N_4J zeHd_(b@C*Kmif=Evbzsty6>4U(Ag<_GLG%`JZ$YJTXG&TZ2aoW7xG(2$xy=Jm`LAE zS60zVFp>qadGV)ZYbs`!FN>|%xea{Kf44$7@~CWoePnSp(ke4C#JY2S zZbJ%yIY^s5qEI}aSc?}LgYvOG?*;BsGeCPQz^zM^eUlF~*7@`4l+7T~7U_BF%O=2<f;v1x4}0wW#&YOjDGQkH?)k=bgKp%S`(tQ~M*+ z<@W|70QzX?rfCEs9hZLg$ zTNy3jE}F z#`>w)J|!H~o`q4mT~Dx1j>LVy4Gnh?S!0QkEGz2vh5N#g^t#q8{sh8ec}&Hr-!{dp zTWz7$c0bLxdFZ6YMH_7)zbmWyGP;`4T258PV)W5k7R|NTqxB<7=zX4cIz8MY78Fn? z@=w*+T-7XXeU0{bku9qn?Ukx{fPUGX5w&x%cYWU640Hc+tUxh3hKy2Q_mD&REp@u*Hi!V0qi`l@`Wt1 zDv-)$gLicnhg;X4N?%X?n>&EI*E;)(o+nG#Ci;{NvI%67g9bi>D&!@sOKFj}TABEm zY6ISCR3m}}lBhsza|NnIoK#<-e6O7;@l{R0x{ZLN8Pq!&C8gFOHls+3=$+76jf{QyfSd(W1!7~G`KE&#-nzVn8wwbrMGVuGJ;T?=TOLkiSP^ANCa7(AxMy~Vz4KTeCK;YB zW~fYSV0ae07e3y=e3GN)Y=2K_19M76`v*c#Q;(Uf8hdnErmLsAk@Xg^&Yqu5%xwM( DQrAiP diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xls b/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xls new file mode 100644 index 0000000000000000000000000000000000000000..01ec6893d33393e51f04c07d53642284f3af7235 GIT binary patch literal 96256 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 literal 0 HcmV?d00001 From 6d18eb4e9f5e158d79551469ccf8a81205769047 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 9 Nov 2021 15:18:45 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E5=B1=85=E6=B0=91=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E8=AE=BE=E7=BD=AE=E6=97=B6=E9=97=B4=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E8=BD=AC=E4=B8=BAstr=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/IcEnsureHouseDTO.java | 2 +- .../src/main/java/com/epmet/dto/IcPartyMemberDTO.java | 7 ++++--- .../src/main/java/com/epmet/dto/IcResiUserDTO.java | 8 ++++---- .../src/main/java/com/epmet/dto/IcUnemployedDTO.java | 2 +- .../src/main/java/com/epmet/dto/IcVeteransDTO.java | 9 +++++---- .../java/com/epmet/entity/IcEnsureHouseEntity.java | 5 +---- .../java/com/epmet/entity/IcPartyMemberEntity.java | 7 ++----- .../main/java/com/epmet/entity/IcResiUserEntity.java | 11 ++++------- .../java/com/epmet/entity/IcUnemployedEntity.java | 2 +- .../main/java/com/epmet/entity/IcVeteransEntity.java | 9 +++------ .../main/java/com/epmet/excel/IcEnsureHouseExcel.java | 2 +- .../main/java/com/epmet/excel/IcPartyMemberExcel.java | 4 ++-- .../main/java/com/epmet/excel/IcResiUserExcel.java | 8 ++++---- .../main/java/com/epmet/excel/IcUnemployedExcel.java | 2 +- .../main/java/com/epmet/excel/IcVeteransExcel.java | 6 +++--- 15 files changed, 37 insertions(+), 47 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEnsureHouseDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEnsureHouseDTO.java index 0868f00f51..1f53e4206a 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEnsureHouseDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEnsureHouseDTO.java @@ -61,7 +61,7 @@ public class IcEnsureHouseDTO implements Serializable { /** * 发证日期 */ - private Date fzrq; + private String fzrq; /** * 补贴编号 diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcPartyMemberDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcPartyMemberDTO.java index 7dd3198144..c5df27c097 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcPartyMemberDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcPartyMemberDTO.java @@ -17,9 +17,10 @@ package com.epmet.dto; +import lombok.Data; + import java.io.Serializable; import java.util.Date; -import lombok.Data; /** @@ -51,12 +52,12 @@ public class IcPartyMemberDTO implements Serializable { /** * 入党时间 */ - private Date rdsj; + private String rdsj; /** * 转正时间 */ - private Date zzsj; + private String zzsj; /** * 所属支部 diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java index 12990d491f..62fa0e45cf 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java @@ -301,7 +301,7 @@ public class IcResiUserDTO implements Serializable { /** * 患大病时间 */ - private Date dbsj; + private String dbsj; /** * 所患慢性病 @@ -311,7 +311,7 @@ public class IcResiUserDTO implements Serializable { /** * 患慢性病时间 */ - private Date mxbsj; + private String mxbsj; /** * 是否参保 @@ -331,7 +331,7 @@ public class IcResiUserDTO implements Serializable { /** * 救助时间[yyyy-MM-dd] */ - private Date jzsj; + private String jzsj; /** * 享受救助明细序号 @@ -356,7 +356,7 @@ public class IcResiUserDTO implements Serializable { /** * 离退休时间 */ - private Date ltxsj; + private String ltxsj; /** * 工作信息备注 diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUnemployedDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUnemployedDTO.java index 930d40c706..85a3e63feb 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUnemployedDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUnemployedDTO.java @@ -61,7 +61,7 @@ public class IcUnemployedDTO implements Serializable { /** * 失业时间 */ - private Date sysj; + private String sysj; /** * 失业证号 diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVeteransDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVeteransDTO.java index 9a0c6399aa..351b60a933 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVeteransDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVeteransDTO.java @@ -17,9 +17,10 @@ package com.epmet.dto; +import lombok.Data; + import java.io.Serializable; import java.util.Date; -import lombok.Data; /** @@ -51,12 +52,12 @@ public class IcVeteransDTO implements Serializable { /** * 入伍时间 */ - private Date rwsj; + private String rwsj; /** * 退伍时间 */ - private Date twsj; + private String twsj; /** * 服役单位 @@ -81,7 +82,7 @@ public class IcVeteransDTO implements Serializable { /** * 参战时间【年月日区间值yyyy-MM-dd~yyyy-MM-dd】 */ - private Date czsj; + private String czsj; /** * 现就业情况 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcEnsureHouseEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcEnsureHouseEntity.java index 917382ceb9..be467bddb5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcEnsureHouseEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcEnsureHouseEntity.java @@ -18,13 +18,10 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 保障房 * @@ -61,7 +58,7 @@ public class IcEnsureHouseEntity extends BaseEpmetEntity { /** * 发证日期 */ - private Date fzrq; + private String fzrq; /** * 补贴编号 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcPartyMemberEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcPartyMemberEntity.java index 90b543dd6e..10add799d0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcPartyMemberEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcPartyMemberEntity.java @@ -18,13 +18,10 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 党员 * @@ -51,12 +48,12 @@ public class IcPartyMemberEntity extends BaseEpmetEntity { /** * 入党时间 */ - private Date rdsj; + private String rdsj; /** * 转正时间 */ - private Date zzsj; + private String zzsj; /** * 所属支部 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java index 6f9f7d4068..f647871525 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java @@ -18,13 +18,10 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 用户基础信息 * @@ -301,7 +298,7 @@ public class IcResiUserEntity extends BaseEpmetEntity { /** * 患大病时间 */ - private Date dbsj; + private String dbsj; /** * 所患慢性病 @@ -311,7 +308,7 @@ public class IcResiUserEntity extends BaseEpmetEntity { /** * 患慢性病时间 */ - private Date mxbsj; + private String mxbsj; /** * 是否参保 @@ -331,7 +328,7 @@ public class IcResiUserEntity extends BaseEpmetEntity { /** * 救助时间[yyyy-MM-dd] */ - private Date jzsj; + private String jzsj; /** * 享受救助明细序号 @@ -356,7 +353,7 @@ public class IcResiUserEntity extends BaseEpmetEntity { /** * 离退休时间 */ - private Date ltxsj; + private String ltxsj; /** * 工作信息备注 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUnemployedEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUnemployedEntity.java index c81f359e09..9e00e6527f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUnemployedEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUnemployedEntity.java @@ -61,7 +61,7 @@ public class IcUnemployedEntity extends BaseEpmetEntity { /** * 失业时间 */ - private Date sysj; + private String sysj; /** * 失业证号 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVeteransEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVeteransEntity.java index 68720a6be5..076d6f33fe 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVeteransEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVeteransEntity.java @@ -18,13 +18,10 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 退役军人 * @@ -51,12 +48,12 @@ public class IcVeteransEntity extends BaseEpmetEntity { /** * 入伍时间 */ - private Date rwsj; + private String rwsj; /** * 退伍时间 */ - private Date twsj; + private String twsj; /** * 服役单位 @@ -81,7 +78,7 @@ public class IcVeteransEntity extends BaseEpmetEntity { /** * 参战时间【年月日区间值yyyy-MM-dd~yyyy-MM-dd】 */ - private Date czsj; + private String czsj; /** * 现就业情况 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcEnsureHouseExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcEnsureHouseExcel.java index ea5f69f3d3..dd7995d714 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcEnsureHouseExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcEnsureHouseExcel.java @@ -47,7 +47,7 @@ public class IcEnsureHouseExcel { private String bzlx; @Excel(name = "发证日期") - private Date fzrq; + private String fzrq; @Excel(name = "补贴编号") private String btbh; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcPartyMemberExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcPartyMemberExcel.java index 71e3ed92a9..5374d00284 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcPartyMemberExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcPartyMemberExcel.java @@ -41,10 +41,10 @@ public class IcPartyMemberExcel { private String icResiUser; @Excel(name = "入党时间") - private Date rdsj; + private String rdsj; @Excel(name = "转正时间") - private Date zzsj; + private String zzsj; @Excel(name = "所属支部") private String sszb; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiUserExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiUserExcel.java index a3abac4d57..217223a4bb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiUserExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiUserExcel.java @@ -188,13 +188,13 @@ public class IcResiUserExcel { private String shdb; @Excel(name = "患大病时间") - private Date dbsj; + private String dbsj; @Excel(name = "所患慢性病") private String shmxb; @Excel(name = "患慢性病时间") - private Date mxbsj; + private String mxbsj; @Excel(name = "是否参保") private String isCb; @@ -206,7 +206,7 @@ public class IcResiUserExcel { private String jzje; @Excel(name = "救助时间[yyyy-MM-dd]") - private Date jzsj; + private String jzsj; @Excel(name = "享受救助明细序号") private String jzmxxh; @@ -221,7 +221,7 @@ public class IcResiUserExcel { private String zy; @Excel(name = "离退休时间") - private Date ltxsj; + private String ltxsj; @Excel(name = "工作信息备注") private String workRemake; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcUnemployedExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcUnemployedExcel.java index 9c1b4d7e00..91556105d9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcUnemployedExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcUnemployedExcel.java @@ -47,7 +47,7 @@ public class IcUnemployedExcel { private String syrylb; @Excel(name = "失业时间") - private Date sysj; + private String sysj; @Excel(name = "失业证号") private String syzh; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcVeteransExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcVeteransExcel.java index 8a290d5b3e..3109a7fa4d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcVeteransExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcVeteransExcel.java @@ -41,10 +41,10 @@ public class IcVeteransExcel { private String icResiUser; @Excel(name = "入伍时间") - private Date rwsj; + private String rwsj; @Excel(name = "退伍时间") - private Date twsj; + private String twsj; @Excel(name = "服役单位") private String fydw; @@ -59,7 +59,7 @@ public class IcVeteransExcel { private String pxzk; @Excel(name = "参战时间【年月日区间值yyyy-MM-dd~yyyy-MM-dd】") - private Date czsj; + private String czsj; @Excel(name = "现就业情况") private String xjyqk; From 00a495a73ba328dce5b6bb231bd0add66cddac45 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 9 Nov 2021 16:17:04 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E6=8A=A5=E9=94=99=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/read/CustomStringStringConverter.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/test/java/com/epmet/stats/test/read/CustomStringStringConverter.java b/epmet-module/data-statistical/data-statistical-server/src/test/java/com/epmet/stats/test/read/CustomStringStringConverter.java index 584e563a77..8f17f53f13 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/test/java/com/epmet/stats/test/read/CustomStringStringConverter.java +++ b/epmet-module/data-statistical/data-statistical-server/src/test/java/com/epmet/stats/test/read/CustomStringStringConverter.java @@ -2,8 +2,9 @@ package com.epmet.stats.test.read; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.enums.CellDataTypeEnum; -import com.alibaba.excel.metadata.CellData; import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; import com.alibaba.excel.metadata.property.ExcelContentProperty; /** @@ -13,7 +14,7 @@ import com.alibaba.excel.metadata.property.ExcelContentProperty; */ public class CustomStringStringConverter implements Converter { @Override - public Class supportJavaTypeKey() { + public Class supportJavaTypeKey() { return String.class; } @@ -34,8 +35,8 @@ public class CustomStringStringConverter implements Converter { * @return */ @Override - public String convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, - GlobalConfiguration globalConfiguration) { + public String convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, + GlobalConfiguration globalConfiguration) { return "自定义:" + cellData.getStringValue(); } @@ -51,9 +52,9 @@ public class CustomStringStringConverter implements Converter { * @return */ @Override - public CellData convertToExcelData(String value, ExcelContentProperty contentProperty, - GlobalConfiguration globalConfiguration) { - return new CellData(value); + public WriteCellData convertToExcelData(String value, ExcelContentProperty contentProperty, + GlobalConfiguration globalConfiguration) { + return new WriteCellData<>(value); } } From 6dd3f8979380367d822ed9e239764405cfe2fff6 Mon Sep 17 00:00:00 2001 From: lzh Date: Tue, 9 Nov 2021 16:20:07 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E7=9A=84=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/excel/building_template.xlsx | Bin 12353 -> 12352 bytes .../main/resources/excel/house_template.xlsx | Bin 11451 -> 11401 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/building_template.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/building_template.xlsx index 7950169c04a51b0d75d1b1c4d06aabb044c941b6..cffd4abd6996b7481af66336670bc5dd44629a6a 100644 GIT binary patch delta 2886 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 delta 2903 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 delta 2906 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 klH;$4O!t2c@u&q+B?v1&ibw1w_z-nROpw%4 Date: Tue, 9 Nov 2021 16:27:17 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E7=89=A9=E4=B8=9A=E5=B9=B3=E5=8F=B0?= =?UTF-8?q?=E5=86=85=E5=94=AF=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/IcPropertyManagementFormDTO.java | 18 ++++++++++-------- .../PropertyManagementController.java | 6 ++---- .../com/epmet/dao/IcPropertyManagementDao.java | 3 ++- .../impl/PropertyManagementServiceImpl.java | 7 +++++++ .../mapper/IcPropertyManagementDao.xml | 10 +++++++++- 5 files changed, 30 insertions(+), 14 deletions(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPropertyManagementFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPropertyManagementFormDTO.java index cd05a2a13d..63ea329d22 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPropertyManagementFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPropertyManagementFormDTO.java @@ -17,9 +17,7 @@ package com.epmet.dto.form; -import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import lombok.Data; import org.hibernate.validator.constraints.Length; @@ -35,17 +33,21 @@ public class IcPropertyManagementFormDTO implements Serializable { public interface DeleteGroup extends CustomerClientShowGroup { } - @NotBlank(message = "物业id不能为空", groups = { UpdateGroup.class,DeleteGroup.class}) - private String id; + public interface AddShowGroup extends CustomerClientShowGroup { + } + + public interface UpdateShowGroup extends CustomerClientShowGroup { + } + @NotBlank(message = "物业id不能为空", groups = {DeleteGroup.class, UpdateShowGroup.class}) + private String id; /** * 物业名称 */ - @NotBlank(message = "物业名称不能为空", groups = {AddGroup.class, UpdateGroup.class}) - @Length(max=50,message = "物业名称不能超过50个字", groups = {AddGroup.class, UpdateGroup.class}) - private String name; - + @NotBlank(message = "物业名称不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class}) + @Length(max = 50, message = "物业名称不能超过50个字", groups = {AddShowGroup.class}) + private String name; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java index d97e1300e1..6a38dd3e39 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java @@ -21,8 +21,6 @@ import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.form.IcPropertyManagementFormDTO; import com.epmet.dto.result.IcPropertyManagementResultDTO; import com.epmet.service.IcPropertyManagementService; @@ -64,7 +62,7 @@ public class PropertyManagementController { @PostMapping("add") public Result add(@LoginUser TokenDto tokenDTO, @RequestBody IcPropertyManagementFormDTO formDTO){ //效验数据 - ValidatorUtils.validateEntity(formDTO, AddGroup.class); + ValidatorUtils.validateEntity(formDTO, IcPropertyManagementFormDTO.AddShowGroup.class); Map map=new HashMap<>(); map.put("propertyId",propertyManagementService.add(formDTO)); return new Result().ok(map); @@ -75,7 +73,7 @@ public class PropertyManagementController { @PostMapping("update") public Result update(@LoginUser TokenDto tokenDTO, @RequestBody IcPropertyManagementFormDTO formDTO){ //效验数据 - ValidatorUtils.validateEntity(formDTO, UpdateGroup.class); + ValidatorUtils.validateEntity(formDTO, IcPropertyManagementFormDTO.UpdateShowGroup.class); propertyManagementService.update(formDTO); return new Result(); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPropertyManagementDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPropertyManagementDao.java index 545bb0c601..b79a5cc3e6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPropertyManagementDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPropertyManagementDao.java @@ -29,5 +29,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IcPropertyManagementDao extends BaseDao { - + + IcPropertyManagementEntity selectByName(String name); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java index 258a48bd65..bfc46dd0b6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java @@ -44,6 +44,13 @@ public class PropertyManagementServiceImpl implements PropertyManagementService @Override @Transactional(rollbackFor = Exception.class) public String add(IcPropertyManagementFormDTO formDTO) { + //物业名字平台内唯一 + //如果输入的物业名字已经存在,直接返回物业id + formDTO.setName(formDTO.getName().trim()); + IcPropertyManagementEntity entity = icPropertyManagementDao.selectByName(formDTO.getName()); + if (null != entity) { + return entity.getId(); + } IcPropertyManagementEntity icPropertyManagementEntity = ConvertUtils.sourceToTarget(formDTO, IcPropertyManagementEntity.class); icPropertyManagementDao.insert(icPropertyManagementEntity); return icPropertyManagementEntity.getId(); diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml index b1b707f456..725fdf969f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml @@ -14,5 +14,13 @@ - + \ No newline at end of file From c1ede5dc7feb8ddc708a18daa9ce3c6e03fb2864 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 9 Nov 2021 16:29:11 +0800 Subject: [PATCH 09/11] @NoRepeatSubmit --- .../src/main/java/com/epmet/controller/BuildingController.java | 2 ++ .../src/main/java/com/epmet/controller/HouseController.java | 3 +++ .../main/java/com/epmet/controller/NeighborHoodController.java | 3 +++ 3 files changed, 8 insertions(+) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java index f3edc781e1..198c398843 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java @@ -86,6 +86,7 @@ public class BuildingController { } + @NoRepeatSubmit @PostMapping("buildingadd") public Result buildingAdd(@LoginUser TokenDto tokenDTO, @RequestBody IcBulidingFormDTO formDTO){ //效验数据 @@ -97,6 +98,7 @@ public class BuildingController { return new Result().ok("保存成功"); } + @NoRepeatSubmit @PostMapping("buildingupdate") public Result buildingUpdate(@LoginUser TokenDto tokenDTO, @RequestBody IcBulidingFormDTO formDTO){ //效验数据 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 12295301a1..167c7adce3 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 @@ -20,6 +20,7 @@ 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.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -71,6 +72,7 @@ public class HouseController { } + @NoRepeatSubmit @PostMapping("houseadd") public Result houseAdd(@LoginUser TokenDto tokenDTO, @RequestBody IcHouseFormDTO formDTO){ //效验数据 @@ -82,6 +84,7 @@ public class HouseController { return new Result(); } + @NoRepeatSubmit @PostMapping("houseupdate") public Result houseUpdate(@LoginUser TokenDto tokenDTO, @RequestBody IcHouseFormDTO formDTO){ //效验数据 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java index 6bbab45e12..8442207f1a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java @@ -21,6 +21,7 @@ import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -84,6 +85,7 @@ public class NeighborHoodController { } + @NoRepeatSubmit @PostMapping("neighborhoodadd") public Result neighborhoodadd(@LoginUser TokenDto tokenDTO, @RequestBody IcNeighborHoodFormDTO formDTO){ //效验数据 @@ -95,6 +97,7 @@ public class NeighborHoodController { return new Result(); } + @NoRepeatSubmit @PostMapping("neighborhoodupdate") public Result neighborhoodupdate(@LoginUser TokenDto tokenDTO, @RequestBody IcNeighborHoodFormDTO formDTO){ //效验数据 From 1a8dbdc52f19bd4409a78f84d3a8a0ed6b844b5b Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 9 Nov 2021 16:49:49 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E6=B7=BB=E5=8A=A0xlsx=E6=A8=A1=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/BuildingController.java | 6 +++--- .../epmet/controller/IcResiUserController.java | 5 +++-- .../main/resources/excel/ic_resi_info_cid.xlsx | Bin 0 -> 38996 bytes .../excel/ic_resi_info_cid_for_easy_excel.xlsx | Bin 0 -> 39499 bytes 4 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid.xlsx create mode 100644 epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xlsx diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java index 198c398843..5f7533dfaa 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java @@ -22,10 +22,10 @@ import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dao.IcBuildingUnitDao; import com.epmet.dto.BuildingTreeLevelDTO; import com.epmet.dto.form.IcBulidingFormDTO; @@ -63,7 +63,7 @@ import java.util.Map; @RestController @RequestMapping("building") public class BuildingController { - + @Autowired private NeighborHoodService neighborHoodService; @@ -224,4 +224,4 @@ public class BuildingController { } -} \ No newline at end of file +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 044e03f476..d70a7e1ef5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -223,7 +223,7 @@ public class IcResiUserController { Map> resiMainList = icResiUserService.getDataForExport(otherSheetItems.get(BASE_TABLE_NAME),new HashMap<>(), pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), BASE_TABLE_NAME, pageFormDTO.getConditions()); //resiMainList = (List>)JSON.parse("[{\"IS_BDHJ\":\"1\",\"IS_SPECIAL\":\"1\",\"IS_XFRY\":\"0\",\"REMARKS\":\"beizhu\",\"IS_PARTY\":\"1\",\"icResiUserId\":\"yzmtest2\",\"HOME_ID\":\"中海国际社区一里城1号楼1单元101\",\"HOUSE_TYPE\":\"平房\",\"UNIT_NAME\":\"1单元\",\"GRID_ID\":\"市北区-市北区第三网格3\",\"IS_DB\":\"0\",\"GENDER\":\"男\",\"BIRTHDAY\":\"2021-10-04\",\"IS_VETERANS\":\"0\",\"IS_MB\":\"0\",\"IS_UNEMPLOYED\":\"0\",\"DEMAND_NAME\":null,\"IS_KC\":\"0\",\"IS_ENSURE_HOUSE\":\"0\",\"IS_SD\":\"0\",\"NAME\":\"尹作梅\",\"RDSJ\":null,\"IS_VOLUNTEER\":\"1\",\"GRID_ID_VALUE\":\"e74829ffc43d5470eba6b5e060c11e63\",\"IS_SZ\":\"0\",\"IS_CJ\":\"0\",\"HOME_ID_VALUE\":\"200\",\"DEMAND_CATEGORY_IDS\":null,\"VILLAGE_NAME\":\"中海国际社区一里城\",\"IS_DBH\":\"0\",\"IS_SN\":\"0\",\"BUILD_NAME\":\"1号楼\",\"IS_YLFN\":\"0\",\"IS_UNITED_FRONT\":\"0\",\"ID_CARD\":\"371325199310260529\",\"MOBILE\":\"15764229697\",\"IS_OLD_PEOPLE\":\"0\",\"DOOR_NAME\":\"101\"},{\"IS_SPECIAL\":\"1\",\"IS_XFRY\":\"0\",\"REMARKS\":\"beizhu\",\"IS_PARTY\":\"1\",\"icResiUserId\":\"yzmtest\",\"HOME_ID\":\"中海国际社区一里城1号楼1单元101\",\"HOUSE_TYPE\":\"平房\",\"UNIT_NAME\":\"1单元\",\"GRID_ID\":\"市北区-市北区第三网格3\",\"IS_DB\":\"0\",\"GENDER\":\"男\",\"BIRTHDAY\":\"2021-10-04\",\"IS_VETERANS\":\"0\",\"IS_MB\":\"0\",\"IS_UNEMPLOYED\":\"0\",\"DEMAND_NAME\":\"心理咨询\",\"IS_KC\":\"0\",\"IS_ENSURE_HOUSE\":\"0\",\"IS_SD\":\"0\",\"NAME\":\"尹作梅\",\"RDSJ\":\"2021-10-28 00:00:00\",\"IS_VOLUNTEER\":\"1\",\"GRID_ID_VALUE\":\"e74829ffc43d5470eba6b5e060c11e63\",\"IS_SZ\":\"0\",\"IS_CJ\":\"0\",\"HOME_ID_VALUE\":\"200\",\"DEMAND_CATEGORY_IDS\":\"10180002\",\"VILLAGE_NAME\":\"中海国际社区一里城\",\"IS_DBH\":\"0\",\"IS_SN\":\"0\",\"BUILD_NAME\":\"1号楼\",\"IS_YLFN\":\"0\",\"IS_UNITED_FRONT\":\"0\",\"ID_CARD\":\"371325199310260529\",\"MOBILE\":\"15764229697\",\"IS_OLD_PEOPLE\":\"0\",\"DOOR_NAME\":\"101\"}]"); log.info("resiMainList:{}", JSON.toJSONString(resiMainList)); - String templatePath = "excel/ic_resi_info_cid.xls"; + String templatePath = "excel/ic_resi_info_cid.xlsx"; TemplateExportParams params = new TemplateExportParams(templatePath, true); Map> sheetMap = new HashMap<>(); @@ -251,8 +251,9 @@ public class IcResiUserController { Workbook workbook = ExcelExportUtil.exportExcel(sheetMap, params); workbook.setActiveSheet(0); - String fileName = "居民基本信息.xls"; + String fileName = "居民基本信息.xlsx"; response.setHeader("content-Type", "application/vnd.ms-excel"); + response.setCharacterEncoding("UTF-8"); response.addHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(fileName, "UTF-8")); workbook.write(response.getOutputStream()); } diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..436e337990332d882b6fa3b59ec5ad28a0394e10 GIT binary patch literal 38996 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 literal 0 HcmV?d00001 From 7c99b0c363a5ea3f6016d243155d044d9c3d9f01 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 9 Nov 2021 16:55:19 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=88=BF=E5=B1=8Bexcel?= =?UTF-8?q?,=E5=8D=95=E5=85=83=E5=8F=B7=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/HouseServiceImpl.java | 8 +++----- .../src/main/resources/mapper/IcHouseDao.xml | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) 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 b1930df4b4..d7fa97e9ed 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 @@ -17,9 +17,7 @@ import com.epmet.dto.form.IcHouseFormDTO; import com.epmet.dto.form.ListIcNeighborHoodFormDTO; import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.IcNeighborHoodResultDTO; -import com.epmet.entity.IcBuildingEntity; import com.epmet.entity.IcHouseEntity; -import com.epmet.entity.IcNeighborHoodEntity; import com.epmet.enums.HousePurposeEnums; import com.epmet.enums.HouseRentFlagEnums; import com.epmet.enums.HouseTypeEnums; @@ -202,9 +200,9 @@ public class HouseServiceImpl implements HouseService { } private List searchAllHouse(ListIcNeighborHoodFormDTO formDTO) { - IcNeighborHoodEntity neighbor = ConvertUtils.sourceToTarget(formDTO, IcNeighborHoodEntity.class); - - IcBuildingEntity building = ConvertUtils.sourceToTarget(formDTO, IcBuildingEntity.class); + //IcNeighborHoodEntity neighbor = ConvertUtils.sourceToTarget(formDTO, IcNeighborHoodEntity.class); + // + //IcBuildingEntity building = ConvertUtils.sourceToTarget(formDTO, IcBuildingEntity.class); IcHouseEntity house = ConvertUtils.sourceToTarget(formDTO, IcHouseEntity.class); 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 0857166540..61aa971630 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 @@ -157,7 +157,7 @@ a.OWNER_ID_CARD as ownerIdCard, b.BUILDING_NAME as buildingName, c.NEIGHBOR_HOOD_NAME as neighborHoodName, - d.UNIT_NUM as unitName + d.UNIT_NUM as buildingUnit from ic_house a INNER JOIN ic_building b on a.BUILDING_ID = b.ID and b.DEL_FLAG = '0' INNER JOIN ic_neighbor_hood c on a.NEIGHBOR_HOOD_ID = c.ID and c.DEL_FLAG = '0'