diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcBuildingDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcBuildingDTO.java index 4d9aa11d17..2bb91a53ec 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcBuildingDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcBuildingDTO.java @@ -85,6 +85,16 @@ public class IcBuildingDTO implements Serializable { */ private Integer totalHouseNum; + /** + * 楼长姓名 + */ + private String buildingLeaderName; + + /** + * 楼长电话 + */ + private String buildingLeaderMobile; + /** * 中心点位:经度 */ diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java index 2bec463b9b..755d3ff086 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java @@ -17,9 +17,10 @@ package com.epmet.dto; +import lombok.Data; + import java.io.Serializable; import java.util.Date; -import lombok.Data; /** @@ -57,12 +58,12 @@ public class IcHouseDTO implements Serializable { * 所属楼栋id */ private String buildingId; - + private String buildingName; /** * 所属单元id */ private String buildingUnitId; - + private String unitName; /** * 房屋名字后台插入时生成 */ @@ -77,17 +78,17 @@ public class IcHouseDTO implements Serializable { * 房屋类型,这里存储字典value就可以 */ private String houseType; - + private String houseTypeName; /** * 存储字典value */ private String purpose; - + private String purposeName; /** * 1出租;0未出租 */ private Integer rentFlag; - + private String rentName; /** * 房主姓名 */ diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java index c18766b89e..583a76ee91 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java @@ -45,6 +45,16 @@ public class ImportGeneralDTO implements Serializable { private String buildingName; private String buildingId; + /** + * 楼长姓名 + */ + private String buildingLeaderName; + + /** + * 楼长电话 + */ + private String buildingLeaderMobile; + /** * 房屋类型 */ @@ -152,4 +162,9 @@ public class ImportGeneralDTO implements Serializable { * 小区重复状态 */ private Boolean neighborHoodExistStatus = false; + + /** + * 排序 + */ + private Integer sort; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseChartFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseChartFormDTO.java new file mode 100644 index 0000000000..6d3d8f433a --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseChartFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author sun + * @dscription 【人房】房屋总数饼图-接口入参 + */ +@Data +public class HouseChartFormDTO implements Serializable { + + private static final long serialVersionUID = 405799151478155056L; + + /** + * 组织、网格、小区Id + */ + private String orgId; + /** + * 组织、网格、小区类型 agency grid village + */ + private String orgType; + + //token这信息 + private String customerId; + private String userId; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingAddFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingAddFormDTO.java index e476297ec6..0039390e15 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingAddFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingAddFormDTO.java @@ -123,6 +123,16 @@ public class IcBulidingAddFormDTO implements Serializable { private String latitude; + /** + * 楼长姓名 + */ + private String buildingLeaderName; + + /** + * 楼长电话 + */ + private String buildingLeaderMobile; + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChartResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChartResultDTO.java new file mode 100644 index 0000000000..b412f00b07 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChartResultDTO.java @@ -0,0 +1,50 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author sun + * @dscription 【人房】房屋总数饼图-接口返参 + */ +@Data +public class HouseChartResultDTO implements Serializable { + /** + * 组织、网格、小区Id + */ + private String orgId; + /** + * 组织、网格、小区类型 agency grid village + */ + private String orgType; + /** + * 房屋总数 + */ + private Integer houseTotal; + /** + * 房屋自住总数 + */ + private Integer zzHouseTotal; + /** + * 房屋自住总数占比(保留两位小数,带百分号的) + */ + private String zzHouseRatio; + /** + * 房屋常住总数 + */ + private Integer czHouseTotal; + /** + * 房屋常住总数占比(保留两位小数,带百分号的) + */ + private String czHouseRatio; + /** + * 房屋闲置总数 + */ + private Integer xzHouseTotal; + /** + * 房屋闲置总数占比(保留两位小数,带百分号的) + */ + private String xzHouseRatio; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseListResultDTO.java index a63f415e94..c3ae6f07e1 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseListResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseListResultDTO.java @@ -18,6 +18,7 @@ public class HouseListResultDTO implements Serializable { private static final long serialVersionUID = 2063032844842070847L; private String houseId; private String houseName; + private String rentFlag; private List categoryList; @NoArgsConstructor diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcBuildingListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcBuildingListResultDTO.java index c33d50956a..550938c23e 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcBuildingListResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcBuildingListResultDTO.java @@ -41,4 +41,14 @@ public class IcBuildingListResultDTO extends PageFormDTO { private Integer totalUnitNum; private String longitude; private String buildingType; + + /** + * 楼长姓名 + */ + private String buildingLeaderName; + + /** + * 楼长电话 + */ + private String buildingLeaderMobile; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java new file mode 100644 index 0000000000..c2771bb8f9 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java @@ -0,0 +1,74 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author sun + * @dscription 【人房】下级人房概览列表-接口返参 + */ +@Data +public class SubUserHouseListResultDTO implements Serializable { + /** + * 组织、网格、小区Id + */ + private String orgId; + /** + * 组织、网格、小区名称 + */ + private String orgName; + /** + * 组织、网格、小区类型 agency grid village + */ + private String orgType; + /** + * 房屋总数 + */ + private Integer houseTotal; + /** + * 房屋自住总数 + */ + private Integer zzHouseTotal; + /** + * 房屋自住总数占比(保留两位小数,带百分号的) + */ + private String zzHouseRatio; + /** + * 房屋常住总数 + */ + private Integer czHouseTotal; + /** + * 房屋常住总数占比(保留两位小数,带百分号的) + */ + private String czHouseRatio; + /** + * 房屋闲置总数 + */ + private Integer xzHouseTotal; + /** + * 房屋闲置总数占比(保留两位小数,带百分号的) + */ + private String xzHouseRatio; + /** + * 居民总数 + */ + private Integer userTotal; + /** + * 常住人口总数 + */ + private Integer czUserTotal; + /** + * 常住人口占比(保留两位小数,带百分号的) + */ + private String czUserRatio; + /** + * 流动人口总数 + */ + private Integer ldUserTotal; + /** + * 流动人口占比(保留两位小数,带百分号的) + */ + private String ldUserRatio; + +} 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 80bf38f375..9185571640 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 @@ -96,7 +96,6 @@ public class BuildingController { //效验数据 ValidatorUtils.validateEntity(formDTO, IcBulidingAddFormDTO.UpdateShowGroup.class); String customerId = tokenDTO.getCustomerId(); -// String customerId = "123123"; buildingService.updateBuilding(customerId,formDTO); return new Result().ok("修改成功"); } 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 69e3f620f8..6694c56ebd 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 @@ -32,10 +32,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.form.*; -import com.epmet.dto.result.HouseInfoDTO; -import com.epmet.dto.result.IcHouseListResultDTO; -import com.epmet.dto.result.ImportTaskCommonResultDTO; -import com.epmet.dto.result.LoginUserDetailsResultDTO; +import com.epmet.dto.result.*; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.service.HouseService; @@ -48,7 +45,10 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; /** @@ -250,4 +250,29 @@ public class HouseController implements ResultDataResolver { } return new Result().ok(houseService.getHouseInfoDTO(tokenDto.getCustomerId(), houseId)); } + + /** + * @Author sun + * @Description 【人房】房屋总数饼图 + **/ + @NoRepeatSubmit + @PostMapping("housechart") + public Result houseChart(@LoginUser TokenDto tokenDto, @RequestBody HouseChartFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + return new Result().ok(houseService.houseChart(formDTO)); + } + + /** + * @Author sun + * @Description 【人房】下级人房概览列表 + **/ + @NoRepeatSubmit + @PostMapping("subuserhouselist") + public Result> subUserHouseList(@LoginUser TokenDto tokenDto, @RequestBody HouseChartFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + return new Result>().ok(houseService.subUserHouseList(formDTO)); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingEntity.java index b4d4811caa..98b4d54012 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingEntity.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingEntity.java @@ -80,6 +80,16 @@ public class IcBuildingEntity extends BaseEpmetEntity { */ private Integer totalHouseNum; + /** + * 楼长姓名 + */ + private String buildingLeaderName; + + /** + * 楼长电话 + */ + private String buildingLeaderMobile; + /** * 中心点位:经度 */ diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/BuildingInfoModel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/BuildingInfoModel.java index dac7c09015..81495c3da6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/BuildingInfoModel.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/BuildingInfoModel.java @@ -36,6 +36,12 @@ public class BuildingInfoModel { @ExcelProperty(value = "户数") private Integer totalHouseNum; + @ExcelProperty(value = "楼长姓名") + private String buildingLeaderName; + + @ExcelProperty(value = "楼长电话") + private String buildingLeaderMobile; + @ExcelIgnore private Integer num; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java index 08eb31a9cc..31471fb3ed 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java @@ -34,6 +34,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; import static com.epmet.constant.ImportErrorMsgConstants.*; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java index bc9af52b79..759c95c5fe 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java @@ -19,13 +19,8 @@ package com.epmet.service; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.form.IcHouseAddFormDTO; -import com.epmet.dto.form.IcHouseListFormDTO; -import com.epmet.dto.form.ImportInfoFormDTO; -import com.epmet.dto.form.NeighborHoodManageDelFormDTO; -import com.epmet.dto.result.HouseInfoDTO; -import com.epmet.dto.result.IcHouseListResultDTO; -import com.epmet.dto.result.ImportTaskCommonResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; @@ -68,4 +63,16 @@ public interface HouseService { void allDelete(NeighborHoodManageDelFormDTO formDTO); HouseInfoDTO getHouseInfoDTO(String customerId,String houseId); + + /** + * @Author sun + * @Description 【人房】房屋总数饼图 + **/ + HouseChartResultDTO houseChart(HouseChartFormDTO formDTO); + + /** + * @Author sun + * @Description 【人房】下级人房概览列表 + **/ + List subUserHouseList(HouseChartFormDTO formDTO); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java index 20e1d2d4ef..1a3611f72c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java @@ -426,14 +426,11 @@ public class BuildingServiceImpl implements BuildingService { if (null != count && count > 0) { throw new RenException(EpmetErrorCode.BUILDING_NAME_EXITED.getCode(), EpmetErrorCode.BUILDING_NAME_EXITED.getMsg()); } - IcBuildingDTO icBuilding = icBuildingService.get(formDTO.getBuildingId()); - if (!icBuilding.getNeighborHoodId().equals(formDTO.getNeighborHoodId())) { //更新对应房屋小区id List icHouseEntities = icHouseDao.selectList(new QueryWrapper().lambda().eq(IcHouseEntity::getBuildingId, formDTO.getBuildingId())); if (!CollectionUtils.isEmpty(icHouseEntities)) { - // throw new RenException(EpmetErrorCode.ORG_EDIT_FAILED.getCode(), "楼栋单元下存在房屋,无法更新"); } } 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 bac35ce64c..2d54a6d4c7 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 @@ -27,10 +27,7 @@ import com.epmet.dto.IcBuildingDTO; import com.epmet.dto.IcBuildingUnitDTO; import com.epmet.dto.IcHouseDTO; import com.epmet.dto.form.*; -import com.epmet.dto.result.HouseInfoDTO; -import com.epmet.dto.result.IcHouseListResultDTO; -import com.epmet.dto.result.ImportTaskCommonResultDTO; -import com.epmet.dto.result.NeighborHoodManageDelResultDTO; +import com.epmet.dto.result.*; import com.epmet.enums.HousePurposeEnums; import com.epmet.enums.HouseTypeEnums; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; @@ -344,4 +341,23 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { } return houseInfo; } + + /** + * @Author sun + * @Description 【人房】房屋总数饼图 + **/ + @Override + public HouseChartResultDTO houseChart(HouseChartFormDTO formDTO) { + return null; + } + + /** + * @Author sun + * @Description 【人房】下级人房概览列表 + **/ + @Override + public List subUserHouseList(HouseChartFormDTO formDTO) { + return null; + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 102dbc168f..c2ca4fba8e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; @@ -18,11 +19,17 @@ import com.epmet.dto.IcResiCategoryStatsConfigDTO; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.ImportGeneralDTO; import com.epmet.dto.form.HouseFormDTO; +import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.HouseListResultDTO; import com.epmet.dto.result.HousesNameResultDTO; import com.epmet.entity.IcHouseEntity; +import com.epmet.enums.HousePurposeEnums; +import com.epmet.enums.HouseRentFlagEnums; +import com.epmet.enums.HouseTypeEnums; +import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.OperCustomizeOpenFeignClient; +import com.epmet.redis.IcHouseRedis; import com.epmet.service.IcHouseService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -47,6 +54,10 @@ public class IcHouseServiceImpl extends BaseServiceImpl categories = new ArrayList<>(); if (null != countMap && CollectionUtils.isNotEmpty(categoryList)) { for (IcResiCategoryStatsConfigDTO category : categoryList) { diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java index 8d8e78e5fc..8d94428f70 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java @@ -601,6 +601,8 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl NumConstant.ZERO) { //设置楼宇单元 diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.17__edit_building_and_house.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.17__edit_building_and_house.sql new file mode 100644 index 0000000000..1117c368b7 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.17__edit_building_and_house.sql @@ -0,0 +1,2 @@ +alter table ic_building add COLUMN BUILDING_LEADER_NAME VARCHAR(11) comment '楼长姓名' AFTER TOTAL_HOUSE_NUM; +alter table ic_building add COLUMN BUILDING_LEADER_MOBILE VARCHAR(11) comment '楼长电话' AFTER BUILDING_LEADER_NAME; 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 cffd4abd69..1a9b2d2d25 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 cf5681e1f4..31d9ea9120 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/IcBuildingDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml index 14a71d2e13..59ac9f2b24 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml @@ -82,7 +82,9 @@ a.LONGITUDE as longitude, a.LATITUDE as latitude, a.TYPE as buildingTypeKey, - (SELECT COUNT(1) FROM ic_house WHERE DEL_FLAG = '0' AND BUILDING_ID = a.ID) AS realTotalHouseNum + (SELECT COUNT(1) FROM ic_house WHERE DEL_FLAG = '0' AND BUILDING_ID = a.ID) AS realTotalHouseNum, + a.BUILDING_LEADER_NAME, + a.BUILDING_LEADER_MOBILE from ic_building a LEFT JOIN ic_neighbor_hood b on a.NEIGHBOR_HOOD_ID = b.ID and b.DEL_FLAG='0' left join customer_agency c on b.AGENCY_ID = c.ID and c.DEL_FLAG='0' diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcExportTemplateDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcExportTemplateDTO.java new file mode 100644 index 0000000000..95805207fd --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcExportTemplateDTO.java @@ -0,0 +1,85 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 自定义表单导出模板 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-21 + */ +@Data +public class IcExportTemplateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户id + */ + private String customerId; + + /** + * 表单CODE,从字典获取 + */ + private String formCode; + + /** + * 模板名称 + */ + private String name; + + /** + * 0:动态;1:文件 + */ + private Integer type; + + /** + * 文件地址;http开头或者项目组模板存放相对路径 + */ + private String url; + + /** + * 排序 + */ + private Integer sort; + + /** + * 0未删除,1已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/EditIFormItemFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/EditIFormItemFormDTO.java new file mode 100644 index 0000000000..9e0b100717 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/EditIFormItemFormDTO.java @@ -0,0 +1,39 @@ +package com.epmet.dto.form; + +import com.epmet.dto.result.OptionDTO; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + + +@Data +public class EditIFormItemFormDTO implements Serializable { + /** + * 客户id + * 可空,为空时,修改所有客户符合条件的记录 + */ + private String customerId; + + /** + * ic_form_item.id + */ + private String formItemId; + + /** + * 组件名称对应的是ic_form_item.label + */ + @NotBlank(message = "label不能为空") + private String label; + + /** + * 组件类型 + */ + private String itemType; + + /** + * ic_form_item_options + */ + private List options; +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcExportTemplateController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcExportTemplateController.java new file mode 100644 index 0000000000..64ea75254e --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcExportTemplateController.java @@ -0,0 +1,62 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.IcExportTemplateDTO; +import com.epmet.service.IcExportTemplateService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * 自定义表单导出模板 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-21 + */ +@RestController +@RequestMapping("icExportTemplate") +public class IcExportTemplateController { + + @Autowired + private IcExportTemplateService icExportTemplateService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icExportTemplateService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcExportTemplateDTO data = icExportTemplateService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcExportTemplateDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icExportTemplateService.save(dto); + return new Result(); + } + + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icExportTemplateService.delete(ids); + return new Result(); + } + + +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java index f38a16f323..8eb1a4e549 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java @@ -18,6 +18,8 @@ package com.epmet.controller; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.EditIFormItemFormDTO; import com.epmet.dto.result.ColumnTableNameResultDTO; import com.epmet.dto.result.ResiCategoryItemResultDTO; import com.epmet.service.IcFormItemService; @@ -60,4 +62,20 @@ public class IcFormItemController { return new Result().ok(r); } + + /** + * 修改组件的类型 + * 来源于需求: + * 16、所患大病、所患慢病更改为下拉框选择,慢病类型:高血压、类风湿、心脏病、肝硬化、糖尿病、其他;大病类别:恶性肿瘤、肾功能衰竭、肝硬化或急性肝坏死、脑中风、急性心机梗塞、急性坏死性胰腺炎、器官移植、系统性红斑狼疮、再生障碍性贫血、其他 + * 17、人户状况更改为下拉框选择,类别:人户一致,人在户不在,户在人不在 + * 18、居住情况类别缺少针对夫妻两人居住的类别,增加“其他”分类,类别:与子女同住、空巢、独居、其他 + * @param formDTO + * @return + */ + @PostMapping("edit-item-type") + public Result editItemType(@RequestBody EditIFormItemFormDTO formDTO ){ + ValidatorUtils.validateEntity(formDTO); + icFormItemService.editItemType(formDTO); + return new Result(); + } } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcExportTemplateConfigDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcExportTemplateConfigDao.java new file mode 100644 index 0000000000..baaec72abd --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcExportTemplateConfigDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcExportTemplateConfigEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 自定义表单导出模板配置项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-21 + */ +@Mapper +public interface IcExportTemplateConfigDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcExportTemplateDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcExportTemplateDao.java new file mode 100644 index 0000000000..cfcad2875c --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcExportTemplateDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcExportTemplateEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 自定义表单导出模板 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-21 + */ +@Mapper +public interface IcExportTemplateDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcExportTemplateConfigEntity.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcExportTemplateConfigEntity.java new file mode 100644 index 0000000000..d2f4dffe32 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcExportTemplateConfigEntity.java @@ -0,0 +1,56 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 自定义表单导出模板配置项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-21 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_export_template_config") +public class IcExportTemplateConfigEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 模板主键id + */ + private String tempId; + + /** + * 父id + */ + private String pid; + + /** + * ic_form_item.id + */ + private String formItemId; + + /** + * 表头宽度 + */ + private Integer width; + + /** + * 项标签 + */ + private String label; + + /** + * 排序 + */ + private Integer sort; + +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcExportTemplateEntity.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcExportTemplateEntity.java new file mode 100644 index 0000000000..433f78b4aa --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcExportTemplateEntity.java @@ -0,0 +1,54 @@ +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; + +/** + * 自定义表单导出模板 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-21 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_export_template") +public class IcExportTemplateEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 表单CODE,从字典获取 + */ + private String formCode; + + /** + * 模板名称 + */ + private String name; + + /** + * 0:动态;1:文件 + */ + private Integer type; + + /** + * 文件地址;http开头或者项目组模板存放相对路径 + */ + private String url; + + /** + * 排序 + */ + private Integer sort; + +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcExportTemplateService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcExportTemplateService.java new file mode 100644 index 0000000000..8aeeaea6d2 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcExportTemplateService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcExportTemplateDTO; +import com.epmet.entity.IcExportTemplateEntity; + +import java.util.List; +import java.util.Map; + +/** + * 自定义表单导出模板 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-21 + */ +public interface IcExportTemplateService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-04-21 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-04-21 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcExportTemplateDTO + * @author generator + * @date 2022-04-21 + */ + IcExportTemplateDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-04-21 + */ + void save(IcExportTemplateDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-04-21 + */ + void update(IcExportTemplateDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-04-21 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java index a5cab9bc23..0912092f94 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java @@ -19,6 +19,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.dto.form.CustomerFormQueryDTO; +import com.epmet.dto.form.EditIFormItemFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.IcFormItemEntity; @@ -62,4 +63,16 @@ public interface IcFormItemService extends BaseService { * @return */ List listResiCategoryItems(String customerId); + + /** + * 修改组件的类型 + * 来源于需求: + * 16、所患大病、所患慢病更改为下拉框选择,慢病类型:高血压、类风湿、心脏病、肝硬化、糖尿病、其他;大病类别:恶性肿瘤、肾功能衰竭、肝硬化或急性肝坏死、脑中风、急性心机梗塞、急性坏死性胰腺炎、器官移植、系统性红斑狼疮、再生障碍性贫血、其他 + * 17、人户状况更改为下拉框选择,类别:人户一致,人在户不在,户在人不在 + * 18、居住情况类别缺少针对夫妻两人居住的类别,增加“其他”分类,类别:与子女同住、空巢、独居、其他 + * + * @param formDTO + * @return + */ + void editItemType(EditIFormItemFormDTO formDTO); } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java new file mode 100644 index 0000000000..9e88bda150 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java @@ -0,0 +1,83 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.IcExportTemplateDao; +import com.epmet.dto.IcExportTemplateDTO; +import com.epmet.entity.IcExportTemplateEntity; +import com.epmet.service.IcExportTemplateService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 自定义表单导出模板 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-21 + */ +@Service +public class IcExportTemplateServiceImpl extends BaseServiceImpl implements IcExportTemplateService { + + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcExportTemplateDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcExportTemplateDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcExportTemplateDTO get(String id) { + IcExportTemplateEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcExportTemplateDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcExportTemplateDTO dto) { + IcExportTemplateEntity entity = ConvertUtils.sourceToTarget(dto, IcExportTemplateEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcExportTemplateDTO dto) { + IcExportTemplateEntity entity = ConvertUtils.sourceToTarget(dto, IcExportTemplateEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java index e7afee12c9..9ad0956dc7 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java @@ -18,13 +18,19 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.dao.IcFormItemDao; +import com.epmet.dao.IcFormItemOptionsDao; import com.epmet.dto.form.CustomerFormQueryDTO; +import com.epmet.dto.form.EditIFormItemFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.IcFormItemEntity; import com.epmet.service.IcFormItemService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -39,8 +45,11 @@ import java.util.stream.Collectors; * @author generator generator@elink-cn.com * @since v1.0.0 2021-10-26 */ +@Slf4j @Service public class IcFormItemServiceImpl extends BaseServiceImpl implements IcFormItemService { + @Autowired + private IcFormItemOptionsDao icFormItemOptionsDao; /** * 获取居民信息的查询条件,组件列表 @@ -152,4 +161,43 @@ public class IcFormItemServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper().lambda() + .eq(StringUtils.isNotBlank(formDTO.getCustomerId()),IcFormItemEntity::getCustomerId, formDTO.getCustomerId()) + .eq(StringUtils.isNotBlank(formDTO.getFormItemId()),IcFormItemEntity::getId,formDTO.getFormItemId()) + .eq(IcFormItemEntity::getLabel,formDTO.getLabel()); + List list=baseDao.selectList(queryWrapper); + if(CollectionUtils.isEmpty(list)){ + return; + } + for(IcFormItemEntity entity:list){ + //修改组件类型 + entity.setItemType(formDTO.getItemType()); + baseDao.updateById(entity); + if(!CollectionUtils.isEmpty(formDTO.getOptions())){ + //todo + // 先删除后新增 + /*int sort=1; + for(OptionDTO optionDTO:formDTO.getOptions()){ + IcFormItemOptionsEntity optionsEntity=new IcFormItemOptionsEntity(); + optionsEntity.setCustomerId(); + + }*/ + } + + } + + } } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.21__addcol_item_build.sql b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.21__addcol_item_build.sql new file mode 100644 index 0000000000..94ef459adf --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.21__addcol_item_build.sql @@ -0,0 +1,13 @@ +alter table ic_form_query_builder add COLUMN ITEM_TYPE VARCHAR(32) NOT NULL COMMENT '组件类型' after FORM_CODE; +alter table ic_form_query_builder add COLUMN LABEL VARCHAR(32) NOT NULL COMMENT '项标签' after FORM_ITEM_ID; +alter table ic_form_query_builder add COLUMN FUN_TYPE VARCHAR(32) COMMENT '值转换类型' after QUERY_TYPE; + +update ic_form_query_builder set item_type=( +select i.ITEM_TYPE from ic_form_item i where i.id=FORM_ITEM_ID +and i.CUSTOMER_ID=CUSTOMER_ID +)where DEL_FLAG='0'; + +update ic_form_query_builder set LABEL=( +select i.LABEL from ic_form_item i where i.id=FORM_ITEM_ID +and i.CUSTOMER_ID=CUSTOMER_ID +)where DEL_FLAG='0'; \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateConfigDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateConfigDao.xml new file mode 100644 index 0000000000..7d3e620e9d --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateConfigDao.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateDao.xml new file mode 100644 index 0000000000..f94f6a62bf --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateDao.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml index 4c78e1cc14..e4c82f8b15 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml @@ -100,7 +100,7 @@ temp.LABEL from ( SELECT - ifnull(g.TABLE_NAME,'ic_resi_user') AS table_name, + IF(LENGTH(g.TABLE_NAME)>0,g.TABLE_NAME,'ic_resi_user') AS table_name, #( CASE WHEN M.ITEM_GROUP_ID = '0' THEN 'ic_resi_user' ELSE g.TABLE_NAME END ) AS table_name, m.COLUMN_NAME AS columnName, m.LABEL @@ -127,8 +127,7 @@ ic_form_item_group m WHERE m.DEL_FLAG = '0' - AND m.TABLE_NAME IS NOT NULL - AND m.TABLE_NAME != '' + AND m.TABLE_NAME != 'ic_resi_user' AND m.CUSTOMER_ID = #{customerId} AND m.FORM_CODE = #{formCode} )temp diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StatsResiWarnFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StatsResiWarnFormDTO.java index 174fc429b2..58acc41b0f 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StatsResiWarnFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StatsResiWarnFormDTO.java @@ -22,7 +22,6 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; -import java.util.Date; import java.util.List; @@ -40,7 +39,7 @@ public class StatsResiWarnFormDTO implements Serializable { public interface ListSelectedBuilding {} public interface ListSelectedUser {} - + public interface AllUser {} /** * 当前页 @@ -57,10 +56,11 @@ public class StatsResiWarnFormDTO implements Serializable { @NotBlank(message = "组织id不能为空",groups = {ListSelectedBuilding.class}) private String agencyId; - @NotBlank(message = "配置id不能为空",groups = {ListSelectedUser.class}) + @NotBlank(message = "配置id不能为空",groups = {ListSelectedUser.class, AllUser.class}) private String configId; @NotNull(message = "楼栋不能为空",groups = {ListSelectedUser.class}) private List buildingIdList; - - + @NotBlank(message = "楼栋不能为空",groups = {AllUser.class}) + private String buildingId; + private String customerId; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserChartFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserChartFormDTO.java new file mode 100644 index 0000000000..36ae55e8f7 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserChartFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author sun + * @dscription 【人房】居民总数饼图-接口入参 + */ +@Data +public class UserChartFormDTO implements Serializable { + + private static final long serialVersionUID = 405799151478155056L; + + /** + * 组织、网格、小区Id + */ + private String orgId; + /** + * 组织、网格、小区类型 agency grid village + */ + private String orgType; + + //token这信息 + private String customerId; + private String userId; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcStatsResiWarnUserResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcStatsResiWarnUserResultDTO.java index 63d55d69c0..9e87b11df7 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcStatsResiWarnUserResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcStatsResiWarnUserResultDTO.java @@ -43,6 +43,7 @@ public class IcStatsResiWarnUserResultDTO implements Serializable { private String neighborhoodName; private String buildingName; private String residentNames; + private Integer count; private List userList; } \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/StaffBasicInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/StaffBasicInfoResultDTO.java index 33416972ae..f0766f2b0b 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/StaffBasicInfoResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/StaffBasicInfoResultDTO.java @@ -96,4 +96,9 @@ public class StaffBasicInfoResultDTO implements Serializable { * 地区编码全路径:例如:37,3702,370203,370203005,370203005015 */ private List areaCodePath; + + /** + * 工作人员所属组织的行政地区编码 + */ + private String areaCode; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserChartResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserChartResultDTO.java new file mode 100644 index 0000000000..dd8560b16f --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserChartResultDTO.java @@ -0,0 +1,42 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author sun + * @dscription 【人房】居民总数饼图-接口返参 + */ +@Data +public class UserChartResultDTO implements Serializable { + /** + * 组织、网格、小区Id + */ + private String orgId; + /** + * 组织、网格、小区类型 agency grid village + */ + private String orgType; + /** + * 居民总数 + */ + private Integer userTotal; + /** + * 常住人口总数 + */ + private Integer czUserTotal; + /** + * 常住人口占比(保留两位小数,带百分号的) + */ + private String czUserRatio; + /** + * 流动人口总数 + */ + private Integer ldUserTotal; + /** + * 流动人口占比(保留两位小数,带百分号的) + */ + private String ldUserRatio; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserWarnNameListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserWarnNameListResultDTO.java index f1d6690b46..b4b1e6547e 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserWarnNameListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserWarnNameListResultDTO.java @@ -21,4 +21,13 @@ public class UserWarnNameListResultDTO implements Serializable { private String residentName; private String userId; + + @JsonIgnore + private String unitId; + private String unitName; + @JsonIgnore + private String homeId; + private String doorName; + private String mobile; + private String idCard; } 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 c767f0b645..cf06ccd432 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 @@ -892,4 +892,17 @@ public class IcResiUserController implements ResultDataResolver { }); return new Result(); } + + /** + * @Author sun + * @Description 【人房】居民总数饼图 + **/ + @NoRepeatSubmit + @PostMapping("userchart") + public Result userChart(@LoginUser TokenDto tokenDto, @RequestBody UserChartFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + return new Result().ok(icResiUserService.userChart(formDTO)); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java index 5f7ea56e4a..866e4a9d46 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java @@ -18,6 +18,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -29,6 +30,7 @@ import com.epmet.dto.form.StatsResiWarnFormDTO; import com.epmet.dto.result.IcStatsResiResultDTO; import com.epmet.dto.result.IcStatsResiWarnBuildingResultDTO; import com.epmet.dto.result.IcUserWarnNoticeResultDTO; +import com.epmet.dto.result.UserWarnNameListResultDTO; import com.epmet.service.IcStatsResiWarnService; import com.epmet.service.StatsResiWarnService; import org.springframework.beans.factory.annotation.Autowired; @@ -115,6 +117,13 @@ public class StatsResiWarnController { return new Result().ok(statsResiWarnService.userWarnList(customerId,formDTO.getConfigId(), formDTO.getBuildingIdList(),formDTO.getPageNo(),formDTO.getPageSize())); } + @PostMapping("alluserwarnlist") + public Result> allUserWarnList(@LoginUser TokenDto tokenDto, @RequestBody StatsResiWarnFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, StatsResiWarnFormDTO.AllUser.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + return new Result>().ok(statsResiWarnService.allUserWarnList(formDTO)); + } + /** * 统计所有 * @return diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index 8bcebefd92..1e8e704811 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -244,4 +244,10 @@ public interface IcResiUserService extends BaseService { * @Date 2022/3/29 16:25 */ EpidemicPreventionInfoDTO getEpidemicPreventionInfo(EpidemicPreventionFormDTO formDTO); + + /** + * @Author sun + * @Description 【人房】居民总数饼图 + **/ + HouseChartResultDTO userChart(UserChartFormDTO formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java index babce11f37..33a41f51a5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java @@ -17,11 +17,14 @@ package com.epmet.service; +import com.epmet.commons.tools.page.PageData; import com.epmet.dto.form.IcUserWarnNoticeFormDTO; import com.epmet.dto.form.StatsResiListFormDTO; +import com.epmet.dto.form.StatsResiWarnFormDTO; import com.epmet.dto.result.IcStatsResiResultDTO; import com.epmet.dto.result.IcStatsResiWarnBuildingResultDTO; import com.epmet.dto.result.IcUserWarnNoticeResultDTO; +import com.epmet.dto.result.UserWarnNameListResultDTO; import java.util.List; import java.util.Map; @@ -53,6 +56,8 @@ public interface StatsResiWarnService{ */ Map userWarnList(String customerId, String configId, List buildingIdList, Integer pageNo, Integer pageSize); + PageData allUserWarnList(StatsResiWarnFormDTO formDTO); + List list(String customerId,String id, String level); List list2(StatsResiListFormDTO formDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index 72b43b0506..01283f45c4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -25,6 +25,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.ExceptionUtils; @@ -731,20 +732,21 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl>().ok(listResultDTO); } - @Override - public Result selectStaffBasicInfo(String userId,String customerId) { + @Override + public Result selectStaffBasicInfo(String userId, String customerId) { StaffBasicInfoResultDTO resultDTO = baseDao.selectStaffBasicInfo(userId); - if(null!=resultDTO){ - resultDTO.setRoleList(baseDao.selectStaffRoles(userId,resultDTO.getCustomerId())); + if (null != resultDTO) { + resultDTO.setRoleList(baseDao.selectStaffRoles(userId, resultDTO.getCustomerId())); CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); - if (null != staffInfo){ + if (null != staffInfo) { resultDTO.setAgencyId(staffInfo.getAgencyId()); resultDTO.setAgencyName(staffInfo.getAgencyName()); resultDTO.setLevel(staffInfo.getLevel()); resultDTO.setLongitude(staffInfo.getLongitude()); resultDTO.setLatitude(staffInfo.getLatitude()); - AgencyInfoCache agency= CustomerOrgRedis.getAgencyInfo(staffInfo.getAgencyId()); + AgencyInfoCache agency = CustomerOrgRedis.getAgencyInfo(staffInfo.getAgencyId()); resultDTO.setAreaCodePath(null != agency && !CollectionUtils.isEmpty(agency.getAreaCodePath()) ? agency.getAreaCodePath() : new ArrayList<>()); + resultDTO.setAreaCode(null != agency && StringUtils.isNotBlank(agency.getAreaCode()) ? agency.getAreaCode() : StrConstant.EPMETY_STR); } //获取工作人员所属客户名 CustomerDTO dto = new CustomerDTO(); @@ -757,8 +759,8 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl().ok(resultDTO); - } + return new Result().ok(resultDTO); + } /** * @param formDTO 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 72eadb26c3..51dcd903e9 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 @@ -1600,4 +1600,14 @@ public class IcResiUserServiceImpl extends BaseServiceImpl(list, null == list?NumConstant.ZERO:list.size()); } + + /** + * @Author sun + * @Description 【人房】居民总数饼图 + **/ + @Override + public HouseChartResultDTO userChart(UserChartFormDTO formDTO) { + return null; + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java index 08685568dc..13645f9047 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java @@ -4,7 +4,9 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis; import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; @@ -16,6 +18,7 @@ import com.epmet.dto.IcResiCategoryWarnConfigDTO; import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO; import com.epmet.dto.form.IcUserWarnNoticeFormDTO; import com.epmet.dto.form.StatsResiListFormDTO; +import com.epmet.dto.form.StatsResiWarnFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcStatsResiWarnEntity; @@ -24,12 +27,13 @@ import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.service.IcStatsResiWarnService; import com.epmet.service.StatsResiWarnService; import com.github.pagehelper.PageHelper; +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.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.math.BigDecimal; @@ -173,20 +177,18 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { //根据buildingID,tableName he columnName获取名字 //限制条数 一栋楼内最多显示1000 即可 for (String s : buildingIdList) { - PageHelper.startPage(NumConstant.ONE,NumConstant.ONE_HUNDRED,false).doSelectPage(()->{ - List dtos = icStatsResiWarnDao.userWarnListDTO(customerId, Arrays.asList(s), icResiCategoryWarnConfigDTO.getTableName(), icResiCategoryWarnConfigDTO.getColumnName()); - if (!CollectionUtils.isEmpty(dtos)){ - Map> groupByBuild = dtos.stream().collect(Collectors.groupingBy(UserWarnNameListResultDTO::getBuildingId)); - result.forEach(item->{ - item.setConfigId(configId); - groupByBuild.forEach((k,v) -> { - if (item.getBuildingId().equals(k)){ - item.setUserList(v); - } - }); + List dtos = icStatsResiWarnDao.userWarnListDTO(customerId, Arrays.asList(s), icResiCategoryWarnConfigDTO.getTableName(), icResiCategoryWarnConfigDTO.getColumnName()); + if (!CollectionUtils.isEmpty(dtos)){ + Map> groupByBuild = dtos.stream().collect(Collectors.groupingBy(UserWarnNameListResultDTO::getBuildingId)); + result.forEach(item->{ + item.setConfigId(configId); + groupByBuild.forEach((k,v) -> { + if (item.getBuildingId().equals(k)){ + item.setCount(v.size()); + } }); - } - }); + }); + } } /*PageHelper.startPage(NumConstant.ONE,NumConstant.ONE_THOUSAND,false).doSelectPage(()->{ List dtos = icStatsResiWarnDao.userWarnListDTO(customerId, buildingIdList, icResiCategoryWarnConfigDTO.getTableName(), icResiCategoryWarnConfigDTO.getColumnName()); @@ -205,6 +207,41 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { return mapResult; } + @Override + public PageData allUserWarnList(StatsResiWarnFormDTO formDTO) { + //获取configId预警配置信息 + IcResiCategoryWarnConfigDTO formDto = new IcResiCategoryWarnConfigDTO(); + formDto.setId(formDTO.getConfigId()); + Result warnResult = operCustomizeOpenFeignClient.resiCategoryWarnInfoById(formDto); + if (!warnResult.success() || null == warnResult.getData()) { + throw new RenException("获取预警配置信息失败,configId="+ formDTO.getConfigId()); + } + IcResiCategoryWarnConfigDTO icResiCategoryWarnConfigDTO = warnResult.getData(); + + PageHelper.startPage(formDTO.getPageNo(),formDTO.getPageSize()); + List list = icStatsResiWarnDao.userWarnListDTO(formDTO.getCustomerId(), + Collections.singletonList(formDTO.getBuildingId()), + icResiCategoryWarnConfigDTO.getTableName(), + icResiCategoryWarnConfigDTO.getColumnName()); + PageInfo pageInfo = new PageInfo<>(list); + if (CollectionUtils.isNotEmpty(list)) { + Set homeIds = list.stream().map(UserWarnNameListResultDTO::getHomeId).collect(Collectors.toSet()); + Result> houseInfoRes = govOrgOpenFeignClient.queryListHouseInfo(homeIds, formDTO.getCustomerId()); + if (!houseInfoRes.success() || CollectionUtils.isEmpty(houseInfoRes.getData())){ + throw new EpmetException("查询居民所属房屋失败..."); + } + Map houseMap = houseInfoRes.getData().stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity())); + list.forEach(item -> { + HouseInfoDTO houseInfo = houseMap.get(item.getHomeId()); + if (null != houseInfo) { + item.setUnitName(houseInfo.getUnitName()); + item.setDoorName(houseInfo.getDoorName()); + } + }); + } + return new PageData<>(list, pageInfo.getTotal()); + } + @Override public List list(String customerId,String id, String level) { //获取所有配置类项 getshow diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml index 4e2dae8afa..1c1355a8a7 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml @@ -153,6 +153,10 @@