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/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); } } 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/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-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-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-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/java/com/epmet/controller/BuildingController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java index 763abf8efc..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,11 +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.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dao.IcBuildingUnitDao; import com.epmet.dto.BuildingTreeLevelDTO; import com.epmet.dto.form.IcBulidingFormDTO; @@ -64,7 +63,7 @@ import java.util.Map; @RestController @RequestMapping("building") public class BuildingController { - + @Autowired private NeighborHoodService neighborHoodService; @@ -87,10 +86,11 @@ public class BuildingController { } + @NoRepeatSubmit @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"; @@ -98,10 +98,11 @@ public class BuildingController { return new Result().ok("保存成功"); } + @NoRepeatSubmit @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); @@ -223,4 +224,4 @@ public class BuildingController { } -} \ No newline at end of file +} 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..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,11 +20,10 @@ 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; -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; @@ -73,10 +72,11 @@ public class HouseController { } + @NoRepeatSubmit @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"; @@ -84,10 +84,11 @@ public class HouseController { return new Result(); } + @NoRepeatSubmit @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); 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..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,11 +21,10 @@ 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; -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; @@ -86,10 +85,11 @@ public class NeighborHoodController { } + @NoRepeatSubmit @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"; @@ -97,10 +97,11 @@ public class NeighborHoodController { return new Result(); } + @NoRepeatSubmit @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); 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/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/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); } 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/excel/building_template.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/building_template.xlsx index 7950169c04..cffd4abd69 100644 Binary files a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/building_template.xlsx and b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/building_template.xlsx differ 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 26ced342a1..54d298cd18 100644 Binary files a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_template.xlsx and b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_template.xlsx differ 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..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' @@ -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-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 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/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..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 @@ -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; @@ -215,12 +223,13 @@ 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<>(); 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); } } @@ -241,12 +251,159 @@ 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()); } + @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/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; 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 BaseServiceImpl