diff --git a/epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.20__add_dict.sql b/epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.20__add_dict.sql new file mode 100644 index 0000000000..d5803ece5d --- /dev/null +++ b/epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.20__add_dict.sql @@ -0,0 +1,12 @@ + +INSERT INTO `epmet_admin`.`sys_dict_type` (`id`, `dict_type`, `dict_name`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1000000000000000024', 'ic_danger_type', '危化品种类', '', '24', '0', '0', '', '2022-06-17 17:23:27', '', '2022-06-17 17:23:27'); + +INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('4100000000000000000', '1000000000000000024', '爆炸品', '00', '0', '', '0', '0', '0', '', '2022-06-17 17:23:27', '', '2022-06-17 17:23:27'); +INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('4100000000000000001', '1000000000000000024', '压缩气体和液化气体', '01', '0', '', '1', '0', '0', '', '2022-06-17 17:23:27', '', '2022-06-17 17:23:27'); +INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('4100000000000000002', '1000000000000000024', '易燃液体', '02', '0', '', '2', '0', '0', '', '2022-06-17 17:23:27', '', '2022-06-17 17:23:27'); +INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('4100000000000000003', '1000000000000000024', '易燃固体、自燃物品和遇湿易燃物品', '03', '0', '', '3', '0', '0', '', '2022-06-17 17:23:27', '', '2022-06-17 17:23:27'); +INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('4100000000000000004', '1000000000000000024', '氧化剂和有机过氧化物', '04', '0', '', '4', '0', '0', '', '2022-06-17 17:23:27', '', '2022-06-17 17:23:27'); +INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('4100000000000000005', '1000000000000000024', '有毒品', '05', '0', '', '5', '0', '0', '', '2022-06-17 17:23:27', '', '2022-06-17 17:23:27'); +INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('4100000000000000006', '1000000000000000024', '放射性物品', '06', '0', '', '6', '0', '0', '', '2022-06-17 17:23:27', '', '2022-06-17 17:23:27'); +INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('4100000000000000007', '1000000000000000024', '腐蚀品', '07', '0', '', '7', '0', '0', '', '2022-06-17 17:23:27', '', '2022-06-17 17:23:27'); + diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java index fa96252e3b..562e1933fa 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java @@ -23,7 +23,7 @@ public class OptionResultDTO implements Serializable { private List children; private Boolean usableFlag; private String type; - + private String pid; /** * desc:递归获取当前节点的 所有子节点 diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java new file mode 100644 index 0000000000..eb8d25e80f --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java @@ -0,0 +1,48 @@ +package com.epmet.commons.tools.enums; + +/** + * 五大图层字典表,placeType枚举 + */ +public enum CoveragePlaceTypeEnum { + + SUPERIOR_RESOURCE("superior_resource", "优势资源"), + DANGEROUS_CHEMICALS("dangerous_chemicals", "重点危化企业"), + ENTERPRISE_PATROL("enterprise_patrol", "企事业单位巡查"), + SPECIAL_RESI("special_resi", "特殊人群"), + CITY_MANAGEMENT("city_management", "城市管理"), + COMMUNITY_ORG("community_org", "社区自组织"), + PUBLIC_SERVICE("public_service", "公共服务"), + RESI("resi", "居民"), + PARTY_UNIT("party_unit", "联建单位"), + GROUP_RENT("group_rent", "群租房"), + EVENT("event", "事件(包括难点堵点)"); + + private final String code; + private final String name; + + + CoveragePlaceTypeEnum(String code, String name) { + this.code = code; + this.name = name; + } + + public static CoveragePlaceTypeEnum getEnum(String code) { + CoveragePlaceTypeEnum[] values = CoveragePlaceTypeEnum.values(); + for (CoveragePlaceTypeEnum value : values) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + + public String getCode() { + return code; + } + + public String getName() { + return name; + } + +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java index 6c8f4271ce..f552db723a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java @@ -26,6 +26,7 @@ public enum DictTypeEnum { SELF_ORG_CATEGORY("self_org_category","社区自组织分类",15), IC_EVENT_SOURCE_TYPE("ic_event_source_type","事件管理",19), IC_SERVICE_TYPE("ic_service_type","服务类别",20), + IC_DANGER_TYPE("ic_danger_type","危化品种类",24), ; private final String code; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/SelfOrgCategoryEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/SelfOrgCategoryEnum.java index 9be9765927..e1e83765b6 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/SelfOrgCategoryEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/SelfOrgCategoryEnum.java @@ -19,6 +19,7 @@ public enum SelfOrgCategoryEnum { LYJLB("lyjlb", "老友俱乐部", "#8fc41e", 3), ZAXLD("zaxld", "治安巡逻队", "#00a1be", 4), OTHER("other", "其他", "#0067b6", 5), + YJDW("yjdw","应急队伍","#e5007f",6) ; private final String code; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 89e8a70ab3..b9795ef8dc 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -777,4 +777,18 @@ public class RedisKeys { } return rootPrefix.concat("lock:").concat(methodName); } + + /** + * desc:获取更新 房屋内有居民数量的key + * @param customerId + * @return + */ + public static String getUpdateHouseResiNumer(String customerId) { + if (StringUtils.isBlank(customerId)){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"参数错误"); + } + return rootPrefix.concat("updateHouseResiNumber:").concat(customerId); + } + + } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/BuildingInfoCache.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/BuildingInfoCache.java index 4cb2416328..f1d197c895 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/BuildingInfoCache.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/BuildingInfoCache.java @@ -40,5 +40,15 @@ public class BuildingInfoCache implements Serializable { private String neighborHoodName; private String agencyId; + /** + * 维度 + */ + private String latitude; + + /** + * 经度 + */ + private String longitude; + // 后续用到啥再加吧........ } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java index 98adecdc97..87e53edcb0 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java @@ -92,5 +92,13 @@ public class CustomerStaffInfoCache implements Serializable { * 所属部门 */ private List deptList; + /** + * 中心位置经度 + */ + private String longitude; + /** + * 中心位置纬度 + */ + private String latitude; } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java index f0dad5d9ab..c86ef93152 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java @@ -1,6 +1,7 @@ package com.epmet.commons.tools.utils; import com.alibaba.ttl.TransmittableThreadLocal; +import com.epmet.commons.tools.constant.AppClientConstant; import org.apache.commons.lang3.StringUtils; import java.util.HashMap; @@ -53,6 +54,38 @@ public class EpmetRequestHolder { return stringStringMap.get(headerName.toLowerCase()); } + /** + * 当前登录人客户id + * @return + */ + public static String getLoginUserCustomerId() { + return getHeader(AppClientConstant.CUSTOMER_ID); + } + + /** + * 当前登录人user_id + * @return + */ + public static String getLoginUserId() { + return getHeader(AppClientConstant.USER_ID); + } + + /** + * 当前登录人app + * @return + */ + public static String getLoginUserApp() { + return getHeader(AppClientConstant.APP); + } + + /** + * 当前登录人client + * @return + */ + public static String getLoginUserClient() { + return getHeader(AppClientConstant.CLIENT); + } + /** * 获取所有 * @return diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ObjectUtil.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ObjectUtil.java new file mode 100644 index 0000000000..fbecab75ee --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ObjectUtil.java @@ -0,0 +1,66 @@ +package com.epmet.commons.tools.utils; + +import java.util.*; +import java.lang.reflect.Field; + +public class ObjectUtil { + /** + * 对象字符串属性去空格 + */ + public static void objectToTrim(Object object) { + Map map = new HashMap<>(); + Field[] fields = getAllFields(object); + for (Field field : fields){ + String type = field.getType().getCanonicalName(); + if ("java.lang.String".equals(type)){ + field.setAccessible(true); + Object getObject = null; + + try { + getObject = field.get(object); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + + if (getObject != null) { + String trim = getObject.toString().replace(" ",""); + map.put(field.getName(), trim); + } + } + } + + for (Field field : fields) { + if (map.get(field.getName()) != null){ + String s = map.get(field.getName()); + field.setAccessible(true); + try { + field.set(object, s); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + } + } + + /** + * 获取子类和父类所有字段信息 + */ + private static Field[] getAllFields(Object object) { + Class clazz = object.getClass(); + + List fieldsList = new ArrayList<>(); // 保存属性对象数组到列表 + while (clazz != null) { // 遍历所有父类字节码对象 + Field[] declaredFields = clazz.getDeclaredFields(); // 获取字节码对象的属性对象数组 + fieldsList.add(declaredFields); + + clazz = clazz.getSuperclass(); // 获得父类的字节码对象 + } + + List allFields = new ArrayList<>(); + for (Field[] fields : fieldsList) { + allFields.addAll(Arrays.asList(fields)); + } + + return allFields.toArray(new Field[0]); + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java index 8ae93cc5d4..f02e5faa46 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java @@ -37,4 +37,5 @@ public interface DataSourceConstant { String EPMET_T_DUCK = "epmettduck"; String EPMETTDUCK="epmettduck"; + String EPMET_HEART="heart"; } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/IcResiInfoResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/IcResiInfoResultDTO.java new file mode 100644 index 0000000000..659805383f --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/IcResiInfoResultDTO.java @@ -0,0 +1,13 @@ +package com.epmet.dataaggre.dto.epmetuser.result; + +import lombok.Data; + +/** + * 居民信息封装类 + */ +@Data +public class IcResiInfoResultDTO { + private String id; + private String name; + private String buildId; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffSelectResDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffSelectResDTO.java new file mode 100644 index 0000000000..b8599a27dc --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffSelectResDTO.java @@ -0,0 +1,18 @@ +package com.epmet.dataaggre.dto.epmetuser.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 工作人员下拉框 + */ +@Data +public class StaffSelectResDTO implements Serializable { + + private String label; + private String value; + private String name; + private String mobile; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageAnalisisDataListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageAnalisisDataListFormDTO.java new file mode 100644 index 0000000000..179dc80aba --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageAnalisisDataListFormDTO.java @@ -0,0 +1,30 @@ +package com.epmet.dataaggre.dto.govorg.form; + +import lombok.Data; + +import java.util.List; + +/** + * 图层数据分析-数据列表 + */ +@Data +public class CoverageAnalisisDataListFormDTO { + + /** + * 图层类型列表 + */ + private List coverageTypes; + + /** + * 分类key + */ + private List categoryKeys; + + /** + * 搜索关键词 + */ + private String search; + private Integer pageNo = 1; + private Integer pageSize = 20; + private Boolean isPage = false; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageAnalisisDataListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageAnalisisDataListResultDTO.java new file mode 100644 index 0000000000..fd566cb191 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageAnalisisDataListResultDTO.java @@ -0,0 +1,43 @@ +package com.epmet.dataaggre.dto.govorg.result; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class CoverageAnalisisDataListResultDTO { + + private String id; + /** + * 分类key + */ + private String categoryKey; + + /** + * 类别名称 + */ + private String categoryName; + + /** + * 场所类型 + */ + private String placeType; + + /** + * 内容 + */ + private String content; + + /** + *维度 + */ + private String latitude; + + /** + * 经度 + */ + private String longitude; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/IcEnterisePatrolResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/IcEnterisePatrolResultDTO.java new file mode 100644 index 0000000000..bed391f2ac --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/IcEnterisePatrolResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dataaggre.dto.govorg.result; + +import lombok.Data; + +@Data +public class IcEnterisePatrolResultDTO { + private String enterpriseId; + private String patrolId; + private String customerId; + private String gridId; + private String agencyId; + private String agencyPids; + private String placeType; + private String placeOrgName; + private String address; + private String longitude; + private String latitude; + private String mobile; + private String sourceType; +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/pom.xml b/epmet-module/data-aggregator/data-aggregator-server/pom.xml index 1246e8e2e0..4cc34ba06f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/pom.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/pom.xml @@ -242,6 +242,13 @@ epmet_tduck_user EpmEt-db-UsEr + + + + + epmet_heart_user + EpmEt-db-UsEr + 0 192.168.1.140 @@ -367,6 +374,12 @@ epmet_tduck_user EpmEt-db-UsEr + + + + epmet_heart_user + EpmEt-db-UsEr + 0 192.168.1.140 @@ -492,6 +505,13 @@ epmet elink@833066 + + + + + epmet + elink@833066 + 0 192.168.10.150 @@ -617,6 +637,13 @@ epmet_tduck EpmEt-db-UsEr + + + + + epmet_heart_user + EpmEt-db-UsEr + 0 r-m5ez3n1j0qc3ykq2ut.redis.rds.aliyuncs.com diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java new file mode 100644 index 0000000000..27563e2134 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java @@ -0,0 +1,46 @@ +package com.epmet.dataaggre.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dataaggre.dto.govorg.form.CoverageAnalisisDataListFormDTO; +import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO; +import com.epmet.dataaggre.service.CoverageService; +import com.github.pagehelper.PageInfo; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +/** + * 5大图层controller + */ +@RestController +@RequestMapping("coverage") +public class CoverageController { + + @Autowired + private CoverageService coverageService; + + /** + * 数据分析-数据列表 + * @param input + * @return + */ + @RequestMapping("dataList") + public Result> dataList(@RequestBody CoverageAnalisisDataListFormDTO input) { + List coverageTypes = input.getCoverageTypes(); + List categoryKeys = input.getCategoryKeys(); + if (CollectionUtils.isEmpty(coverageTypes)) { + return new Result().ok(new PageData<>(new ArrayList<>(), 0)); + } + + PageData page = coverageService.analysisDataList(coverageTypes, categoryKeys, + input.getSearch(), input.getPageNo(), input.getPageSize(), input.getIsPage()); + return new Result>().ok(page); + } + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java index 1e560103fa..134278d433 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java @@ -21,6 +21,7 @@ import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.beans.GridMemberDataAnalysisExcelExportBean; +import com.epmet.dataaggre.dto.epmetuser.result.StaffSelectResDTO; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.form.*; @@ -179,6 +180,18 @@ public class GovOrgController { return new Result().ok(govOrgService.staffList(formDTO)); } + /** + * 组织下的工作人员 下拉框 + * + * @param tokenDto + * @param agencyId + * @return + */ + @PostMapping("staff-select-list/{agencyId}") + public Result> staffSelectList(@LoginUser TokenDto tokenDto, @PathVariable("agencyId") String agencyId) { + return new Result>().ok(govOrgService.staffSelectList(tokenDto.getCustomerId(), agencyId)); + } + /** * @Param formDTO * @Description 获取当前组织下的【组织添加的】工作人员 组织/部门/网格下人员列表 diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java index de989d76e6..39f67d2af1 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java @@ -20,6 +20,7 @@ package com.epmet.dataaggre.dao.epmetuser; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.dto.epmetuser.CustomerStaffDTO; import com.epmet.dataaggre.dto.epmetuser.result.ListStaffResultDTO; +import com.epmet.dataaggre.dto.epmetuser.result.StaffSelectResDTO; import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; import org.apache.ibatis.annotations.Mapper; @@ -71,4 +72,11 @@ public interface CustomerStaffDao extends BaseDao { * @author sun */ CustomerStaffDTO selectByStaffId(@Param("staffId") String staffId); + + /** + * 根据staffId查询姓名、手机号 + * @param staffIds + * @return + */ + List staffSelectList(@Param("staffIds") List staffIds); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java index 1e34921a43..78e7b7d4b7 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java @@ -18,6 +18,7 @@ package com.epmet.dataaggre.dao.epmetuser; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.epmetuser.result.IcResiInfoResultDTO; import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO; import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity; import com.epmet.dto.IcResiUserDTO; @@ -46,4 +47,16 @@ public interface IcResiUserDao extends BaseDao { * @author sun */ List getHomeUserList(@Param("homeId") String homeId, @Param("icUserId") String icUserId); + + List listSpecialResisBySpecialType(@Param("customerId") String customerId, + @Param("agencyId") String agencyId, + @Param("queryPids") String queryPids, + @Param("categoryKey") String categoryKey, + @Param("search") String search); + + Integer countSpecialResisBySpecialType(@Param("customerId") String customerId, + @Param("agencyId") String agencyId, + @Param("queryPids") String queryPids, + @Param("categoryKey") String categoryKey, + @Param("search") String search); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCityManagementDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCityManagementDao.java new file mode 100644 index 0000000000..46e2005b33 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCityManagementDao.java @@ -0,0 +1,17 @@ +package com.epmet.dataaggre.dao.govorg; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.entity.govorg.IcCityManagementEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 城市管理图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Mapper +public interface IcCityManagementDao extends BaseDao { + + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryDictDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryDictDao.java new file mode 100644 index 0000000000..e81167fc39 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryDictDao.java @@ -0,0 +1,16 @@ +package com.epmet.dataaggre.dao.govorg; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.entity.govorg.IcCoverageCategoryDictEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 五大图层类别字典表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Mapper +public interface IcCoverageCategoryDictDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcDangerousChemicalsDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcDangerousChemicalsDao.java new file mode 100644 index 0000000000..1474d31ef9 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcDangerousChemicalsDao.java @@ -0,0 +1,15 @@ +package com.epmet.dataaggre.dao.govorg; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.entity.govorg.IcDangerousChemicalsEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 重点危化品企业 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Mapper +public interface IcDangerousChemicalsDao extends BaseDao { +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcEnterprisePatrolRecordDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcEnterprisePatrolRecordDao.java new file mode 100644 index 0000000000..d6f5c83879 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcEnterprisePatrolRecordDao.java @@ -0,0 +1,42 @@ +package com.epmet.dataaggre.dao.govorg; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govorg.result.IcEnterisePatrolResultDTO; +import com.epmet.dataaggre.entity.govorg.IcEnterprisePatrolRecordEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 企事业单位巡查表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-17 + */ +@Mapper +public interface IcEnterprisePatrolRecordDao extends BaseDao { + /** + * 企事业单位巡查计数 + * @param customerId + * @param staffOrgIds + * @param search + * @param categoryKey + * @return + */ + Integer countEnterprisePatrol(@Param("customerId") String customerId, @Param("agencyId") String agencyId, + @Param("staffOrgIds") String staffOrgIds, @Param("search") String search, + @Param("categoryKey") String categoryKey); + + /** + * 企事业单位巡查列表 + * @param customerId + * @param staffOrgIds + * @param search + * @param categoryKey + * @return + */ + List listEnterprisePatrol(@Param("customerId") String customerId, @Param("agencyId") String agencyId, + @Param("staffOrgIds") String staffOrgIds, @Param("search") String search, + @Param("categoryKey") String categoryKey); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcHouseDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcHouseDao.java new file mode 100644 index 0000000000..5df9a571dc --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcHouseDao.java @@ -0,0 +1,15 @@ +package com.epmet.dataaggre.dao.govorg; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.entity.govorg.IcHouseEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 房屋信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-25 + */ +@Mapper +public interface IcHouseDao extends BaseDao { +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcPublicServiceDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcPublicServiceDao.java new file mode 100644 index 0000000000..cfa9135827 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcPublicServiceDao.java @@ -0,0 +1,15 @@ +package com.epmet.dataaggre.dao.govorg; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.entity.govorg.IcPublicServiceEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 公共服务图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Mapper +public interface IcPublicServiceDao extends BaseDao { +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcSuperiorResourceDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcSuperiorResourceDao.java new file mode 100644 index 0000000000..9324e8fd1b --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcSuperiorResourceDao.java @@ -0,0 +1,16 @@ +package com.epmet.dataaggre.dao.govorg; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.entity.govorg.IcSuperiorResourceEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 优势资源管理 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Mapper +public interface IcSuperiorResourceDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/IcEventDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/IcEventDao.java new file mode 100644 index 0000000000..c2305c3afc --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/IcEventDao.java @@ -0,0 +1,15 @@ +package com.epmet.dataaggre.dao.govproject; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.entity.govproject.IcEventEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 事件管理表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-17 + */ +@Mapper +public interface IcEventDao extends BaseDao { +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/heart/IcCommunitySelfOrganizationDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/heart/IcCommunitySelfOrganizationDao.java new file mode 100644 index 0000000000..2499308cf6 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/heart/IcCommunitySelfOrganizationDao.java @@ -0,0 +1,32 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dao.heart; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.entity.heart.IcCommunitySelfOrganizationEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 社区自组织表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-18 + */ +@Mapper +public interface IcCommunitySelfOrganizationDao extends BaseDao { +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/heart/IcPartyUnitDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/heart/IcPartyUnitDao.java new file mode 100644 index 0000000000..5a45b5e977 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/heart/IcPartyUnitDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dao.heart; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.entity.heart.IcPartyUnitEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 联建单位 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-19 + */ +@Mapper +public interface IcPartyUnitDao extends BaseDao { + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java index 171e01198f..79ede44c2a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java @@ -123,4 +123,14 @@ public class CustomerAgencyEntity extends BaseEpmetEntity { * 联系电话 */ private String mobile; + + /** + * 中心位置经度 + */ + private String longitude; + + /** + * 中心位置纬度 + */ + private String latitude; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCityManagementEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCityManagementEntity.java new file mode 100644 index 0000000000..a1baff300a --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCityManagementEntity.java @@ -0,0 +1,76 @@ +package com.epmet.dataaggre.entity.govorg; + +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-06-16 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_city_management") +public class IcCityManagementEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 所属组织机构Id + */ + private String agencyId; + + /** + * agencyId的所有上级,包含自己 + */ + private String agencyIdPath; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 场所名称 + */ + private String name; + + /** + * 场所分类【字典表ic_coverage_category_dict key:city_management】 + */ + private String category; + + /** + * 占地面积,单位平方公里 + */ + private String areaCovered; + + /** + * 容纳人数 + */ + private Integer capacity; + + /** + * 地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryDictEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryDictEntity.java new file mode 100644 index 0000000000..cdaca78b91 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryDictEntity.java @@ -0,0 +1,56 @@ +package com.epmet.dataaggre.entity.govorg; + +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-06-16 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_coverage_category_dict") +public class IcCoverageCategoryDictEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * default;或者customerId + */ + private String customerId; + + /** + * 类别key + */ + private String categoryKey; + + /** + * 名称 + */ + private String categoryName; + + /** + * 所属场所类型; +社区自组织:community_org; +优势资源:superior_resource; +城市管理:city_management; +重点危化企业:dangerous_chemicals; +公共服务:public_service + */ + private String placeType; + + /** + * 所属五大图层:zhzl:综合治理图层;yjcl:应急处置图层;aqsc:安全生产图层;csgl:城市管理图层;ggfw:公共服务图层 + */ + private String coverageType; + + /** + * 排序 + */ + private Integer sort; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcDangerousChemicalsEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcDangerousChemicalsEntity.java new file mode 100644 index 0000000000..f63c518051 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcDangerousChemicalsEntity.java @@ -0,0 +1,91 @@ +package com.epmet.dataaggre.entity.govorg; + +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-06-16 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_dangerous_chemicals") +public class IcDangerousChemicalsEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 所属组织机构Id + */ + private String agencyId; + + /** + * agencyId的所有上级,包含自己 + */ + private String agencyIdPath; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 企业名称 + */ + private String name; + + /** + * 企业类型【字典表ic_coverage_category_dict key:dangerous_chemicals】 + */ + private String category; + + /** + * 周边安全距离,单位公里 + */ + private String safeDistance; + + /** + * 危化品种类【字典表 ic_danger_type】 + */ + private String dangerType; + + /** + * 负责人姓名 + */ + private String principalName; + + /** + * 负责人电话 + */ + private String principalMobile; + + /** + * 经营地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + + /** + * 备注 + */ + private String remark; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcEnterprisePatrolRecordEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcEnterprisePatrolRecordEntity.java new file mode 100644 index 0000000000..3096cf1d6c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcEnterprisePatrolRecordEntity.java @@ -0,0 +1,68 @@ +package com.epmet.dataaggre.entity.govorg; + +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-06-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_enterprise_patrol_record") +public class IcEnterprisePatrolRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 企事业单位id + */ + private String enterpriseId; + + /** + * 巡查时间 + */ + private Date patrolTime; + + /** + * 工作人员id + */ + private String staffId; + + /** + * 工作人员姓名 + */ + private String staffName; + + /** + * 工作人员手机号 + */ + private String mobile; + + /** + * 检查结果【0:合格 1:不合格】 + */ + private String result; + + /** + * 隐患明细 + */ + private String detailed; + + /** + * 拟复查时间 + */ + private Date reviewTime; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcHouseEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcHouseEntity.java new file mode 100644 index 0000000000..c098192f01 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcHouseEntity.java @@ -0,0 +1,134 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.govorg; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 房屋信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-25 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_house") +public class IcHouseEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 所属组织的PIDS,包括agency,grid + */ + private String orgIdPath; + + /** + * 小区id + */ + private String neighborHoodId; + + /** + * 片区id,neighbor_hood_part.id,可为空。 + */ + private String partId; + + /** + * 所属楼栋id + */ + private String buildingId; + + /** + * 所属单元id + */ + private String buildingUnitId; + + /** + * 房屋名字后台插入时生成 + */ + private String houseName; + + /** + * 全名:小区,楼栋,单元,房屋 + */ + private String fullName; + + /** + * 门牌号 + */ + private String doorName; + + /** + * 房屋类型,这里存储字典value就可以 + */ + private String houseType; + + /** + * 存储字典value + */ + private String purpose; + + /** + * 1:出租 0:自住 2:闲置 3:未出售 + */ + private Integer rentFlag; + + /** + * 房主姓名 + */ + private String ownerName; + + /** + * 房主电话 + */ + private String ownerPhone; + + /** + * 房主身份证号 + */ + private String ownerIdCard; + + /** + * 排序 + */ + private BigDecimal sort; + + /** + * 备注 + */ + private String remark; + + /** + * 房屋编码 + */ + private String houseCode; + private String houseQrcodeUrl; + /** + * 居住人数 + */ + private Integer resiNumber; +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcPublicServiceEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcPublicServiceEntity.java new file mode 100644 index 0000000000..6a454c446b --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcPublicServiceEntity.java @@ -0,0 +1,76 @@ +package com.epmet.dataaggre.entity.govorg; + +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-06-16 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_public_service") +public class IcPublicServiceEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 所属组织机构Id + */ + private String agencyId; + + /** + * agencyId的所有上级,包含自己 + */ + private String agencyIdPath; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 场所名称 + */ + private String name; + + /** + * 场所分类【字典表ic_coverage_category_dict key:public_service】 + */ + private String category; + + /** + * 占地面积,单位平方公里 + */ + private String areaCovered; + + /** + * 容纳人数 + */ + private Integer capacity; + + /** + * 地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcSuperiorResourceEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcSuperiorResourceEntity.java new file mode 100644 index 0000000000..d1af8c2fa5 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcSuperiorResourceEntity.java @@ -0,0 +1,76 @@ +package com.epmet.dataaggre.entity.govorg; + +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-06-16 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_superior_resource") +public class IcSuperiorResourceEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 所属组织机构Id + */ + private String agencyId; + + /** + * agencyId的所有上级,包含自己 + */ + private String agencyIdPath; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 场所名称 + */ + private String name; + + /** + * 场所分类【字典表ic_coverage_category_dict key:superior_resource】 + */ + private String category; + + /** + * 占地面积,单位平方公里 + */ + private String areaCovered; + + /** + * 容纳人数 + */ + private Integer capacity; + + /** + * 地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/IcEventEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/IcEventEntity.java new file mode 100644 index 0000000000..935894e098 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/IcEventEntity.java @@ -0,0 +1,178 @@ +package com.epmet.dataaggre.entity.govproject; + +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-05-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_event") +public class IcEventEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 事件所属的网格Id + */ + private String gridId; + + /** + * 网格的所属组织 + */ + private String agencyId; + + /** + * 网格的所有组织Id + */ + private String gridPids; + + /** + * 报事的人【居民端/pc端居民Id】可为空 + */ + private String reportUserId; + + /** + * 报事人姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 反映渠道【字典表】 + */ + private String sourceType; + + /** + * 发生时间 + */ + private Date happenTime; + + /** + * 事件内容 + */ + private String eventContent; + + /** + * 纬度 + */ + private String latitude; + + /** + * 经度 + */ + private String longitude; + + /** + * 地址 + */ + private String address; + + /** + * 处理中:processing;已办结:closed_case + */ + private String status; + + /** + * 办结时间 + */ + private Date closeCaseTime; + + /** + * 0:已回复 1:已转项目 2:已转需求 + */ + private String operationType; + + /** + * 项目、需求ID + */ + private String operationId; + + /** + * 事件是否被阅读过;1已读;针对报事人待处理列表 + */ + private Integer readFlag; + + /** + * 报事人的红点:展示1;不展示:0;人大代表回复,工作人员回复/立项/转需求/办结更新为1; + */ + private Integer redDot; + + /** + * 工作端的红点:展示1;不展示:0;【居民报事、回复更新为1】 + */ + private Integer govRedDot; + + /** + * 最近一次操作时间(回复、立项、转需求、办结更新此列) + */ + private Date latestOperatedTime; + + /** + * 是否解决:已解决 resolved,未解决 un_solved + */ + private String resolveStatus; + + /** + * 结案说明 + */ + private String closeRemark; + + /** + * 评论人 + */ + private String commentUserId; + + /** + * 评论内容 + */ + private String satisfaction; + + /** + * 评论时间 + */ + private Date commentTime; + + /** + * 事件审核状态[涉及附件审核需要加的状态](审核中:auditing; + auto_passed: 自动通过; + review:结果不确定,需要人工审核; + block: 结果违规; + rejected:人工审核驳回; + approved:人工审核通过) + */ + private String auditStatus; + + /** + * 审核理由 + */ + private String auditReason; + + /** + * 是否标记难点堵点 0:否 1:是 + */ + private String difficultPoint; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/heart/IcCommunitySelfOrganizationEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/heart/IcCommunitySelfOrganizationEntity.java new file mode 100644 index 0000000000..94d8aa3baf --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/heart/IcCommunitySelfOrganizationEntity.java @@ -0,0 +1,115 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.heart; + +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 2021-11-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_community_self_organization") +public class IcCommunitySelfOrganizationEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 组织ID + */ + private String orgId; + + /** + * 组织类型,agency:组织,grid:网格 + */ + private String orgType; + + /** + * 组织ID的父级 + */ + private String pid; + + /** + * org_id的所有上级 + */ + private String pids; + + /** + * 组织名称 + */ + private String organizationName; + + /** + * 分类,来源于字典表dictType=self_org_category; + */ + private String categoryCode; + + /** + * 组织人数 + */ + private Integer organizationPersonCount; + + /** + * 负责人姓名 + */ + private String principalName; + + /** + * 负责人电话 + */ + private String principalPhone; + + /** + * 服务事项 + */ + private String serviceItem; + + /** + * 社区自组织创建时间 + */ + private Date organizationCreatedTime; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + + /** + * 备注 + */ + private String remark; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/heart/IcPartyUnitEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/heart/IcPartyUnitEntity.java new file mode 100644 index 0000000000..49fea93e34 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/heart/IcPartyUnitEntity.java @@ -0,0 +1,108 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.heart; + +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 2021-11-19 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_party_unit") +public class IcPartyUnitEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 组织ID + */ + private String agencyId; + + /** + * + */ + private String pids; + + /** + * 单位名称 + */ + private String unitName; + + /** + * 分类 楼宇党建 两新组织 区域单位党建 机关直属部门 其他 + */ + private String type; + + /** + * 服务事项 多选逗号隔开 + */ + private String serviceMatter; + + /** + * 联系人 + */ + private String contact; + + /** + * 联系电话 + */ + private String contactMobile; + + /** + * 在职党员数 + */ + private Integer memberCount; + + /** + * 地址 + */ + private String address; + + /** + * 中心位置经度 + */ + private String longitude; + + /** + * 中心位置纬度 + */ + private String latitude; + + /** + * 群众满意度 + */ + private String satisfaction; + + /** + * 备注 + */ + private String remark; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java new file mode 100644 index 0000000000..8734dcabd2 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java @@ -0,0 +1,23 @@ +package com.epmet.dataaggre.service; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO; + +import java.util.List; + +/** + * 5大图层 + */ +public interface CoverageService { + /** + * 图层,大屏数据分析,数据列表 + * @param coverageTypes 图层列表 + * @param categoryKeys 分类列表 + * @param search 搜索关键词 + * @param pageNo 页码 + * @param pageSize 页面大小 + * @return + */ + PageData analysisDataList(List coverageTypes, List categoryKeys, + String search, Integer pageNo, Integer pageSize, Boolean isPage); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java index d905d12f37..dec1415a20 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java @@ -192,4 +192,11 @@ public interface EpmetUserService { * @author sun */ List getGridDateRoutineWorkList(GridLivelyFormDTO formDTO); + + /** + * 根据staffId查询姓名、手机号 + * @param staffIds + * @return + */ + List staffSelectList(List staffIds); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/IcResiService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/IcResiService.java new file mode 100644 index 0000000000..1900b75e89 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/IcResiService.java @@ -0,0 +1,42 @@ +package com.epmet.dataaggre.service.epmetuser; + +import com.epmet.dataaggre.dto.epmetuser.result.IcResiInfoResultDTO; +import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity; + +import java.util.List; + +/** + * IC居民 + */ +public interface IcResiService { + + /** + * 5大图层,居民查询 + * @param categoryKey 居民类别 + * @param search 搜索关键词,姓名 + * @param pageNo + * @param pageSize + * @param isPage + * @return + */ + List listResisByCategories4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search, + Integer pageNo, Integer pageSize, Boolean isPage); + + Integer countResisByCategories4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search); + + /** + * 使用特殊人群类别查询居民列表 + * @param customerId + * @param queryPids + * @param categoryKey + * @param search + * @param pageNo + * @param pageSize + * @param isPage + * @return + */ + List listSpecialResisBySpecialType(String customerId, String agencyId, String queryPids, String categoryKey, String search, + Integer pageNo, Integer pageSize, Boolean isPage); + + Integer countSpecialResisBySpecialType(String customerId, String agencyId, String staffOrgIds, String categoryKey, String search); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 3bddf8f1ed..7ad89d1728 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -827,5 +827,19 @@ public class EpmetUserServiceImpl implements EpmetUserService { return staffPatrolRecordDao.gridDateRoutineWorkList(formDTO); } + /** + * 根据staffId查询姓名、手机号 + * + * @param staffIds + * @return + */ + @Override + public List staffSelectList(List staffIds) { + if(CollectionUtils.isEmpty(staffIds)){ + return new ArrayList<>(); + } + return customerStaffDao.staffSelectList(staffIds); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiServiceImpl.java new file mode 100644 index 0000000000..a0a66a2733 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiServiceImpl.java @@ -0,0 +1,100 @@ +package com.epmet.dataaggre.service.epmetuser.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmetuser.IcResiUserDao; +import com.epmet.dataaggre.dto.epmetuser.result.IcResiInfoResultDTO; +import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity; +import com.epmet.dataaggre.service.epmetuser.IcResiService; +import com.github.pagehelper.PageHelper; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@DataSource(value = DataSourceConstant.EPMET_USER) +@Service +public class IcResiServiceImpl implements IcResiService { + + @Autowired + private IcResiUserDao resiUserDao; + + /** + * 5大图层,居民查询 + * @param categoryKey 居民类别 + * @param search 搜索关键词,姓名 + * @param pageNo + * @param pageSize + * @param isPage + * @return + */ + @Override + public List listResisByCategories4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search, + Integer pageNo, Integer pageSize, Boolean isPage) { + if (isPage) { + PageHelper.startPage(pageNo, pageSize); + } + + LambdaQueryWrapper query = constructQueryWrapper4Coverage(customerId, agencyId, queryPids, categoryKey, search); + query.orderByAsc(IcResiUserEntity::getCreatedTime); + return resiUserDao.selectList(query); + } + + /** + * 根据条件查询数量 + * @param customerId + * @param agencyId + * @param queryPids + * @param categoryKey + * @param search + * @return + */ + @Override + public Integer countResisByCategories4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search) { + LambdaQueryWrapper query = constructQueryWrapper4Coverage(customerId, agencyId, queryPids, categoryKey, search); + return resiUserDao.selectCount(query); + } + + /** + * 构造queryWrapper + * @param customerId + * @param agencyId + * @param queryPids + * @param categoryKey + * @param search + * @return + */ + LambdaQueryWrapper constructQueryWrapper4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcResiUserEntity::getCustomerId, customerId); + query.and(q -> q.eq(IcResiUserEntity::getAgencyId, agencyId).or().likeRight(IcResiUserEntity::getPids, queryPids)); + if ("resi_xfry".equals(categoryKey)) { + // 信访人员 + query.eq(IcResiUserEntity::getIsXfry, true); + } else if ("resi_snry".equals(categoryKey)) { + query.eq(IcResiUserEntity::getIsSn, true); + } + + if (StringUtils.isNotBlank(search)) { + query.like(IcResiUserEntity::getName, search); + } + + return query; + } + + @Override + public List listSpecialResisBySpecialType(String customerId, String agencyId, String queryPids, String categoryKey, String search, + Integer pageNo, Integer pageSize, Boolean isPage) { + if (isPage) { + PageHelper.startPage(pageNo, pageSize); + } + return resiUserDao.listSpecialResisBySpecialType(customerId, agencyId, queryPids, categoryKey, search); + } + + @Override + public Integer countSpecialResisBySpecialType(String customerId, String agencyId, String staffOrgIds, String categoryKey, String search) { + return resiUserDao.countSpecialResisBySpecialType(customerId, agencyId, staffOrgIds, categoryKey, search); + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgCoverageService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgCoverageService.java new file mode 100644 index 0000000000..334e674f75 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgCoverageService.java @@ -0,0 +1,140 @@ +package com.epmet.dataaggre.service.govorg; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.dataaggre.dto.govorg.result.IcEnterisePatrolResultDTO; +import com.epmet.dataaggre.entity.govorg.*; +import com.epmet.dataaggre.entity.heart.IcCommunitySelfOrganizationEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * org库的图层service + */ +public interface GovOrgCoverageService { + + @Data + @NoArgsConstructor + @AllArgsConstructor + class CategoryCoverageMapping { + private String placeType; + private String coverageType; + private String categoryKey; + } + + /** + * 根据categoryKeys分类key列表,查询他们和图层时间的关系,映射为一个map + * @param categoryKeys + * @return + */ + Map> getMappingRelationByCategoryKey(List categoryKeys, String customerId); + + /** + * 根据coverageTypes分类key列表,查询他们和图层时间的关系,映射为一个map + * @param coverageTypes + * @return + */ + Map> getMappingRelationByCoverageType(List coverageTypes, String customerId); + + Integer countCityResourceEntities(String customerId, String agencyIdPath, String search, String category); + + /** + * 搜索城市资源 + * @param customerId + * @param agencyIdPath 查询人所属的组织ID路径,包含他本身所在的组织 + * @param search 关键词,名称 + * @param isPage + * @param pageNo + * @param pageSize + * @return + */ + List searchCityResourceEntities(String customerId, String agencyIdPath, String search, String category, Boolean isPage, + Integer pageNo, Integer pageSize); + + /** + * 搜索危化企业列表数量查询 + */ + Integer countDangerousChemicalEntities(String customerId, String agencyIdPath, String search, String categoryKey); + /** + * 搜索危化企业列表 + * @param customerId + * @param agencyIdPath 查询人所属的组织ID路径,包含他本身所在的组织 + * @param search 关键词,名称 + * @param isPage + * @param pageNo + * @param pageSize + * @return + */ + List searchDangerousChemicalEntities(String customerId, String agencyIdPath, String search, + String categoryKey, Boolean isPage, Integer pageNo, Integer pageSize); + + /** + * 搜索群租房列表 + * @param customerId + * @param agencyIdPath 查询人所属的组织ID路径,包含他本身所在的组织 + * @param search + * @param isPage + * @param pageNo + * @param pageSize + * @return + */ + List searchByResiNumber(String customerId, String agencyIdPath, String search, Integer resiNumberGreaterThan, + Boolean isPage, Integer pageNo, Integer pageSize); + + /** + * 搜索公共服务 + * @param customerId + * @param staffOrgIds 查询人所属的组织ID路径,包含他本身所在的组织 + * @param search + * @param isPage + * @param pageNo + * @param pageSize + * @return + */ + List searchPublicServiceEntities(String customerId, String staffOrgIds, String search, + String categoryKey, Boolean isPage, Integer pageNo, Integer pageSize); + + /** + * 搜索优势资源 + * @param customerId + * @param staffOrgIds 查询人所属的组织ID路径,包含他本身所在的组织 + * @param search + * @param isPage + * @param pageNo + * @param pageSize + * @return + */ + List searchSuporiorResourceEntities(String customerId, String staffOrgIds, String search, + String categoryKey, Boolean isPage, Integer pageNo, Integer pageSize); + + Integer countPublicServiceEntities(String customerId, String staffOrgIds, String search, String categoryKey); + + Integer countSuporiorResourceEntities(String customerId, String staffOrgIds, String search, String categoryKey); + + Integer countEnterprisePatrol(String customerId, String agencyId, String staffOrgIds, String search, String categoryKey); + + List listEnterprisePatrol(String customerId, String agencyId, String staffOrgIds, + String search, String categoryKey, Boolean isPage, Integer pageNo, + Integer pageSize); + + /** + * 通过居民数量等条件查询房屋数量 + * @param customerId + * @param staffOrgIds + * @param search + * @param resiNumberBiggerThan 查询居住人数大于多少的房屋 + * @return + */ + Integer countByResiNumber(String customerId, String staffOrgIds, String search, Integer resiNumberBiggerThan); + + /** + * 查询客户下,指定分类key对应的对象数据 + * @param categoryKey + * @return + */ + IcCoverageCategoryDictEntity selectByCategoryKey(String categoryKey); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index 6b5d2d0ed4..140b909a71 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -2,12 +2,14 @@ package com.epmet.dataaggre.service.govorg; import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dataaggre.dto.epmetuser.result.StaffSelectResDTO; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.form.*; import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; +import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -195,4 +197,19 @@ public interface GovOrgService { * @return */ BuildingInfoCache queryBuildingInfo(String buildingId); + + /** + * 组织下的工作人员下拉框 + * @param customerId + * @param agencyId + * @return + */ + List staffSelectList(String customerId, String agencyId); + + /** + * 查询跟组织信息 + * @param customerId + * @return + */ + CustomerAgencyEntity getRootAgencyByCustomerId(String customerId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgCoverageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgCoverageServiceImpl.java new file mode 100644 index 0000000000..12e1e789e7 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgCoverageServiceImpl.java @@ -0,0 +1,325 @@ +package com.epmet.dataaggre.service.govorg.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.govorg.*; +import com.epmet.dataaggre.dto.govorg.result.IcEnterisePatrolResultDTO; +import com.epmet.dataaggre.entity.govorg.*; +import com.epmet.dataaggre.service.govorg.GovOrgCoverageService; +import com.github.pagehelper.PageHelper; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; + +/** + * org 图层service + */ +@Service +@DataSource(value = DataSourceConstant.GOV_ORG) +public class GovOrgCoverageServiceImpl implements GovOrgCoverageService { + + @Autowired + private IcCoverageCategoryDictDao coverageCategoryDictDao; + + @Autowired + private IcCityManagementDao cityManagementDao; + + @Autowired + private IcDangerousChemicalsDao dangerousChemicalsDao; + + @Autowired + private IcPublicServiceDao publicServiceDao; + + @Autowired + private IcSuperiorResourceDao superiorResourceDao; + + @Autowired + private IcEnterprisePatrolRecordDao enterprisePatrolRecordDao; + + @Autowired + private IcHouseDao ichousedao; + + /** + * 查询客户下,指定分类key对应的对象数据 + * @param categoryKey + * @return + */ + @Override + public IcCoverageCategoryDictEntity selectByCategoryKey(String categoryKey) { + String customerId = EpmetRequestHolder.getLoginUserCustomerId(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(IcCoverageCategoryDictEntity::getCategoryKey, categoryKey); + queryWrapper.eq(IcCoverageCategoryDictEntity::getCustomerId, customerId); + return coverageCategoryDictDao.selectOne(queryWrapper); + } + + /** + * 根据categoryKeys分类key列表,查询他们和图层时间的关系,映射为一个map + * @param categoryKeys + * @return + */ + public Map> getMappingRelationByCategoryKey(List categoryKeys, String customerId) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.in(IcCoverageCategoryDictEntity::getCategoryKey, categoryKeys); + query.in(IcCoverageCategoryDictEntity::getCustomerId, customerId); + + List dict = coverageCategoryDictDao.selectList(query); + return map(dict); + } + + @Override + public Map> getMappingRelationByCoverageType(List coverageTypes, String customerId) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.in(IcCoverageCategoryDictEntity::getCoverageType, coverageTypes); + query.in(IcCoverageCategoryDictEntity::getCustomerId, customerId); + + List dict = coverageCategoryDictDao.selectList(query); + return map(dict); + } + + /** + * 执行映射 + * @param dict + * @return + */ + public Map> map(List dict) { + HashMap> mapping = new HashMap<>(); + for (IcCoverageCategoryDictEntity item : dict) { + String coverageType = item.getCoverageType(); + CategoryCoverageMapping m = new CategoryCoverageMapping(item.getPlaceType(), coverageType, item.getCategoryKey()); + if (mapping.containsKey(coverageType)) { + mapping.get(coverageType).add(m); + } else { + List ms = new ArrayList<>(); + ms.add(m); + mapping.put(coverageType, ms); + } + } + return mapping; + } + + /** + * 搜索城市资源 + * @param customerId + * @param agencyIdPath 查询人所属的组织ID路径,包含他本身所在的组织 + * @param search 关键词,名称 + * @param isPage + * @param pageNo + * @param pageSize + * @return + */ + @Override + public List searchCityResourceEntities(String customerId, String agencyIdPath, String search, String category, Boolean isPage, Integer pageNo, Integer pageSize) { + if (isPage) { + PageHelper.startPage(pageNo ,pageSize); + } + + LambdaQueryWrapper query = constructQueryWrapper(customerId, agencyIdPath, search, category); + query.orderByAsc(IcCityManagementEntity::getCreatedTime); + return cityManagementDao.selectList(query); + } + + @Override + public Integer countCityResourceEntities(String customerId, String agencyIdPath, String search, String category) { + LambdaQueryWrapper query = constructQueryWrapper(customerId, agencyIdPath, search, category); + query.orderByAsc(IcCityManagementEntity::getCreatedTime); + return cityManagementDao.selectCount(query); + } + + /** + * 构造动态查询 + * @param customerId + * @param agencyIdPath + * @param search + * @param category + * @return + */ + private LambdaQueryWrapper constructQueryWrapper(String customerId, String agencyIdPath, String search, String category) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcCityManagementEntity::getCustomerId, customerId); + query.eq(IcCityManagementEntity::getCategory, category); + query.likeRight(IcCityManagementEntity::getAgencyIdPath, agencyIdPath); + if (StringUtils.isNotBlank(search)) { + query.like(IcCityManagementEntity::getName, search); + } + return query; + } + + @Override + public Integer countDangerousChemicalEntities(String customerId, String agencyIdPath, String search, String categoryKey) { + + LambdaQueryWrapper query = constructDangerousChemicalQueryWrapper(customerId, agencyIdPath, search, categoryKey); + + return dangerousChemicalsDao.selectCount(query); + } + + /** + * 搜索危化企业列表 + * @param customerId + * @param agencyIdPath 查询人所属的组织ID路径,包含他本身所在的组织 + * @param search 关键词,名称 + * @param isPage + * @param pageNo + * @param pageSize + * @return + */ + @Override + public List searchDangerousChemicalEntities( + String customerId, String agencyIdPath, String search, String categoryKey, Boolean isPage, Integer pageNo, Integer pageSize) { + + LambdaQueryWrapper query = constructDangerousChemicalQueryWrapper(customerId, agencyIdPath, search, categoryKey); + + if (isPage) { + PageHelper.startPage(pageNo ,pageSize); + } + query.orderByAsc(IcDangerousChemicalsEntity::getCreatedTime); + return dangerousChemicalsDao.selectList(query); + } + + private LambdaQueryWrapper constructDangerousChemicalQueryWrapper( + String customerId, String agencyIdPath, String search, String categoryKey) { + + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcDangerousChemicalsEntity::getCustomerId, customerId); + query.eq(IcDangerousChemicalsEntity::getCategory, categoryKey); + query.likeRight(IcDangerousChemicalsEntity::getAgencyIdPath, agencyIdPath); + if (StringUtils.isNotBlank(search)) { + query.like(IcDangerousChemicalsEntity::getName, search); + } + return query; + } + + @Override + public List searchByResiNumber(String customerId, String agencyIdPath, String search, Integer resiNumberGreaterThan, + Boolean isPage, Integer pageNo, Integer pageSize) { + LambdaQueryWrapper query = constructHouseByResiNumber(customerId, agencyIdPath, search, resiNumberGreaterThan); + if (isPage) { + PageHelper.startPage(pageNo, pageSize); + } + return ichousedao.selectList(query); + } + + /** + * 查询公共服务个数 + * @param customerId + * @param staffOrgIds 查询人所属的组织ID路径,包含他本身所在的组织 + * @param search + * @return + */ + @Override + public Integer countPublicServiceEntities(String customerId, String staffOrgIds, String search, String categoryKey) { + LambdaQueryWrapper query = constructPublicServiceQueryWrapper(customerId, staffOrgIds, search, categoryKey); + return publicServiceDao.selectCount(query); + } + + /** + * 搜索公共服务 + * @param customerId + * @param staffOrgIds 查询人所属的组织ID路径,包含他本身所在的组织 + * @param search + * @param isPage + * @param pageNo + * @param pageSize + * @return + */ + @Override + public List searchPublicServiceEntities(String customerId, String staffOrgIds, String search, + String categoryKey, Boolean isPage, Integer pageNo, Integer pageSize) { + + LambdaQueryWrapper query = constructPublicServiceQueryWrapper(customerId, staffOrgIds, search, categoryKey); + if (isPage) { + PageHelper.startPage(pageNo ,pageSize); + } + query.orderByAsc(IcPublicServiceEntity::getCreatedTime); + return publicServiceDao.selectList(query); + } + + /** + * 构造LambdaQueryWrapper + * @param customerId + * @param staffOrgIds + * @param search + * @param categoryKey + * @return + */ + LambdaQueryWrapper constructPublicServiceQueryWrapper( + String customerId, String staffOrgIds, String search, String categoryKey) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcPublicServiceEntity::getCustomerId, customerId); + query.likeRight(IcPublicServiceEntity::getAgencyIdPath, staffOrgIds); + query.eq(IcPublicServiceEntity::getCategory, categoryKey); + if (StringUtils.isNotBlank(search)) { + query.like(IcPublicServiceEntity::getName, search); + } + return query; + } + + @Override + public List searchSuporiorResourceEntities(String customerId, String staffOrgIds, String search, + String categoryKey, Boolean isPage, Integer pageNo, Integer pageSize) { + LambdaQueryWrapper query = constructSuporiorResourceQueryWrapper(customerId, staffOrgIds, search, categoryKey); + + if (isPage) { + PageHelper.startPage(pageNo ,pageSize); + } + query.orderByAsc(IcSuperiorResourceEntity::getCreatedTime); + return superiorResourceDao.selectList(query); + } + + @Override + public Integer countSuporiorResourceEntities(String customerId, String staffOrgIds, String search, String categoryKey) { + LambdaQueryWrapper query = constructSuporiorResourceQueryWrapper(customerId, staffOrgIds, search, categoryKey); + return superiorResourceDao.selectCount(query); + } + + LambdaQueryWrapper constructSuporiorResourceQueryWrapper(String customerId, String staffOrgIds, String search, String categoryKey) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcSuperiorResourceEntity::getCustomerId, customerId); + query.eq(IcSuperiorResourceEntity::getCategory, categoryKey); + query.likeRight(IcSuperiorResourceEntity::getAgencyIdPath, staffOrgIds); + if (StringUtils.isNotBlank(search)) { + query.like(IcSuperiorResourceEntity::getName, search); + } + + return query; + } + + @Override + public Integer countEnterprisePatrol(String customerId, String agencyId, String staffOrgIds, String search, String categoryKey) { + return enterprisePatrolRecordDao.countEnterprisePatrol(customerId, agencyId, staffOrgIds, search, categoryKey); + } + + @Override + public List listEnterprisePatrol(String customerId, String agencyId, String staffOrgIds, + String search, String categoryKey, Boolean isPage, + Integer pageNo, Integer pageSize) { + if (isPage) { + PageHelper.startPage(pageNo, pageSize); + } + return enterprisePatrolRecordDao.listEnterprisePatrol(customerId, agencyId, staffOrgIds, search, categoryKey); + } + + @Override + public Integer countByResiNumber(String customerId, String staffOrgIds, String search, Integer resiNumberBiggerThan) { + return ichousedao.selectCount(constructHouseByResiNumber(customerId, staffOrgIds, search, resiNumberBiggerThan)); + } + + /** + * 为"根据居住人数查询房屋"构造条件 + */ + private LambdaQueryWrapper constructHouseByResiNumber(String customerId, String staffOrgIds, String search, Integer resiNumberBiggerThan) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcHouseEntity::getCustomerId, customerId); + query.likeRight(IcHouseEntity::getOrgIdPath, staffOrgIds); + if (StringUtils.isNotBlank(search)) { + query.like(IcHouseEntity::getFullName, search); + } + query.ge(IcHouseEntity::getResiNumber, resiNumberBiggerThan); + return query; + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 3e0363caa9..0c2533a7c9 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.dingtalk.api.request.OapiRobotSendRequest; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.Constant; @@ -31,6 +32,7 @@ import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.govorg.*; import com.epmet.dataaggre.dto.epmetuser.result.ListStaffResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO; +import com.epmet.dataaggre.dto.epmetuser.result.StaffSelectResDTO; import com.epmet.dataaggre.dto.govorg.*; import com.epmet.dataaggre.dto.govorg.form.*; import com.epmet.dataaggre.dto.govorg.result.*; @@ -1053,5 +1055,28 @@ public class GovOrgServiceImpl implements GovOrgService { return infoCache; } + /** + * 组织下的工作人员下拉框 + * + * @param customerId + * @param agencyId + * @return + */ + @Override + public List staffSelectList(String customerId, String agencyId) { + List staffIds = customerStaffAgencyDao.selectStaffList(agencyId, "agency"); + if (org.springframework.util.CollectionUtils.isEmpty(staffIds)) { + return new ArrayList<>(); + } + List resultDTOList = epmetUserService.staffSelectList(staffIds); + return resultDTOList; + } + @Override + public CustomerAgencyEntity getRootAgencyByCustomerId(String customerId) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(CustomerAgencyEntity::getCustomerId, customerId); + query.eq(CustomerAgencyEntity::getPid, "0"); // 跟组织的pid为"0" + return customerAgencyDao.selectOne(query); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java index cb72d62d07..44ec60c4cd 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java @@ -4,6 +4,8 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; import com.epmet.dataaggre.dto.govproject.form.*; import com.epmet.dataaggre.dto.govproject.result.*; +import com.epmet.dataaggre.entity.govproject.IcEventEntity; +import com.sun.org.apache.xpath.internal.operations.Bool; import java.util.LinkedList; import java.util.List; @@ -100,4 +102,23 @@ public interface GovProjectService { * @return */ List getIssueProjectFirstCategory(List issueIds); + + /** + * 数量 + * @param staffOrgIds + * @param isDifficultPoint 是否是难点堵点 + * @return + */ + Integer countIcEventEntities(String customerId, String staffOrgIds, String search, Boolean isDifficultPoint); + + /** + * 搜索事件 + * @param staffOrgIds + * @param search + * @param isDifficultPoint 是否是难点堵点 + * @return + */ + List searchIcEventEntities(String customerId, String staffOrgIds, String search, Boolean isDifficultPoint, + Boolean isPage, Integer pageNo, Integer pageSize); + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java index 3c4ea9f65c..de4c2c2bc5 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.dataaggre.service.govproject.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.CustomerIdConstant; import com.epmet.commons.tools.constant.NumConstant; @@ -18,6 +19,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.govproject.IcEventDao; import com.epmet.dataaggre.dao.govproject.ProjectDao; import com.epmet.dataaggre.dto.datastats.result.FactAgencyProjectMonthResultDTO; import com.epmet.dataaggre.dto.datastats.result.FactAgencyProjectResultDTO; @@ -31,6 +33,7 @@ import com.epmet.dataaggre.dto.govproject.ResiEventReportOrgDTO; import com.epmet.dataaggre.dto.govproject.form.*; import com.epmet.dataaggre.dto.govproject.result.*; import com.epmet.dataaggre.dto.resigroup.ResiTopicDTO; +import com.epmet.dataaggre.entity.govproject.IcEventEntity; import com.epmet.dataaggre.service.datastats.DataStatsService; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService; @@ -82,6 +85,8 @@ public class GovProjectServiceImpl implements GovProjectService { private EpmetUserService epmetUserService; @Autowired private LoginUserUtil loginUserUtil; + @Autowired + private IcEventDao icEventDao; /** * @Description 查询项目信息 @@ -644,4 +649,42 @@ public class GovProjectServiceImpl implements GovProjectService { return projectDao.selectProjectIssueCategory(issueIds); } + @Override + public Integer countIcEventEntities(String customerId, String staffOrgIds, String search, Boolean isDifficultPoint) { + LambdaQueryWrapper query = constructIcEventQueryWrapper(customerId, staffOrgIds, search, isDifficultPoint); + return icEventDao.selectCount(query); + } + + @Override + public List searchIcEventEntities(String customerId, String staffOrgIds, String search, + Boolean isDifficultPoint, Boolean isPage, Integer pageNo, Integer pageSize) { + LambdaQueryWrapper query = constructIcEventQueryWrapper(customerId, staffOrgIds, search, isDifficultPoint); + if (isPage) { + PageHelper.startPage(pageNo, pageSize); + } + return icEventDao.selectList(query); + } + + /** + * 构造事件查询 + * @param customerId + * @param staffOrgIds + * @param search + * @param difficultPoint 是否是难点堵点 + * @return + */ + private LambdaQueryWrapper constructIcEventQueryWrapper(String customerId, String staffOrgIds, + String search, Boolean difficultPoint) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcEventEntity::getCustomerId, customerId); + query.likeRight(IcEventEntity::getGridPids, staffOrgIds); + if (StringUtils.isNotBlank(search)) { + query.like(IcEventEntity::getName, search); + } + if (difficultPoint != null) { + query.eq(IcEventEntity::getDifficultPoint, difficultPoint); + } + + return query; + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/heart/HeartService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/heart/HeartService.java new file mode 100644 index 0000000000..e1b4e3692b --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/heart/HeartService.java @@ -0,0 +1,43 @@ +package com.epmet.dataaggre.service.heart; + +import com.epmet.dataaggre.entity.heart.IcCommunitySelfOrganizationEntity; +import com.epmet.dataaggre.entity.heart.IcPartyUnitEntity; + +import java.util.List; + +/** + * heart service + */ +public interface HeartService { + /** + * 搜索社区自组织列表 + * @param customerId 客户ID + * @param agencyId 当前查询人员所属组织ID + * @param staffOrgIds 当前查询人员所属组织的所有上级id path + * @param search 搜索条件 + * @param isPage + * @param pageNo + * @param pageSize + * @return + */ + List searchCommunityOrgEntities(String customerId, String agencyId, String staffOrgIds, + String search, String categoryKey, Boolean isPage, + Integer pageNo, Integer pageSize); + + /** + * + * @param customerId + * @param agencyId + * @param staffOrgIds + * @param search + * @param isPage + * @param pageNo + * @param pageSize + * @return + */ + List searchPartyUnitEntities(String customerId, String agencyId, String staffOrgIds, String partyUnitType, + String search, Boolean isPage, Integer pageNo, Integer pageSize); + + Integer countPartyUnitEntities(String customerId, String agencyId, String staffOrgIds, String partyUnitType, String search); + Integer countCommunityOrgEntities(String customerId, String agencyId, String staffOrgIds, String search, String categoryKey); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/heart/impl/HeartServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/heart/impl/HeartServiceImpl.java new file mode 100644 index 0000000000..c29f54c5ff --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/heart/impl/HeartServiceImpl.java @@ -0,0 +1,124 @@ +package com.epmet.dataaggre.service.heart.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.heart.IcCommunitySelfOrganizationDao; +import com.epmet.dataaggre.dao.heart.IcPartyUnitDao; +import com.epmet.dataaggre.entity.heart.IcCommunitySelfOrganizationEntity; +import com.epmet.dataaggre.entity.heart.IcPartyUnitEntity; +import com.epmet.dataaggre.service.heart.HeartService; +import com.epmet.dto.result.PartyMemberUserIdsResultDTO; +import com.github.pagehelper.PageHelper; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@DataSource(value = DataSourceConstant.EPMET_HEART) +@Service +public class HeartServiceImpl implements HeartService { + + @Autowired + private IcCommunitySelfOrganizationDao communitySelfOrganizationDao; + + @Autowired + private IcPartyUnitDao partyUnitDao; + + /** + * 搜索社区自组织列表 + * @param customerId 客户ID + * @param agencyId 当前查询人员所属组织ID + * @param staffOrgIds 当前查询人员所属id path + * @param search 搜索条件 + * @return 社区自组织列表 + */ + @Override + public List searchCommunityOrgEntities( + String customerId, String agencyId, String staffOrgIds, String search, String categoryKey, + Boolean isPage, Integer pageNo, Integer pageSize) { + + LambdaQueryWrapper query = constructCommunityOrgQueryWrapper( + customerId, agencyId, staffOrgIds, search, categoryKey); + + if (isPage) { + PageHelper.startPage(pageNo, pageSize); + } + query.orderByAsc(IcCommunitySelfOrganizationEntity::getCreatedTime); + return communitySelfOrganizationDao.selectList(query); + } + + @Override + public Integer countCommunityOrgEntities(String customerId, String agencyId, String staffOrgIds, String search, String categoryKey) { + LambdaQueryWrapper query = constructCommunityOrgQueryWrapper( + customerId, agencyId, staffOrgIds, search, categoryKey); + + return communitySelfOrganizationDao.selectCount(query); + } + + private LambdaQueryWrapper constructCommunityOrgQueryWrapper( + String customerId, String agencyId, String staffOrgIds, String search, String categoryKey) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcCommunitySelfOrganizationEntity::getCustomerId, customerId); + query.eq(IcCommunitySelfOrganizationEntity::getCategoryCode, categoryKey); + query.and(q -> q.eq(IcCommunitySelfOrganizationEntity::getOrgId, agencyId).or().likeRight(IcCommunitySelfOrganizationEntity::getPids, staffOrgIds)); + if (StringUtils.isNotBlank(search)) { + query.like(IcCommunitySelfOrganizationEntity::getOrganizationName, search); + } + return query; + } + + /** + * 联建单位数量查询 + * @param customerId + * @param agencyId + * @param staffOrgIds + * @param partyUnitType + * @param search + * @return + */ + public Integer countPartyUnitEntities(String customerId, String agencyId, String staffOrgIds, String partyUnitType, String search) { + + LambdaQueryWrapper query = constructPartyUnitQueryWrapper(customerId, agencyId, staffOrgIds, partyUnitType, search); + + query.orderByAsc(IcPartyUnitEntity::getCreatedTime); + return partyUnitDao.selectCount(query); + } + + /** + * + * @param customerId + * @param agencyId 当前查询人员所属组织ID + * @param staffOrgIds 当前查询人员所属id path + * @param search + * @param isPage + * @param pageNo + * @param pageSize + * @return + */ + @Override + public List searchPartyUnitEntities( + String customerId, String agencyId, String staffOrgIds, String partyUnitType, String search, + Boolean isPage, Integer pageNo, Integer pageSize) { + + LambdaQueryWrapper query = constructPartyUnitQueryWrapper(customerId, agencyId, staffOrgIds, partyUnitType, search); + + if (isPage) { + PageHelper.startPage(pageNo, pageSize); + } + query.orderByAsc(IcPartyUnitEntity::getCreatedTime); + return partyUnitDao.selectList(query); + } + + private LambdaQueryWrapper constructPartyUnitQueryWrapper(String customerId, String agencyId, String staffOrgIds, String partyUnitType, String search) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcPartyUnitEntity::getCustomerId, customerId); + query.eq(IcPartyUnitEntity::getType, partyUnitType); + query.and(q -> q.eq(IcPartyUnitEntity::getAgencyId, agencyId).or().likeRight(IcPartyUnitEntity::getPids, staffOrgIds)); + if (StringUtils.isNotBlank(search)) { + query.like(IcPartyUnitEntity::getUnitName, search); + } + return query; + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java new file mode 100644 index 0000000000..01a3464762 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java @@ -0,0 +1,437 @@ +package com.epmet.dataaggre.service.impl; + +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.dataaggre.dto.epmetuser.result.IcResiInfoResultDTO; +import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO; +import com.epmet.dataaggre.dto.govorg.result.IcEnterisePatrolResultDTO; +import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity; +import com.epmet.dataaggre.entity.govorg.*; +import com.epmet.dataaggre.entity.govproject.IcEventEntity; +import com.epmet.dataaggre.entity.heart.IcCommunitySelfOrganizationEntity; +import com.epmet.dataaggre.entity.heart.IcPartyUnitEntity; +import com.epmet.dataaggre.service.CoverageService; +import com.epmet.dataaggre.service.epmetuser.IcResiService; +import com.epmet.dataaggre.service.govorg.GovOrgCoverageService; +import com.epmet.dataaggre.service.govorg.GovOrgService; +import com.epmet.dataaggre.service.govproject.GovProjectService; +import com.epmet.dataaggre.service.heart.HeartService; +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 java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Slf4j +@Service +public class CoverageServiceImpl implements CoverageService { + + @Autowired + private GovOrgCoverageService orgCoverageService; + + @Autowired + private GovOrgService govOrgService; + + @Autowired + private IcResiService icResiService; + + @Autowired + private HeartService heartService; + + @Autowired + private GovProjectService govProjectService; + + /** + * 场所类型常量 + */ + public static final String PLACE_TYPE_RESI = "resi"; + public static final String PLACE_TYPE_SPECIAL_RESI = "special_resi"; + public static final String PLACE_TYPE_EVENT= "event"; + public static final String PLACE_TYPE_CITY_MANAGEMENT= "city_management"; + public static final String PLACE_TYPE_COMUNITY_ORG= "community_org"; + public static final String PLACE_TYPE_DANGEROUS_CHEMICALS= "dangerous_chemicals"; + public static final String PLACE_TYPE_ENTERPRISE_PARTROL= "enterprise_patrol"; + public static final String PLACE_TYPE_GROUP_RENT= "group_rent"; + public static final String PLACE_TYPE_PUBLIC_SERVICE= "public_service"; + public static final String PLACE_TYPE_SUPERIOR_RESOURCE= "superior_resource"; + public static final String PLACE_TYPE_PARTY_UNIT= "party_unit"; + + /** + * 图层,大屏数据分析,数据列表 + * @param coverageTypes 图层列表 + * @param categoryKeys 分类列表 + * @param search 搜索关键词 + * @param pageNo 页码 + * @param pageSize 页面大小 + * @return + */ + @Override + public PageData analysisDataList(List coverageTypes, List categoryKeys, + String search, Integer pageNo, Integer pageSize, Boolean isPage) { + + // 获取跟组织的坐标 + String customerId = EpmetRequestHolder.getLoginUserCustomerId(); + String staffId = EpmetRequestHolder.getLoginUserId(); + CustomerAgencyEntity rootAgency = govOrgService.getRootAgencyByCustomerId(customerId); + + // 1.根据categoryKeys分类key列表,查询他们和图层时间的关系,映射为一个map + Map> mapping; + if (CollectionUtils.isNotEmpty(categoryKeys)) { + // 有分类keys,使用分类keys查询,使用coverageTypes分组 + mapping = orgCoverageService.getMappingRelationByCategoryKey(categoryKeys, customerId); + if (mapping == null || mapping.size() == 0) { + mapping = orgCoverageService.getMappingRelationByCategoryKey(categoryKeys, "default"); + } + } else { + // 没有分类keys,使用coverageTypes直接查询 + mapping = orgCoverageService.getMappingRelationByCoverageType(coverageTypes, customerId); + if (mapping == null || mapping.size() == 0) { + mapping = orgCoverageService.getMappingRelationByCoverageType(categoryKeys, "default"); + } + } + + // 2.循环coverageTypes,使用key到map中查询(为了顺序),得到categoryKeys列表之后,根据实际情况做相应的查询 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, staffId); + + if (staffInfo == null) { + String msg = "未找到当前登录人信息。staffId:" + EpmetRequestHolder.getLoginUserId(); + throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), msg, msg); + } + + String staffPids = getStaffPidsFromStaffInfo(staffInfo); + String agencyId = staffInfo.getAgencyId(); + + // 分页不太好分,先查出所有的数据,然后partation()吧 + int start = (pageNo - 1) * pageSize; + int end = pageNo * pageSize; // 不包含 + + // 总共查询了多少个了 + int lastTotalCount = 0; + int totalCount = 0; + + // 是否出现要展示的数据 + boolean dataAppear = false; + + // 是否是第一次出现需要展示的数据 + boolean firstTimeDataAppear = false; + + // 数据是否够了,够了就不再查询数据 + boolean isDataEnough = false; + + // 结果集 + List rls = new ArrayList<>(); + for (String coverageType : coverageTypes) { + List ccm = mapping.get(coverageType); + if (CollectionUtils.isEmpty(ccm)) { + continue; + } + for (GovOrgCoverageService.CategoryCoverageMapping e : ccm) { + + Integer tempCount = doDataListCount(EpmetRequestHolder.getLoginUserCustomerId(), agencyId, staffPids, e.getPlaceType(), + e.getCategoryKey(), search); + lastTotalCount = totalCount; + totalCount += tempCount; + + if (!isPage) { + // 不分页,查询所有 + // 检索数据 + List dataSegment = doDataListSearch( + EpmetRequestHolder.getLoginUserCustomerId(), agencyId, staffPids, e.getPlaceType(), + e.getCategoryKey(), search, null, null, isPage, rootAgency); + rls.addAll(dataSegment); + continue; + } + + if (totalCount > start) { + if (!dataAppear) { + dataAppear = true; + firstTimeDataAppear = true; + } + } else { + continue; + } + + if (isDataEnough) { + // 数据够了,则不再查询数据列表,只检索数量,用于分页条显示 + continue; + } + + // 检索数据 + List dataSegment = doDataListSearch( + EpmetRequestHolder.getLoginUserCustomerId(), agencyId, staffPids, e.getPlaceType(), + e.getCategoryKey(), search, 1, end, isPage, rootAgency); + + if (firstTimeDataAppear) { + rls.addAll(dataSegment.subList(start - lastTotalCount, dataSegment.size())); + firstTimeDataAppear = false; + } else { + rls.addAll(dataSegment); + } + + // 最后,将多余的数据裁剪掉 + if (rls.size() >= pageSize) { + isDataEnough = true; + } + } + } + + if (isPage && rls.size() >= pageSize) { + return new PageData<>(rls.subList(0, pageSize), totalCount); + } else { + return new PageData<>(rls, totalCount); + } + } + + /** + * 从staff信息中获取工作人员的PIDS + * @param staffInfo + * @return + */ + private String getStaffPidsFromStaffInfo(CustomerStaffInfoCacheResult staffInfo) { + String agencyId = staffInfo.getAgencyId(); + String agencyPIds = staffInfo.getAgencyPIds(); + if (StringUtils.isNotBlank(agencyPIds) && !"0".equals(agencyPIds)) { + return agencyPIds.concat(":").concat(agencyId); + } else { + return agencyId; + } + } + + /** + * 计算数据条数 + * @param customerId + * @param agencyId + * @param staffOrgIds + * @param placeType + * @param categoryKey + * @param search + * @return + */ + public Integer doDataListCount(String customerId, String agencyId, String staffOrgIds, String placeType, + String categoryKey, String search) { + + if (PLACE_TYPE_RESI.equals(placeType)) { + // 使用分类查询居民信息 + return icResiService.countResisByCategories4Coverage(customerId, agencyId, + staffOrgIds, categoryKey, search); + } else if (PLACE_TYPE_SPECIAL_RESI.equals(placeType)) { + // 特殊人群 + return icResiService.countSpecialResisBySpecialType(customerId, agencyId, staffOrgIds, categoryKey, search); + } else if (PLACE_TYPE_EVENT.equals(placeType)) { + // 难点痛点 + return govProjectService.countIcEventEntities(customerId, staffOrgIds, search, true); + } else if (PLACE_TYPE_CITY_MANAGEMENT.equals(placeType)) { + // 城市资源管理 + return orgCoverageService.countCityResourceEntities(customerId, staffOrgIds, search, categoryKey); + } else if (PLACE_TYPE_COMUNITY_ORG.equals(placeType)) { + // 社区自组织 + return heartService.countCommunityOrgEntities(customerId, agencyId, staffOrgIds, search, categoryKey); + } else if (PLACE_TYPE_PARTY_UNIT.equals(placeType)) { + // 机关直属部门(联建单位) 楼宇党建 0;两新组织 1;区域单位党建 2;机关直属部门 3;社会团体 4;民办非企业单位 5;基金会 6;其他 7 + if (categoryKey.equals("pu_jgzsbm")) { + String partyUnitType = "3"; + return heartService.countPartyUnitEntities(customerId, agencyId, staffOrgIds, partyUnitType, search); + } + } else if (PLACE_TYPE_DANGEROUS_CHEMICALS.equals(placeType)) { + // 危化企业 + return orgCoverageService.countDangerousChemicalEntities(customerId, staffOrgIds, search, categoryKey); + } else if (PLACE_TYPE_ENTERPRISE_PARTROL.equals(placeType)) { + // 企事业单位巡查 + return orgCoverageService.countEnterprisePatrol(customerId, agencyId, staffOrgIds, search, categoryKey); + } else if (PLACE_TYPE_GROUP_RENT.equals(placeType)) { + // 群租房。出租的房屋,住的人口超过5人属于群租房(是个规定 + return orgCoverageService.countByResiNumber(customerId, staffOrgIds, search, 5); + } else if (PLACE_TYPE_PUBLIC_SERVICE.equals(placeType)) { + // 公共服务 + return orgCoverageService.countPublicServiceEntities(customerId, staffOrgIds, search, categoryKey); + } else if (PLACE_TYPE_SUPERIOR_RESOURCE.equals(placeType)) { + // 优势资源 + return orgCoverageService.countSuporiorResourceEntities(customerId, staffOrgIds, search, categoryKey); + } + + return 0; + } + + /** + * 执行数据查询 + * @param customerId + * @param agencyId 查询的工作人员所在组织id + * @param staffOrgIds 查询的工作人员所在组织的id path,包含agencyId + * @param placeType 场所类型 + * @param categoryKey 类别key + * @param search 关键词 + * @return + */ + public List doDataListSearch(String customerId, String agencyId, String staffOrgIds, + String placeType, String categoryKey, String search, + Integer pageNo, Integer pageSize,Boolean isPage, + CustomerAgencyEntity rootAgency) { + + // 根据categoryKey查询类别名称 + IcCoverageCategoryDictEntity categoryDict = orgCoverageService.selectByCategoryKey(categoryKey); + + if (PLACE_TYPE_RESI.equals(placeType)) { + // 使用分类查询居民信息 + List resiEntities = icResiService.listResisByCategories4Coverage( + customerId, agencyId, staffOrgIds, categoryKey, search, pageNo, pageSize, isPage); + + return resiEntities.parallelStream().map(re -> { + // 使用楼栋的坐标补充居民的坐标信息 + String[] coordinates = getUserCoordinates(re.getId(), re.getBuildId(), rootAgency); + + return new CoverageAnalisisDataListResultDTO( + re.getId(), categoryKey, isPage ? categoryDict.getCategoryName() : null, placeType, isPage ? re.getName() : null, + coordinates[1], coordinates[0]); + + }).collect(Collectors.toList()); + } else if (PLACE_TYPE_SPECIAL_RESI.equals(placeType)) { + // 特殊人群 + List resiInfos = icResiService.listSpecialResisBySpecialType( + customerId, agencyId, staffOrgIds, categoryKey, search, pageNo, pageSize, isPage); + + return resiInfos.parallelStream().map(re -> { + String[] coordinates = getUserCoordinates(re.getId(), re.getBuildId(), rootAgency); + + return new CoverageAnalisisDataListResultDTO( + re.getId(), categoryKey, isPage ? categoryDict.getCategoryName() : null, placeType, + isPage ? re.getName() : null, coordinates[1], coordinates[0]); + + }).collect(Collectors.toList()); + } else if (PLACE_TYPE_EVENT.equals(placeType)) { + // 难点痛点 + List icEventEntities = govProjectService.searchIcEventEntities( + customerId, staffOrgIds, search, true, isPage, pageNo, pageSize); + + return icEventEntities.stream() + .map(e -> new CoverageAnalisisDataListResultDTO( + e.getId(), categoryKey, isPage ? categoryDict.getCategoryName() : null, placeType, isPage ? e.getName() : null, + e.getLatitude(), e.getLongitude())) + .collect(Collectors.toList()); + + } else if (PLACE_TYPE_CITY_MANAGEMENT.equals(placeType)) { + // 城市资源管理 + List cityResources = orgCoverageService.searchCityResourceEntities( + customerId, staffOrgIds, search, categoryKey, isPage, pageNo, pageSize); + return cityResources.stream() + .map(resource -> new CoverageAnalisisDataListResultDTO( + resource.getId(), categoryKey, isPage ? categoryDict.getCategoryName() : null, placeType, + isPage ? resource.getName() : null, resource.getLatitude(), resource.getLongitude())) + .collect(Collectors.toList()); + + } else if (PLACE_TYPE_COMUNITY_ORG.equals(placeType)) { + // 社区自组织 + List l = heartService.searchCommunityOrgEntities( + customerId, agencyId, staffOrgIds, search, categoryKey, isPage, pageNo, pageSize); + + return l.stream() + .map(org -> new CoverageAnalisisDataListResultDTO( + org.getId(), categoryKey, isPage ? categoryDict.getCategoryName() : null, placeType, + isPage ? org.getOrganizationName() : null, org.getLatitude(), org.getLongitude())) + .collect(Collectors.toList()); + + } else if (PLACE_TYPE_PARTY_UNIT.equals(placeType)) { + // 机关直属部门(联建单位) 楼宇党建 0;两新组织 1;区域单位党建 2;机关直属部门 3;社会团体 4;民办非企业单位 5;基金会 6;其他 7 + if (categoryKey.equals("pu_jgzsbm")) { + String partyUnitType = "3"; + List l = heartService.searchPartyUnitEntities( + customerId, agencyId, staffOrgIds, partyUnitType, search, isPage, pageNo, pageSize); + + return l.stream() + .map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey, + isPage ? categoryDict.getCategoryName() : null, placeType, isPage ? dc.getUnitName() : null, dc.getLatitude(), dc.getLongitude())) + .collect(Collectors.toList()); + } + return new ArrayList<>(); + } else if (PLACE_TYPE_DANGEROUS_CHEMICALS.equals(placeType)) { + // 危化企业 + List l = orgCoverageService.searchDangerousChemicalEntities( + customerId, staffOrgIds, search, categoryKey, isPage, pageNo, pageSize); + + return l.stream() + .map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey, + isPage ? categoryDict.getCategoryName() : null, placeType, isPage ? dc.getName() : null, dc.getLatitude(), dc.getLongitude())) + .collect(Collectors.toList()); + + } else if (PLACE_TYPE_ENTERPRISE_PARTROL.equals(placeType)) { + // 企事业单位巡查 + List list = orgCoverageService.listEnterprisePatrol( + customerId, agencyId, staffOrgIds, search, categoryKey, isPage, pageNo, pageSize); + + return list.stream() + .map(dc -> new CoverageAnalisisDataListResultDTO(dc.getEnterpriseId(), categoryKey, + isPage ? categoryDict.getCategoryName() : null, placeType, isPage ? dc.getPlaceOrgName() : null, dc.getLatitude(), dc.getLongitude())) + .collect(Collectors.toList()); + + } else if (PLACE_TYPE_GROUP_RENT.equals(placeType)) { + // 群租房。出租的房屋,住的人口超过5人属于群租房(是个规定 + List houses = orgCoverageService.searchByResiNumber(customerId, staffOrgIds, search, 5, isPage, pageNo, pageSize); + return houses.parallelStream().map(h -> { + BuildingInfoCache buildingInfo = govOrgService.queryBuildingInfo(h.getBuildingId()); + String latitude = null; + String longitude = null; + if (buildingInfo != null) { + latitude = buildingInfo.getLatitude(); + longitude = buildingInfo.getLongitude(); + } + String houseName = StringUtils.isNotBlank(h.getFullName()) ? h.getFullName() : h.getHouseName(); + return new CoverageAnalisisDataListResultDTO(h.getId(), categoryKey, + isPage ? categoryDict.getCategoryName() : null, placeType, isPage ? houseName : null, latitude, longitude); + }).collect(Collectors.toList()); + + } else if (PLACE_TYPE_PUBLIC_SERVICE.equals(placeType)) { + // 公共服务 + List l = orgCoverageService.searchPublicServiceEntities( + customerId, staffOrgIds, search, categoryKey, isPage, pageNo, pageSize); + return l.stream() + .map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey, + isPage ? categoryDict.getCategoryName() : null, placeType, isPage ? dc.getName() : null, dc.getLatitude(), dc.getLongitude())) + .collect(Collectors.toList()); + } else if (PLACE_TYPE_SUPERIOR_RESOURCE.equals(placeType)) { + // 优势资源 + List l = orgCoverageService.searchSuporiorResourceEntities( + customerId, staffOrgIds, search, categoryKey, isPage, pageNo, pageSize); + return l.stream() + .map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey, + isPage ? categoryDict.getCategoryName() : null, placeType, isPage ? dc.getName() : null, dc.getLatitude(), dc.getLongitude())) + .collect(Collectors.toList()); + } + return new ArrayList<>(); + } + + /** + * 获取用户的坐标信息 + * @param resiId + * @param buildingId + * @param rootAgency 跟组织,用于备选,从其中获取坐标 + * @return + */ + private String[] getUserCoordinates(String resiId, String buildingId, CustomerAgencyEntity rootAgency) { + String longitude = null; + String latitude = null; + + BuildingInfoCache resiBuilding = govOrgService.queryBuildingInfo(buildingId); + if (resiBuilding != null) { + longitude = resiBuilding.getLongitude(); + latitude = resiBuilding.getLatitude(); + } else { + log.error("居民信息所属楼栋信息未找到。居民id:{},楼栋id:{}", resiId, buildingId); + } + + if (StringUtils.isAnyBlank(longitude, latitude)) { + // 楼栋没有坐标,那就取跟组织的 + longitude = rootAgency.getLongitude(); + latitude = rootAgency.getLatitude(); + } + return new String[]{longitude, latitude}; + } +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml index 9df581e38f..aa857a1eaf 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml @@ -156,6 +156,11 @@ dynamic: url: @datasource.druid.epmettduck.url@ username: @datasource.druid.epmettduck.username@ password: @datasource.druid.epmettduck.password@ + heart: + driver-class-name: com.mysql.cj.jdbc.Driver + url: @datasource.druid.heart.url@ + username: @datasource.druid.heart.username@ + password: @datasource.druid.heart.password@ feign: hystrix: enabled: true diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml index a4ebcae961..3efcdfb3dc 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml @@ -138,4 +138,18 @@ AND USER_ID = #{staffId} + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml index c28d81375c..dd02ccda7f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml @@ -36,4 +36,35 @@ ORDER BY id = #{icUserId} desc + + + + + + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcBuildingDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcBuildingDao.xml index 342c05e0c8..a1b7bc4a64 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcBuildingDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcBuildingDao.xml @@ -10,7 +10,9 @@ ib.NEIGHBOR_HOOD_ID as neighborHoodId, ih.NEIGHBOR_HOOD_NAME as neighborHoodName, ih.GRID_ID as gridId, - ih.AGENCY_ID as agencyId + ih.AGENCY_ID as agencyId, + ib.LATITUDE as latitude, + ib.LONGITUDE as longitude FROM ic_building ib INNER JOIN ic_neighbor_hood ih ON ( ib.NEIGHBOR_HOOD_ID = ih.id ) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCityManagementDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCityManagementDao.xml new file mode 100644 index 0000000000..8cdd63a520 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCityManagementDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryDictDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryDictDao.xml new file mode 100644 index 0000000000..beb08a1262 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryDictDao.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcDangerousChemicalsDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcDangerousChemicalsDao.xml new file mode 100644 index 0000000000..1892256119 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcDangerousChemicalsDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcEnterprisePatrolRecordDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcEnterprisePatrolRecordDao.xml new file mode 100644 index 0000000000..6aa433eb09 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcEnterprisePatrolRecordDao.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcHouseDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcHouseDao.xml new file mode 100644 index 0000000000..98bc2f33de --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcHouseDao.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcPublicServiceDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcPublicServiceDao.xml new file mode 100644 index 0000000000..710713be55 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcPublicServiceDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcSuperiorResourceDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcSuperiorResourceDao.xml new file mode 100644 index 0000000000..a2c5c9589f --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcSuperiorResourceDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/IcEventDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/IcEventDao.xml new file mode 100644 index 0000000000..ad5afc48d2 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/IcEventDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/heart/IcCommunitySelfOrganizationDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/heart/IcCommunitySelfOrganizationDao.xml new file mode 100644 index 0000000000..c785e28c0d --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/heart/IcCommunitySelfOrganizationDao.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/heart/IcPartyUnitDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/heart/IcPartyUnitDao.xml new file mode 100644 index 0000000000..0b1f724c9d --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/heart/IcPartyUnitDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java index 8c439aa218..1f7d8420ab 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java @@ -19,6 +19,8 @@ public interface ImportTaskConstants { String BIZ_TYPE_ATTENTION_VACCINATION = "attention_vaccination"; String BIZ_TYPE_ATTENTION_TRIP_REPORT = "attention_vaccination"; String BIZ_TYPE_IC_PARTY_MEMBER = "ic_party_member"; + String BIZ_TYPE_IC_DANGEROUS_CHEMICALS = "ic_dangerous_chemicals"; + String BIZ_TYPE_IC_ENTERPRISE="ic_enterprise"; /** * 核酸检测 */ @@ -46,4 +48,16 @@ public interface ImportTaskConstants { * 处理状态:完成,但未完全成功 */ String PROCESS_STATUS_FINISHED_FAIL = "finished_fail"; + /** + * 优势资源 + */ + String IC_SUPERIOR_RESOURCE = "ic_superior_resource"; + /** + * 公共服务 + */ + String IC_PUBLIC_SERVICE = "ic_public_service"; + /** + * 城市管理 + */ + String IC_CITY_MANAGEMENT = "ic_city_management"; } diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcCommunitySelfOrganizationPersonnelDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcCommunitySelfOrganizationPersonnelDTO.java index 95ad773777..cb4d897091 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcCommunitySelfOrganizationPersonnelDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcCommunitySelfOrganizationPersonnelDTO.java @@ -51,6 +51,11 @@ public class IcCommunitySelfOrganizationPersonnelDTO implements Serializable { */ private String orgId; + /** + * 居民信息当中的志愿者ic_resi_user.id + */ + private String icResiUserId; + /** * 人员姓名 */ diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcPartyUnitDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcPartyUnitDTO.java index ef85be1d31..2258b94762 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcPartyUnitDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcPartyUnitDTO.java @@ -69,12 +69,21 @@ public class IcPartyUnitDTO implements Serializable { @NotBlank(message = "分类不能为空",groups = AddGroup.class) private String type; + /** + * 分类名称 + */ + private String typeName; + /** * 服务事项 多选逗号隔开 */ private String serviceMatter; private List serviceMatterList; + /** + * 服务事项名称 + */ + private List serviceMatterNameList; /** * 联系人 diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/CommunitySelfOrganizationListFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/CommunitySelfOrganizationListFormDTO.java index 7a8fba0899..30c0584e95 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/CommunitySelfOrganizationListFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/CommunitySelfOrganizationListFormDTO.java @@ -50,4 +50,6 @@ public class CommunitySelfOrganizationListFormDTO implements Serializable { private String remark; private String categoryCode; + //查详情时候用 + private String orgId; } diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/CommunitySelfOrganizationListDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/CommunitySelfOrganizationListDTO.java index 563ccf0928..331fbf3413 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/CommunitySelfOrganizationListDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/CommunitySelfOrganizationListDTO.java @@ -18,6 +18,11 @@ public class CommunitySelfOrganizationListDTO implements Serializable { private static final long serialVersionUID = 3208034033470533749L; + /** + * 本条记录所属组织id + */ + private String agencyId; + /** * 排序 */ diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetHeartOpenFeignClient.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetHeartOpenFeignClient.java index 755a5d881d..f3c8430b3e 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetHeartOpenFeignClient.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetHeartOpenFeignClient.java @@ -157,4 +157,5 @@ public interface EpmetHeartOpenFeignClient { */ @PostMapping("/heart/resi/volunteer/addVolunteer") Result addVolunteer(@RequestBody ResiVolunteerAuthenticateFormDTO formDTO); + } diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetHeartOpenFeignClientFallback.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetHeartOpenFeignClientFallback.java index e818a49b04..10670de1ab 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetHeartOpenFeignClientFallback.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetHeartOpenFeignClientFallback.java @@ -13,11 +13,13 @@ import com.epmet.dto.form.IcDemandFormDTO; import com.epmet.dto.form.PartyUnitListFormDTO; import com.epmet.dto.form.demand.DemandRecId; import com.epmet.dto.form.demand.IcEventCommentToDemandFromDTO; +import com.epmet.dto.form.demand.ServiceItemSelectFormDTO; import com.epmet.dto.form.demand.UserDemandNameQueryFormDTO; import com.epmet.dto.form.resi.ResiVolunteerAuthenticateFormDTO; import com.epmet.dto.form.resi.VolunteerCommonFormDTO; import com.epmet.dto.result.PartyUnitListResultDTO; import com.epmet.dto.result.demand.IcResiDemandDictDTO; +import com.epmet.dto.result.demand.OptionDTO; import com.epmet.dto.result.resi.PageVolunteerInfoResultDTO; import com.epmet.feign.EpmetHeartOpenFeignClient; @@ -158,4 +160,5 @@ public class EpmetHeartOpenFeignClientFallback implements EpmetHeartOpenFeignCli public Result addVolunteer(ResiVolunteerAuthenticateFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_HEART_SERVER, "addVolunteer", formDTO); } + } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcCommunitySelfOrganizationController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcCommunitySelfOrganizationController.java index 399e9c7e81..ccdc9c79d7 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcCommunitySelfOrganizationController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcCommunitySelfOrganizationController.java @@ -255,6 +255,17 @@ public class IcCommunitySelfOrganizationController { return new Result().ok(icCommunitySelfOrganizationService.communitySelfOrganizationList(tokenDto, formDTO)); } + /** + * 社区自组织详情 + * @param orgId 社区自组织id + * @return + */ + @PostMapping("community-self-org-detail/{orgId}") + public Result communitySelfOrganizationDetail(@LoginUser TokenDto tokenDto,@PathVariable("orgId") String orgId){ + return new Result().ok(icCommunitySelfOrganizationService.communitySelfOrganizationDetail(orgId,tokenDto.getCustomerId())); + } + + /** * @Description 社区自组织删除 * @param formDTO diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcCommunitySelfOrganizationPersonnelEntity.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcCommunitySelfOrganizationPersonnelEntity.java index c313f367fc..03b9b81d00 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcCommunitySelfOrganizationPersonnelEntity.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcCommunitySelfOrganizationPersonnelEntity.java @@ -45,6 +45,11 @@ public class IcCommunitySelfOrganizationPersonnelEntity extends BaseEpmetEntity */ private String orgId; + /** + * 居民信息当中的志愿者ic_resi_user.id + */ + private String icResiUserId; + /** * 人员姓名 */ diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcCommunitySelfOrganizationService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcCommunitySelfOrganizationService.java index 14008a7ce2..1da3a3137e 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcCommunitySelfOrganizationService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcCommunitySelfOrganizationService.java @@ -181,4 +181,11 @@ public interface IcCommunitySelfOrganizationService extends BaseService queryCoordinateList(CategorySelfOrgFormDTO formDTO); + + /** + * 社区自组织详情 + * @param orgId + * @return + */ + CommunitySelfOrganizationListDTO communitySelfOrganizationDetail(String orgId,String customerId); } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcCommunitySelfOrganizationServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcCommunitySelfOrganizationServiceImpl.java index 52b11d72a1..3855b270e2 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcCommunitySelfOrganizationServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcCommunitySelfOrganizationServiceImpl.java @@ -320,6 +320,7 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl(list, NumConstant.ONE_NEG); } + /** + * 社区自组织详情 + * + * @param orgId + * @return + */ + @Override + public CommunitySelfOrganizationListDTO communitySelfOrganizationDetail(String orgId,String customerId) { + //获取分类名称字典 + Result> dictMapRes=adminOpenFeignClient.dictMap(DictTypeEnum.SELF_ORG_CATEGORY.getCode()); + Map dictMap = dictMapRes.success() && MapUtils.isNotEmpty(dictMapRes.getData()) ? dictMapRes.getData() : new HashMap<>(); + CommunitySelfOrganizationListFormDTO formDTO=new CommunitySelfOrganizationListFormDTO(); + formDTO.setCustomerId(customerId); + formDTO.setOrgId(orgId); + List list=baseDao.selectCommunitySelfOrganizationList(formDTO); + if(CollectionUtils.isEmpty(list)){ + return null; + } + for (CommunitySelfOrganizationListDTO l : list) { + //赋值分类名称 + l.setCategoryName(dictMap.get(l.getCategoryCode())); + } + return list.get(NumConstant.ZERO); + } + + } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java index 5d7f450672..91dc0baa57 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java @@ -60,15 +60,16 @@ import com.epmet.excel.IcPartyUnitImportExcel; import com.epmet.excel.IcPartyUnitImportFailedExcel; import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.EpmetHeartOpenFeignClient; import com.epmet.feign.OssFeignClient; import com.epmet.service.IcPartyUnitService; -import com.epmet.service.IcResiDemandDictService; import com.epmet.service.IcServiceItemDictService; import com.epmet.service.IcUserDemandRecService; 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.collections4.MapUtils; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory; @@ -103,13 +104,13 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl search(PartyUnitFormDTO formDTO) { @@ -198,6 +199,25 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl pointMap = icUserDemandRecService.getServicePoint(entity.getCustomerId(), UserDemandConstant.PARTY_UNIT); dto.setServiceMatterList(Arrays.asList(dto.getServiceMatter().split(StrConstant.COMMA))); dto.setScore(null == pointMap.get(id) ? NumConstant.ZERO : pointMap.get(id)); + // 分类名称 + //获取分类名称字典 + Result> typeDictMapRes=epmetAdminOpenFeignClient.dictMap(DictTypeEnum.PARTY_UNIT_TYPE.getCode()); + Map typeDictMap = typeDictMapRes.success() && MapUtils.isNotEmpty(typeDictMapRes.getData()) ? typeDictMapRes.getData() : new HashMap<>(); + dto.setType(MapUtils.isNotEmpty(typeDictMap) && typeDictMap.containsKey(dto.getType()) ? typeDictMap.get(dto.getType()) : StrConstant.EPMETY_STR); + // 服务事项 + if(CollectionUtils.isNotEmpty(dto.getServiceMatterList())){ + List serviceMateerRes=icServiceItemDictService.queryDictList(entity.getCustomerId()); + if(CollectionUtils.isNotEmpty(serviceMateerRes)){ + Map serviceMap=serviceMateerRes.stream().collect(Collectors.toMap(OptionDTO::getValue,OptionDTO::getLabel)); + List serviceMatterNameList=new ArrayList<>(); + for(String serviceMatterCode:dto.getServiceMatterList()){ + if(MapUtils.isNotEmpty(serviceMap)&&serviceMap.containsKey(serviceMatterCode)){ + serviceMatterNameList.add(serviceMap.get(serviceMatterCode)); + } + } + dto.setServiceMatterNameList(serviceMatterNameList); + } + } } return dto; } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.20__selforg_icresiuserid.sql b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.20__selforg_icresiuserid.sql new file mode 100644 index 0000000000..ea9ce8bbba --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.20__selforg_icresiuserid.sql @@ -0,0 +1 @@ +alter table ic_community_self_organization_personnel add COLUMN IC_RESI_USER_ID VARCHAR(64) DEFAULT '' COMMENT '居民信息当中的志愿者ic_resi_user.id'AFTER ORG_ID; \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcCommunitySelfOrganizationDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcCommunitySelfOrganizationDao.xml index d7b90133a4..c6e34a86fa 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcCommunitySelfOrganizationDao.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcCommunitySelfOrganizationDao.xml @@ -42,13 +42,15 @@ person_phone as personPhone, ID, CUSTOMER_ID, - ORG_ID + ORG_ID, + IC_RESI_USER_ID from ic_community_self_organization_personnel where org_id = #{orgId} and del_flag = 0 diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcCityManagementDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcCityManagementDTO.java new file mode 100644 index 0000000000..7e36b065b9 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcCityManagementDTO.java @@ -0,0 +1,109 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 城市管理图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Data +public class IcCityManagementDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 所属组织机构Id + */ + private String agencyId; + + /** + * agencyId的所有上级,包含自己 + */ + private String agencyIdPath; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 场所名称 + */ + private String name; + + /** + * 场所分类【字典表ic_coverage_category_dict key:city_management】 + */ + private String category; + + /** + * 占地面积,单位平方公里 + */ + private String areaCovered; + + /** + * 容纳人数 + */ + private Integer capacity; + + /** + * 地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + + /** + * 删除标识 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcDangerousChemicalsDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcDangerousChemicalsDTO.java new file mode 100644 index 0000000000..8afffa5726 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcDangerousChemicalsDTO.java @@ -0,0 +1,124 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 重点危化品企业 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Data +public class IcDangerousChemicalsDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 所属组织机构Id + */ + private String agencyId; + + /** + * agencyId的所有上级,包含自己 + */ + private String agencyIdPath; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 企业名称 + */ + private String name; + + /** + * 企业类型【字典表ic_coverage_category_dict key:dangerous_chemicals】 + */ + private String category; + + /** + * 周边安全距离,单位公里 + */ + private String safeDistance; + + /** + * 危化品种类【字典表 ic_danger_type】 + */ + private String dangerType; + + /** + * 负责人姓名 + */ + private String principalName; + + /** + * 负责人电话 + */ + private String principalMobile; + + /** + * 经营地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + + /** + * 备注 + */ + private String remark; + + /** + * 删除标识 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file 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 42163539ce..f3221c4f69 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 @@ -71,6 +71,11 @@ public class IcHouseDTO implements Serializable { */ private String houseName; + /** + * 全名:小区,楼栋,单元,房屋 + */ + private String fullName; + /** * 门牌号 */ diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcPublicServiceDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcPublicServiceDTO.java new file mode 100644 index 0000000000..64045ddd17 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcPublicServiceDTO.java @@ -0,0 +1,109 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 公共服务图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Data +public class IcPublicServiceDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 所属组织机构Id + */ + private String agencyId; + + /** + * agencyId的所有上级,包含自己 + */ + private String agencyIdPath; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 场所名称 + */ + private String name; + + /** + * 场所分类【字典表ic_coverage_category_dict key:public_service】 + */ + private String category; + + /** + * 占地面积,单位平方公里 + */ + private String areaCovered; + + /** + * 容纳人数 + */ + private Integer capacity; + + /** + * 地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + + /** + * 删除标识 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcSuperiorResourceDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcSuperiorResourceDTO.java new file mode 100644 index 0000000000..553e4318f0 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcSuperiorResourceDTO.java @@ -0,0 +1,109 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 优势资源管理 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Data +public class IcSuperiorResourceDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 所属组织机构Id + */ + private String agencyId; + + /** + * agencyId的所有上级,包含自己 + */ + private String agencyIdPath; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 场所名称 + */ + private String name; + + /** + * 场所分类【字典表ic_coverage_category_dict key:superior_resource】 + */ + private String category; + + /** + * 占地面积,单位平方公里 + */ + private String areaCovered; + + /** + * 容纳人数 + */ + private Integer capacity; + + /** + * 地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + + /** + * 删除标识 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file 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 ca5408d581..df0f6b0530 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 @@ -28,6 +28,8 @@ public class ImportGeneralDTO implements Serializable { private String pid; private String pids; + private String orgIdPath; + /** * 网格名、ID */ @@ -145,6 +147,8 @@ public class ImportGeneralDTO implements Serializable { private String houseName; + private String fullName; + private String customerId; private Boolean existStatus = false; diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CoverageCategoryQueryFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CoverageCategoryQueryFormDTO.java new file mode 100644 index 0000000000..3495e9cdad --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CoverageCategoryQueryFormDTO.java @@ -0,0 +1,13 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.util.List; + +/** + * 图层-类别查询form + */ +@Data +public class CoverageCategoryQueryFormDTO { + private List coverageTypes; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditPlaceOrgFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditPlaceOrgFormDTO.java index d4863f9cb9..070fc13dc5 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditPlaceOrgFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditPlaceOrgFormDTO.java @@ -79,6 +79,7 @@ public class EditPlaceOrgFormDTO implements Serializable { public interface Del { } public interface Detail { } - + private String currentStaffId; + private String customerId; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterpriseFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterpriseFormDTO.java new file mode 100644 index 0000000000..61f8470c60 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterpriseFormDTO.java @@ -0,0 +1,113 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +@Data +public class EnterpriseFormDTO implements Serializable { + public interface AddShow extends CustomerClientShowGroup {} + // public interface UpdateShow extends CustomerClientShowGroup {} + /** + * 客户Id + * token赋值 + */ + private String customerId; + private String currentStaffId; + + + /** + * 网格Id【场所区域】 + */ + @NotBlank(message = "场所区域不能为空", groups = {AddShow.class}) + private String gridId; + + /** + * 网格所属的组织Id + */ + @NotBlank(message = "所属组织不能为空", groups = {AddShow.class}) + private String agencyId; + + /** + * agency_id的所有上级 + * 接口内查询 + */ + private String agencyPids; + + /** + * 场所类型:来源于ic_coverage_category_dict + */ + @NotBlank(message = "场所类型不能为空", groups = {AddShow.class}) + private String placeType; + + /** + * 场所名称 + */ + @NotBlank(message = "场所名称不能为空", groups = {AddShow.class}) + @Length(max = 100, message = "场所名称最多输入50字", groups = {AddShow.class}) + private String placeOrgName; + + /** + * 场所地址 + */ + @NotBlank(message = "场所地址不能为空", groups = {AddShow.class}) + private String address; + + /** + * 经度 + */ + @NotBlank(message = "位置坐标不能为空", groups = {AddShow.class}) + private String longitude; + + /** + * 纬度 + */ + @NotBlank(message = "位置坐标不能为空", groups = {AddShow.class}) + private String latitude; + + /** + * 字典value,场所规模【 + 0:10人以下 + 1:10-20人 + 2:21-40人 + 3:41-100人 + 4:100人以上】 + */ + @NotBlank(message = "规模不能为空", groups = {AddShow.class}) + private String scale; + + /** + * 场所负责人 + */ + @NotBlank(message = "负责人不能为空", groups = {AddShow.class}) + private String personInCharge; + + /** + * 负责人电话 + */ + @NotBlank(message = "联系电话不能为空", groups = {AddShow.class}) + @Length(max = 50, message = "联系电话最多输入50位", groups = {AddShow.class}) + private String mobile; + + /** + * 企事业单位id + */ + private String enterpriseId; + + /** + * 来源【新增:add 导入:import 】 + * 接口内复制 + */ + private String sourceType; + + /** + * 最新巡查结果【0:合格 1:不合格】 + * 默认为空 + */ + private String latestResult; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterprisePageFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterprisePageFormDTO.java new file mode 100644 index 0000000000..3c6c45d445 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterprisePageFormDTO.java @@ -0,0 +1,64 @@ +package com.epmet.dto.form; + + +import lombok.Data; + +import java.io.Serializable; + +/** + * 企事业单位 + */ +@Data +public class EnterprisePageFormDTO implements Serializable { + /** + * 场所区域 + */ + private String gridId; + /** + * 场所类型 + */ + private String placeType; + + /** + * 场所名称 + */ + private String placeOrgName; + + /** + * 规模 + */ + private String scale; + + /** + * 联系电话 + */ + private String mobile; + + /** + * 巡查结果:0:合格 1:不合格 + */ + private String result; + + /** + * 隐患明细 + */ + private String detailed; + + + private Integer pageNo = 1; + private Integer pageSize = 20; + + /** + * 列表查询默认分页 + * 导出不分页 + */ + private Boolean pageFlag; + //tokenDto.customerId + private String customerId; + //tokenDto.userId + private String currentStaffId; + /** + * 当前登录用户的所属组织id + */ + private String staffAgencyId; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterprisePatrolFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterprisePatrolFormDTO.java new file mode 100644 index 0000000000..1a9d13957a --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterprisePatrolFormDTO.java @@ -0,0 +1,83 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +@Data +public class EnterprisePatrolFormDTO implements Serializable { + public interface AddShow extends CustomerClientShowGroup {} + // public interface UpdateShow extends CustomerClientShowGroup {} + /** + * 客户Id + */ + private String customerId; + + //修改时必填 + private String patrolId; + + /** + * 企事业单位id + */ + @NotBlank(message = "企事业单位id不能为空", groups = {AddShow.class}) + private String enterpriseId; + + /** + * 巡查时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date patrolTime; + + /** + * 工作人员id + */ + @NotBlank(message = "巡查人员id不能为空", groups = {AddShow.class}) + private String staffId; + + /** + * 工作人员姓名 + */ + @NotBlank(message = "巡查人员姓名不能为空", groups = {AddShow.class}) + private String staffName; + + /** + * 工作人员手机号 + */ + @NotBlank(message = "联系电话不能为空", groups = {AddShow.class}) + private String mobile; + + /** + * 检查结果【0:合格 1:不合格】 + */ + @NotBlank(message = "检查结果不能为空", groups = {AddShow.class}) + private String result; + + /** + * 隐患明细 + */ + @Length(max = 500, message = "隐患明细500字以内", groups = {AddShow.class}) + private String detailed; + + /** + * 拟复查时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date reviewTime; + + /** + * 图片列表 + */ + private List imgList; + + //tokenDto.getUserId + private String userId; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetListPlaceOrgFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetListPlaceOrgFormDTO.java index 4725a8b32d..5b2d05a486 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetListPlaceOrgFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetListPlaceOrgFormDTO.java @@ -54,7 +54,7 @@ public class GetListPlaceOrgFormDTO implements Serializable { private String placeOrgId; //token中userId private String staffId; - //token中userId所属组织的pid - private String pids; + //token中userId所属组织 + private String agencyId; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcCityManagementAddEditFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcCityManagementAddEditFormDTO.java new file mode 100644 index 0000000000..ab73efa810 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcCityManagementAddEditFormDTO.java @@ -0,0 +1,69 @@ +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; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 优势资源新增/修改 + * @Author sun + */ +@Data +public class IcCityManagementAddEditFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + public interface Del extends CustomerClientShowGroup { + } + + /** + * 场所Id + */ + @NotBlank(message = "场所Id不能为空", groups = {UpdateGroup.class, Del.class}) + private String icCityManagementId; + /** + * 场所名称 + */ + @NotBlank(message = "场所名称不能为空", groups = {AddGroup.class}) + @Length(max = 50, message = "场所名称不能超过50位", groups = AddGroup.class) + private String name; + /** + * 场所类别 + */ + @NotBlank(message = "场所类别不能为空", groups = {AddGroup.class}) + private String category; + /** + * 占地面积 + */ + private String areaCovered; + /** + * 容纳人数 + */ + private Integer capacity; + /** + * 经度 + */ + @NotBlank(message = "经度不能为空", groups = {AddGroup.class}) + private String longitude; + /** + * 维度 + */ + @NotBlank(message = "维度不能为空", groups = {AddGroup.class}) + private String latitude; + /** + * 地址 + */ + @NotBlank(message = "地址不能为空", groups = {AddGroup.class}) + @Length(max = 50, message = "地址不能超过50位", groups = AddGroup.class) + private String address; + + + private String customerId; + private String userId; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcCityManagementListFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcCityManagementListFormDTO.java new file mode 100644 index 0000000000..0511b85bb6 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcCityManagementListFormDTO.java @@ -0,0 +1,38 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 【优势资源】列表--接口入参 + * @Author sun + */ +@Data +public class IcCityManagementListFormDTO implements Serializable { + private static final long serialVersionUID = 9156247659994638103L; + + /** + * 场所名称 + */ + private String name; + /** + * 场所分类,字典表值 + */ + private String category; + /** + * 页码 + */ + private Integer pageNo = 1; + /** + * 每页显示数量 + */ + private Integer pageSize = 20; + + private Boolean isPage = true; + private String icCityManagementId; + private String customerId; + private String staffId; + private String agencyId; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcDangerousChemicalsAddEditFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcDangerousChemicalsAddEditFormDTO.java new file mode 100644 index 0000000000..c67cb48fb2 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcDangerousChemicalsAddEditFormDTO.java @@ -0,0 +1,81 @@ +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; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 优势资源新增/修改 + * @Author sun + */ +@Data +public class IcDangerousChemicalsAddEditFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + public interface Del extends CustomerClientShowGroup { + } + + /** + * 场所Id + */ + @NotBlank(message = "场所Id不能为空", groups = {UpdateGroup.class, Del.class}) + private String icDangerousChemicalsId; + /** + * 企业名称 + */ + @NotBlank(message = "企业名称不能为空", groups = {AddGroup.class}) + @Length(max = 50, message = "场所名称不能超过50位", groups = AddGroup.class) + private String name; + /** + * 企业类型值 + */ + @NotBlank(message = "企业类型不能为空", groups = {AddGroup.class}) + private String category; + /** + * 周边安全距离 + */ + private String safeDistance; + /** + * 危化品种类字典值, key值:ic_danger_type + */ + private String dangerType; + /** + * 负责人 + */ + private String principalName; + /** + * 联系电话 + */ + private String principalMobile; + /** + * 经度 + */ + @NotBlank(message = "经度不能为空", groups = {AddGroup.class}) + private String longitude; + /** + * 维度 + */ + @NotBlank(message = "维度不能为空", groups = {AddGroup.class}) + private String latitude; + /** + * 地址 + */ + @NotBlank(message = "地址不能为空", groups = {AddGroup.class}) + @Length(max = 50, message = "地址不能超过50位", groups = AddGroup.class) + private String address; + /** + * 备注 + */ + private String remark; + + + private String customerId; + private String userId; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcDangerousChemicalsListFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcDangerousChemicalsListFormDTO.java new file mode 100644 index 0000000000..b0b7e589f4 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcDangerousChemicalsListFormDTO.java @@ -0,0 +1,42 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 【优势资源】列表--接口入参 + * @Author sun + */ +@Data +public class IcDangerousChemicalsListFormDTO implements Serializable { + private static final long serialVersionUID = 9156247659994638103L; + + /** + * 场所名称 + */ + private String name; + /** + * 场所分类,字典表值 + */ + private String category; + /** + * 危化品种类字典值 + */ + private String dangerType; + /** + * 页码 + */ + private Integer pageNo = 1; + /** + * 每页显示数量 + */ + private Integer pageSize = 20; + + private Boolean isPage = true; + private String icDangerousChemicalsId; + private String customerId; + private String staffId; + private String agencyId; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPublicServiceAddEditFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPublicServiceAddEditFormDTO.java new file mode 100644 index 0000000000..fb9cbf6b26 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPublicServiceAddEditFormDTO.java @@ -0,0 +1,69 @@ +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; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 优势资源新增/修改 + * @Author sun + */ +@Data +public class IcPublicServiceAddEditFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + public interface Del extends CustomerClientShowGroup { + } + + /** + * 场所Id + */ + @NotBlank(message = "场所Id不能为空", groups = {UpdateGroup.class, Del.class}) + private String icPublicServiceId; + /** + * 场所名称 + */ + @NotBlank(message = "场所名称不能为空", groups = {AddGroup.class}) + @Length(max = 50, message = "场所名称不能超过50位", groups = AddGroup.class) + private String name; + /** + * 场所类别 + */ + @NotBlank(message = "场所类别不能为空", groups = {AddGroup.class}) + private String category; + /** + * 占地面积 + */ + private String areaCovered; + /** + * 容纳人数 + */ + private Integer capacity; + /** + * 经度 + */ + @NotBlank(message = "经度不能为空", groups = {AddGroup.class}) + private String longitude; + /** + * 维度 + */ + @NotBlank(message = "维度不能为空", groups = {AddGroup.class}) + private String latitude; + /** + * 地址 + */ + @NotBlank(message = "地址不能为空", groups = {AddGroup.class}) + @Length(max = 50, message = "地址不能超过50位", groups = AddGroup.class) + private String address; + + + private String customerId; + private String userId; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPublicServiceListFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPublicServiceListFormDTO.java new file mode 100644 index 0000000000..ca5b8aefda --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPublicServiceListFormDTO.java @@ -0,0 +1,38 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 【优势资源】列表--接口入参 + * @Author sun + */ +@Data +public class IcPublicServiceListFormDTO implements Serializable { + private static final long serialVersionUID = 9156247659994638103L; + + /** + * 场所名称 + */ + private String name; + /** + * 场所分类,字典表值 + */ + private String category; + /** + * 页码 + */ + private Integer pageNo = 1; + /** + * 每页显示数量 + */ + private Integer pageSize = 20; + + private Boolean isPage = true; + private String icPublicServiceId; + private String customerId; + private String staffId; + private String agencyId; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcSuperiorResourceAddEditFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcSuperiorResourceAddEditFormDTO.java new file mode 100644 index 0000000000..d28569a0a1 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcSuperiorResourceAddEditFormDTO.java @@ -0,0 +1,69 @@ +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; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 优势资源新增/修改 + * @Author sun + */ +@Data +public class IcSuperiorResourceAddEditFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + public interface Del extends CustomerClientShowGroup { + } + + /** + * 场所Id + */ + @NotBlank(message = "场所Id不能为空", groups = {UpdateGroup.class, Del.class}) + private String icSuperiorResourceId; + /** + * 场所名称 + */ + @NotBlank(message = "场所名称不能为空", groups = {AddGroup.class}) + @Length(max = 50, message = "场所名称不能超过50位", groups = AddGroup.class) + private String name; + /** + * 场所类别 + */ + @NotBlank(message = "场所类别不能为空", groups = {AddGroup.class}) + private String category; + /** + * 占地面积 + */ + private String areaCovered; + /** + * 容纳人数 + */ + private Integer capacity; + /** + * 经度 + */ + @NotBlank(message = "经度不能为空", groups = {AddGroup.class}) + private String longitude; + /** + * 维度 + */ + @NotBlank(message = "维度不能为空", groups = {AddGroup.class}) + private String latitude; + /** + * 地址 + */ + @NotBlank(message = "地址不能为空", groups = {AddGroup.class}) + @Length(max = 50, message = "地址不能超过50位", groups = AddGroup.class) + private String address; + + + private String customerId; + private String userId; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcSuperiorResourceListFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcSuperiorResourceListFormDTO.java new file mode 100644 index 0000000000..026ece3d56 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcSuperiorResourceListFormDTO.java @@ -0,0 +1,38 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 【优势资源】列表--接口入参 + * @Author sun + */ +@Data +public class IcSuperiorResourceListFormDTO implements Serializable { + private static final long serialVersionUID = 9156247659994638103L; + + /** + * 场所名称 + */ + private String name; + /** + * 场所分类,字典表值 + */ + private String category; + /** + * 页码 + */ + private Integer pageNo = 1; + /** + * 每页显示数量 + */ + private Integer pageSize = 20; + + private Boolean isPage = true; + private String icSuperiorResourceId; + private String customerId; + private String staffId; + private String agencyId; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CoverageCategoryResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CoverageCategoryResultDTO.java new file mode 100644 index 0000000000..06066201cd --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CoverageCategoryResultDTO.java @@ -0,0 +1,14 @@ +package com.epmet.dto.result; + +import lombok.Data; + +/** + * 五大图层-类别 结果类 + */ +@Data +public class CoverageCategoryResultDTO { + + private String categoryKey; + private String categoryName; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterpriseDetailDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterpriseDetailDTO.java new file mode 100644 index 0000000000..2d787ab00f --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterpriseDetailDTO.java @@ -0,0 +1,111 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 场所详情 + */ +@Data +public class EnterpriseDetailDTO implements Serializable { + + private String enterpriseId; + + /** + * 网格Id【场所区域】 + */ + private String gridId; + + private String gridName; + + /** + * 网格所属的组织Id + */ + private String agencyId; + + private String agencyName; + + /** + * agency_id的所有上级 + */ + private String agencyPids; + + /** + * 场所类型:来源于ic_coverage_category_dict + */ + private String placeType; + + /** + * 场所类型名称 + */ + private String placeTypeName; + + /** + * 场所名称 + */ + private String placeOrgName; + + /** + * 场所地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + + /** + * 字典value,场所规模【 + 0:10人以下 + 1:10-20人 + 2:21-40人 + 3:41-100人 + 4:100人以上】 + */ + private String scale; + + /** + * 规模名称 + */ + private String scaleName; + + + /** + * 场所负责人 + */ + private String personInCharge; + + /** + * 负责人电话 + */ + private String mobile; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 最新巡查结果【0:合格 1:不合格】 + */ + private String latestResult; + + /** + * 最新巡查结果【0:合格 1:不合格】 + */ + private String latestResultName; + /** + * 最新检查时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date latestPatrolTime; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterprisePatrolResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterprisePatrolResultDTO.java new file mode 100644 index 0000000000..1983e80168 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterprisePatrolResultDTO.java @@ -0,0 +1,68 @@ +package com.epmet.dto.result; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +@Data +public class EnterprisePatrolResultDTO implements Serializable { + + //修改时必填 + private String patrolId; + + /** + * 企事业单位id + */ + private String enterpriseId; + + /** + * 巡查时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date patrolTime; + + /** + * 工作人员id + */ + private String staffId; + + /** + * 工作人员姓名 + */ + private String staffName; + + /** + * 工作人员手机号 + */ + private String mobile; + + /** + * 检查结果【0:合格 1:不合格】 + */ + private String result; + + /** + * 检查结果【0:合格 1:不合格】 + */ + private String resultName; + + /** + * 隐患明细 + */ + private String detailed; + + /** + * 拟复查时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date reviewTime; + + /** + * 图片列表 + */ + private List imgList; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcCityManagementListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcCityManagementListResultDTO.java new file mode 100644 index 0000000000..6c40cb030c --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcCityManagementListResultDTO.java @@ -0,0 +1,68 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 【优势资源】列表--接口返参 + * @Author sun + */ +@Data +public class IcCityManagementListResultDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 场所Id + */ + private String icCityManagementId; + /** + * 组织Id + */ + private String agencyId; + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + /** + * 场所名称 + */ + private String name; + /** + * 场所类别值 + */ + private String category; + /** + * 场所类别名 + */ + private String categoryName; + /** + * 占地面积值 + */ + private String areaCovered; + /** + * 占地面积名 + */ + private String areaCoveredName; + /** + * 容纳人数值 + */ + private String capacity; + /** + * 容纳人数名 + */ + private String capacityName; + /** + * 经度 + */ + private String longitude; + /** + * 纬度 + */ + private String latitude; + /** + * 地址 + */ + private String address; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcCoverageCategoryDictListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcCoverageCategoryDictListResultDTO.java new file mode 100644 index 0000000000..eaa1feac8a --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcCoverageCategoryDictListResultDTO.java @@ -0,0 +1,14 @@ +package com.epmet.dto.result; + +import lombok.Data; + +/** + * 五大图层-类别下拉框字典 + */ +@Data +public class IcCoverageCategoryDictListResultDTO { + + private String label; + private String value; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcDangerousChemicalsListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcDangerousChemicalsListResultDTO.java new file mode 100644 index 0000000000..bf00d9205e --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcDangerousChemicalsListResultDTO.java @@ -0,0 +1,80 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 【优势资源】列表--接口返参 + * @Author sun + */ +@Data +public class IcDangerousChemicalsListResultDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 企业Id + */ + private String icDangerousChemicalsId; + /** + * 组织Id + */ + private String agencyId; + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + /** + * 企业名称 + */ + private String name; + /** + * 企业类型值 + */ + private String category; + /** + * 企业类型名 + */ + private String categoryName; + /** + * 周边安全距离 + */ + private String safeDistance; + /** + * 周边安全距离名 + */ + private String safeDistanceName; + /** + * 危化品种类值 + */ + private String dangerType; + /** + * 危化品种类名 + */ + private String dangerTypeName; + /** + * 负责人 + */ + private String principalName; + /** + * 联系电话 + */ + private String principalMobile; + /** + * 经度 + */ + private String longitude; + /** + * 纬度 + */ + private String latitude; + /** + * 地址 + */ + private String address; + /** + * 备注 + */ + private String remark; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcPublicServiceListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcPublicServiceListResultDTO.java new file mode 100644 index 0000000000..859b36faca --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcPublicServiceListResultDTO.java @@ -0,0 +1,68 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 【优势资源】列表--接口返参 + * @Author sun + */ +@Data +public class IcPublicServiceListResultDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 场所Id + */ + private String icPublicServiceId; + /** + * 组织Id + */ + private String agencyId; + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + /** + * 场所名称 + */ + private String name; + /** + * 场所类别值 + */ + private String category; + /** + * 场所类别名 + */ + private String categoryName; + /** + * 占地面积值 + */ + private String areaCovered; + /** + * 占地面积名 + */ + private String areaCoveredName; + /** + * 容纳人数值 + */ + private String capacity; + /** + * 容纳人数名 + */ + private String capacityName; + /** + * 经度 + */ + private String longitude; + /** + * 纬度 + */ + private String latitude; + /** + * 地址 + */ + private String address; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcSuperiorResourceListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcSuperiorResourceListResultDTO.java new file mode 100644 index 0000000000..28f5c6202f --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcSuperiorResourceListResultDTO.java @@ -0,0 +1,68 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 【优势资源】列表--接口返参 + * @Author sun + */ +@Data +public class IcSuperiorResourceListResultDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 场所Id + */ + private String icSuperiorResourceId; + /** + * 组织Id + */ + private String agencyId; + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + /** + * 场所名称 + */ + private String name; + /** + * 场所类别值 + */ + private String category; + /** + * 场所类别名 + */ + private String categoryName; + /** + * 占地面积值 + */ + private String areaCovered; + /** + * 占地面积名 + */ + private String areaCoveredName; + /** + * 容纳人数值 + */ + private String capacity; + /** + * 容纳人数名 + */ + private String capacityName; + /** + * 经度 + */ + private String longitude; + /** + * 纬度 + */ + private String latitude; + /** + * 地址 + */ + private String address; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/PlaceOrgDetailResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/PlaceOrgDetailResultDTO.java index 5ed421dee6..91ccedcc73 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/PlaceOrgDetailResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/PlaceOrgDetailResultDTO.java @@ -18,6 +18,8 @@ public class PlaceOrgDetailResultDTO implements Serializable { private String gridId; //场所区域名称 private String gridName; + + private String agencyId; //场所地址 private String address; //场所类型名称[九小场所Value值] diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index b833fc339b..b7c17a255d 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -12,6 +12,7 @@ import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Map; import java.util.Set; /** @@ -679,4 +680,19 @@ public interface GovOrgOpenFeignClient { */ @PostMapping("/gov/org/house/getHomeInfoByHouseCode") Result getHomeInfoByHouseCode(CommonHouseFormDTO dto); + + /** + * desc:根据房屋id更新 屋内的居民数量 + * @param paramList + * @return + */ + @PostMapping("/gov/org/ichouse/updateIcHouseResiNumber") + Result updateIcHouseResiNumber(List> paramList); + + /** + * 五大图层类别字典表客户初始化 + * @Author sun + */ + @PostMapping("/gov/org/coverage/dictinit/{customerId}") + Result dictInit(@PathVariable(value = "customerId") String customerId); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index 56da609bd2..0a8e690f38 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -10,6 +10,7 @@ import com.epmet.dto.result.*; import com.epmet.feign.GovOrgOpenFeignClient; import java.util.List; +import java.util.Map; import java.util.Set; /** @@ -434,4 +435,14 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getHomeInfoByHouseCode", dto); } + @Override + public Result updateIcHouseResiNumber(List> paramList) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "updateIcHouseResiNumber", paramList); + } + + @Override + public Result dictInit(String customerId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "dictInit", customerId); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CoverageController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CoverageController.java new file mode 100644 index 0000000000..6289049eae --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CoverageController.java @@ -0,0 +1,49 @@ +package com.epmet.controller; + +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.dto.form.CoverageCategoryQueryFormDTO; +import com.epmet.dto.result.CoverageCategoryResultDTO; +import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; +import com.epmet.service.CoverageService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * 5大图层controller + */ +@RestController +@RequestMapping("coverage") +public class CoverageController { + + @Autowired + private CoverageService coverageService; + + /** + * 根据图层列表查询图层下的类别列表。按照图层传递顺序一级排序,sort二级排序 + * @param form + * @return + */ + @PostMapping("categoryList") + public Result> categoryList(@RequestBody CoverageCategoryQueryFormDTO form) { + List coverageTypes = form.getCoverageTypes(); + List categories = coverageService.categoryList(coverageTypes); + return new Result>().ok(categories); + } + + @PostMapping("dict-select-list/{placeType}") + public Result> dictMap(@LoginUser TokenDto tokenDto, @PathVariable("placeType") String placeType) { + return new Result>().ok(coverageService.dictMap(tokenDto.getCustomerId(), placeType)); + } + + @PostMapping("dictinit/{customerId}") + public Result dictInit(@PathVariable("customerId") String customerId) { + coverageService.dictInit(customerId); + return new Result(); + } + +} \ 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 6e99cd25f7..0e556df1ea 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 @@ -170,8 +170,6 @@ public class HouseController implements ResultDataResolver { //效验数据 ValidatorUtils.validateEntity(formDTO, IcHouseAddFormDTO.AddShowGroup.class); String customerId = tokenDTO.getCustomerId(); -// String customerId = "123123"; - houseService.addHouse(customerId, formDTO); return new Result(); } @@ -571,4 +569,14 @@ public class HouseController implements ResultDataResolver { return houseService.getHomeInfoByHouseCode(dto); } + /** + * 初始化房屋的组织ID路径 + * @return + */ + @PostMapping("orgIdPathInit") + public Result orgIdPathInit() { + houseService.orgIdPathInit(); + return new Result(); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcCityManagementController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcCityManagementController.java new file mode 100644 index 0000000000..f3a7e97645 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcCityManagementController.java @@ -0,0 +1,229 @@ +package com.epmet.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.feign.ResultDataResolver; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.*; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; +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.commons.tools.validator.group.UpdateGroup; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dto.IcCityManagementDTO; +import com.epmet.dto.form.IcCityManagementAddEditFormDTO; +import com.epmet.dto.form.IcCityManagementListFormDTO; +import com.epmet.dto.result.IcCityManagementListResultDTO; +import com.epmet.dto.result.ImportTaskCommonResultDTO; +import com.epmet.excel.IcCityManagementExcel; +import com.epmet.service.IcCityManagementService; +import com.epmet.utils.ImportTaskUtils; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.io.IOUtils; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintWriter; +import java.net.URLEncoder; +import java.nio.file.Path; +import java.util.Date; +import java.util.List; +import java.util.UUID; + + +/** + * 城市管理图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@RestController +@RequestMapping("icCityManagement") +@Slf4j +public class IcCityManagementController implements ResultDataResolver { + + @Autowired + private IcCityManagementService icCityManagementService; + + @RequestMapping("list") + public Result> list(@LoginUser TokenDto tokenDto, @RequestBody IcCityManagementListFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + return new Result>().ok(icCityManagementService.list(formDTO)); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcCityManagementDTO data = icCityManagementService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("add") + public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcCityManagementAddEditFormDTO dto) { + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + dto.setCustomerId(tokenDto.getCustomerId()); + dto.setUserId(tokenDto.getUserId()); + icCityManagementService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("edit") + public Result update(@LoginUser TokenDto tokenDto, @RequestBody IcCityManagementAddEditFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, UpdateGroup.class, DefaultGroup.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icCityManagementService.update(formDTO); + return new Result(); + } + + @PostMapping("del") + public Result delete(@LoginUser TokenDto tokenDto, @RequestBody IcCityManagementAddEditFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, IcCityManagementAddEditFormDTO.Del.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icCityManagementService.delete(formDTO); + return new Result(); + } + + @RequestMapping("detail") + public Result detail(@RequestBody IcCityManagementListFormDTO formDTO) { + return new Result().ok(icCityManagementService.detail(formDTO)); + } + + @RequestMapping(value = "download", method = {RequestMethod.GET, RequestMethod.POST}) + public void downloadTemplate(HttpServletResponse response) throws IOException { + response.setCharacterEncoding("UTF-8"); + response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("城市管理导入模板", "UTF-8") + ".xlsx"); + + InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/city_management_template.xlsx"); + try { + ServletOutputStream os = response.getOutputStream(); + IOUtils.copy(is, os); + } finally { + if (is != null) { + is.close(); + } + } + } + + @PostMapping("export") + public void export(@LoginUser TokenDto tokenDto, @RequestBody IcCityManagementListFormDTO formDTO, HttpServletResponse response) throws IOException { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + formDTO.setIsPage(false); + ExcelWriter excelWriter = null; + formDTO.setPageNo(NumConstant.ONE); + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + try { + String fileName = "城市管理" + DateUtils.format(new Date()) + ".xlsx"; + // 头的策略 + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + // 背景设置为红色 + headWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex()); + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle); + FreezeAndFilter writeHandler = new FreezeAndFilter(); + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcCityManagementExcel.class) + .registerWriteHandler(horizontalCellStyleStrategy) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) + .registerWriteHandler(writeHandler).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); + PageData data = null; + List list = null; + do { + data = icCityManagementService.list(formDTO); + list = ConvertUtils.sourceToTarget(data.getList(), IcCityManagementExcel.class); + formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); + excelWriter.write(list, writeSheet); + } while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize()); + } catch (EpmetException e) { + response.reset(); + response.setCharacterEncoding("UTF-8"); + response.setHeader("content-type", "application/json; charset=UTF-8"); + PrintWriter printWriter = response.getWriter(); + Result result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg()); + printWriter.write(JSON.toJSONString(result)); + printWriter.close(); + } catch (Exception e) { + log.error("export exception", e); + } finally { + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + + @PostMapping("import") + public Result importExcel(MultipartFile file) { + // 1.暂存文件 + String originalFilename = file.getOriginalFilename(); + String extName = originalFilename.substring(originalFilename.lastIndexOf(".")); + + Path fileSavePath; + try { + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_city_management", "import"); + fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); + } catch (IOException e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【城市管理导入】创建临时存储文件失败:{}", errorMsg); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); + } + + InputStream is = null; + FileOutputStream os = null; + try { + is = file.getInputStream(); + os = new FileOutputStream(fileSavePath.toString()); + IOUtils.copy(is, os); + } catch (Exception e) { + log.error("importExcel exception", e); + } finally { + org.apache.poi.util.IOUtils.closeQuietly(is); + org.apache.poi.util.IOUtils.closeQuietly(os); + } + + // 2.生成导入任务记录 + ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException( + ImportTaskUtils.createImportTask(originalFilename, ImportTaskConstants.IC_CITY_MANAGEMENT), + ServiceConstant.EPMET_COMMON_SERVICE, + EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), + "excel导入城市管理信息错误", + "导入城市管理信息失败"); + + // 3.执行导入 + icCityManagementService.importExcel(fileSavePath, rstData.getTaskId()); + + return new Result(); + } + + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcDangerousChemicalsController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcDangerousChemicalsController.java new file mode 100644 index 0000000000..d69c856fb1 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcDangerousChemicalsController.java @@ -0,0 +1,235 @@ +package com.epmet.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.*; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; +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.commons.tools.validator.group.UpdateGroup; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dto.IcDangerousChemicalsDTO; +import com.epmet.dto.form.IcDangerousChemicalsAddEditFormDTO; +import com.epmet.dto.form.IcDangerousChemicalsListFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.result.IcDangerousChemicalsListResultDTO; +import com.epmet.dto.result.ImportTaskCommonResultDTO; +import com.epmet.excel.IcDangerousChemicalsExcel; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.service.IcDangerousChemicalsService; +import com.epmet.utils.ImportTaskUtils; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.io.IOUtils; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintWriter; +import java.net.URLEncoder; +import java.nio.file.Path; +import java.util.Date; +import java.util.List; +import java.util.UUID; + + +/** + * 重点危化品企业 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@RestController +@RequestMapping("icDangerousChemicals") +@Slf4j +public class IcDangerousChemicalsController { + + @Autowired + private IcDangerousChemicalsService icDangerousChemicalsService; + @Autowired + private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient; + + @RequestMapping("list") + public Result> list(@LoginUser TokenDto tokenDto, @RequestBody IcDangerousChemicalsListFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + return new Result>().ok(icDangerousChemicalsService.list(formDTO)); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcDangerousChemicalsDTO data = icDangerousChemicalsService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("add") + public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcDangerousChemicalsAddEditFormDTO dto) { + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + dto.setCustomerId(tokenDto.getCustomerId()); + dto.setUserId(tokenDto.getUserId()); + icDangerousChemicalsService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("edit") + public Result update(@LoginUser TokenDto tokenDto, @RequestBody IcDangerousChemicalsAddEditFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, UpdateGroup.class, DefaultGroup.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icDangerousChemicalsService.update(formDTO); + return new Result(); + } + + @PostMapping("del") + public Result delete(@LoginUser TokenDto tokenDto, @RequestBody IcDangerousChemicalsAddEditFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, IcDangerousChemicalsAddEditFormDTO.Del.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icDangerousChemicalsService.delete(formDTO); + return new Result(); + } + + @RequestMapping("detail") + public Result detail(@RequestBody IcDangerousChemicalsListFormDTO formDTO) { + return new Result().ok(icDangerousChemicalsService.detail(formDTO)); + } + + @RequestMapping(value = "download", method = {RequestMethod.GET, RequestMethod.POST}) + public void downloadTemplate(HttpServletResponse response) throws IOException { + response.setCharacterEncoding("UTF-8"); + response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("重点危化管理导入模板", "UTF-8") + ".xlsx"); + + InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/dangerous_chemicals_template.xlsx"); + try { + ServletOutputStream os = response.getOutputStream(); + IOUtils.copy(is, os); + } finally { + if (is != null) { + is.close(); + } + } + } + + @PostMapping("export") + public void export(@LoginUser TokenDto tokenDto, @RequestBody IcDangerousChemicalsListFormDTO formDTO, HttpServletResponse response) throws IOException { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + formDTO.setIsPage(false); + ExcelWriter excelWriter = null; + formDTO.setPageNo(NumConstant.ONE); + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + try { + String fileName = "重点危化管理" + DateUtils.format(new Date()) + ".xlsx"; + // 头的策略 + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + // 背景设置为红色 + headWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex()); + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle); + FreezeAndFilter writeHandler = new FreezeAndFilter(); + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcDangerousChemicalsExcel.class) + .registerWriteHandler(horizontalCellStyleStrategy) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) + .registerWriteHandler(writeHandler).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); + PageData data = null; + List list = null; + do { + data = icDangerousChemicalsService.list(formDTO); + list = ConvertUtils.sourceToTarget(data.getList(), IcDangerousChemicalsExcel.class); + formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); + excelWriter.write(list, writeSheet); + } while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize()); + } catch (EpmetException e) { + response.reset(); + response.setCharacterEncoding("UTF-8"); + response.setHeader("content-type", "application/json; charset=UTF-8"); + PrintWriter printWriter = response.getWriter(); + Result result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg()); + printWriter.write(JSON.toJSONString(result)); + printWriter.close(); + } catch (Exception e) { + log.error("export exception", e); + } finally { + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + + /** + * Desc: 重点危化品企业导入 + * @param file + * @param tokenDto + * @author zxc + * @date 2022/6/20 10:25 + */ + @PostMapping("import") + public Result dangerousChemicalsImport(@RequestParam("file")MultipartFile file,@LoginUser TokenDto tokenDto){ + // 1.暂存文件 + String originalFilename = file.getOriginalFilename(); + String extName = originalFilename.substring(originalFilename.lastIndexOf(".")); + Path fileSavePath; + try { + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_dangerous_chemicals", "import"); + fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); + } catch (IOException e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【重点危化品企业导入】创建临时存储文件失败:{}", errorMsg); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); + } + InputStream is = null; + FileOutputStream os = null; + try { + is = file.getInputStream(); + os = new FileOutputStream(fileSavePath.toString()); + IOUtils.copy(is, os); + } catch (Exception e) { + log.error("importExcel exception", e); + } finally { + org.apache.poi.util.IOUtils.closeQuietly(is); + org.apache.poi.util.IOUtils.closeQuietly(os); + } + // 2.生成导入任务记录 + ImportTaskCommonFormDTO importFormDTO = new ImportTaskCommonFormDTO(); + importFormDTO.setBizType(ImportTaskConstants.BIZ_TYPE_IC_DANGEROUS_CHEMICALS); + importFormDTO.setOperatorId(tokenDto.getUserId()); + importFormDTO.setOriginFileName(file.getOriginalFilename()); + Result importTask = epmetCommonServiceOpenFeignClient.createImportTask(importFormDTO); + if (!importTask.success()) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "", "存在进行中的导入"); + } + icDangerousChemicalsService.dangerousChemicalsImport(fileSavePath,importTask.getData().getTaskId(),tokenDto); + return new Result(); + } + + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java new file mode 100644 index 0000000000..244711596d --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java @@ -0,0 +1,304 @@ +package com.epmet.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.feign.ResultDataResolver; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.*; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dto.form.EnterpriseFormDTO; +import com.epmet.dto.form.EnterprisePageFormDTO; +import com.epmet.dto.form.EnterprisePatrolFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.result.EnterpriseDetailDTO; +import com.epmet.dto.result.EnterprisePatrolResultDTO; +import com.epmet.dto.result.ImportTaskCommonResultDTO; +import com.epmet.excel.EnterpriseExportExcelDTO; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.service.IcEnterpriseService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.io.IOUtils; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintWriter; +import java.net.URLEncoder; +import java.nio.file.Path; +import java.util.*; + + +/** + * 企事业单位表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-17 + */ +@Slf4j +@RestController +@RequestMapping("enterprise") +public class IcEnterpriseController implements ResultDataResolver { + + @Autowired + private IcEnterpriseService icEnterpriseService; + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + /** + * 企事业单位巡查】新增/编辑 + * + * @param tokenDto + * @param formDTO + * @return + */ + @NoRepeatSubmit + @PostMapping("addOrUpdate") + public Result addOrUpdate(@LoginUser TokenDto tokenDto, @RequestBody EnterpriseFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setCurrentStaffId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(EnterpriseFormDTO.AddShow.class); + Map map = new HashMap<>(); + map.put("enterpriseId", icEnterpriseService.addOrUpdate(formDTO)); + return new Result().ok(map); + } + + /** + * 企事业单位列表查询 + * @param tokenDto + * @param formDTO + * @return + */ + @PostMapping("list") + public Result> list(@LoginUser TokenDto tokenDto, @RequestBody EnterprisePageFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setCurrentStaffId(tokenDto.getUserId()); + formDTO.setPageFlag(true); + return new Result>().ok(icEnterpriseService.list(formDTO)); + } + + /** + * 企事业单位列表导出 + * @param tokenDto + * @param formDTO + * @param response + * @return + * @throws IOException + */ + @PostMapping("export") + public void exportEnterprise(@LoginUser TokenDto tokenDto, @RequestBody EnterprisePageFormDTO formDTO, HttpServletResponse response) throws IOException { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setCurrentStaffId(tokenDto.getUserId()); + formDTO.setPageFlag(false); + ExcelWriter excelWriter = null; + formDTO.setPageNo(NumConstant.ONE); + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + try { + String fileName = "企事业单位" + DateUtils.format(new Date()) + ".xlsx"; + // 头的策略 + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + // 背景设置为红色 + headWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex()); + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle); + FreezeAndFilter writeHandler = new FreezeAndFilter(); + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), EnterpriseExportExcelDTO.class) + .registerWriteHandler(horizontalCellStyleStrategy) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) + .registerWriteHandler(writeHandler).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); + PageData data = null; + List list = null; + do { + data = icEnterpriseService.list(formDTO); + list = ConvertUtils.sourceToTarget(data.getList(), EnterpriseExportExcelDTO.class); + formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); + excelWriter.write(list, writeSheet); + } while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize()); + } catch (EpmetException e) { + response.reset(); + response.setCharacterEncoding("UTF-8"); + response.setHeader("content-type", "application/json; charset=UTF-8"); + PrintWriter printWriter = response.getWriter(); + Result result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg()); + printWriter.write(JSON.toJSONString(result)); + printWriter.close(); + } catch (Exception e) { + log.error("企事业单位导出异常export exception", e); + } finally { + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + + + + /** + * 场所详情 + * + * @param tokenDto + * @param enterpriseId + * @return + */ + @PostMapping("detail/{enterpriseId}") + public Result detail(@LoginUser TokenDto tokenDto, @PathVariable("enterpriseId") String enterpriseId) { + return new Result().ok(icEnterpriseService.queryEnterpriseDetail(tokenDto.getCustomerId(), enterpriseId)); + } + + /** + * 企事业单位-删除场所 + * + * @param enterpriseId + * @return + */ + @PostMapping("delete/{enterpriseId}") + public Result delete(@LoginUser TokenDto tokenDto,@PathVariable("enterpriseId") String enterpriseId) { + icEnterpriseService.delete(enterpriseId,tokenDto.getCustomerId(),tokenDto.getUserId()); + return new Result(); + } + + /** + * 企事业单位导入模板 + * @param response + * @throws IOException + */ + @RequestMapping(value = "download-tem", method = {RequestMethod.GET, RequestMethod.POST}) + public void downloadTemplate(HttpServletResponse response) throws IOException { + response.setCharacterEncoding("UTF-8"); + response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + //response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("企事业单位导入模板", "UTF-8") + ".xlsx"); + + InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/enterprise_patrol_import_tem.xlsx"); + try { + ServletOutputStream os = response.getOutputStream(); + IOUtils.copy(is, os); + } finally { + if (is != null) { + is.close(); + } + } + } + + /** + * 【企事业单位巡查】新增/修改巡查记录 + * + * @param tokenDto + * @param formDTO + * @return + */ + @NoRepeatSubmit + @PostMapping("addorupdate-patrol") + public Result addOrUpdatePatrol(@LoginUser TokenDto tokenDto, @RequestBody EnterprisePatrolFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO, EnterprisePatrolFormDTO.AddShow.class); + Map map = new HashMap<>(); + map.put("patrolId", icEnterpriseService.addOrUpdatePatrol(formDTO)); + return new Result().ok(map); + } + + /** + * 删除巡查记录 + * + * @param patrolId + * @return + */ + @PostMapping("del-patrol/{patrolId}") + public Result delPatrol(@LoginUser TokenDto tokenDto, @PathVariable("patrolId") String patrolId) { + icEnterpriseService.delPatrol(patrolId, tokenDto.getUserId()); + return new Result(); + } + + /** + * 巡查记录列表 + * + * @param enterpriseId + * @return + */ + @PostMapping("patrollist/{enterpriseId}") + public Result> patrolList(@PathVariable("enterpriseId") String enterpriseId) { + return new Result>().ok(icEnterpriseService.patrolList(enterpriseId)); + } + + /** + * + * @param tokenDto + * @param file + * @return + */ + @PostMapping("import") + public Result importExcel(@LoginUser TokenDto tokenDto, @RequestPart("file") MultipartFile file) { + String userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + + // 1.暂存文件 + String originalFilename = file.getOriginalFilename(); + String extName = originalFilename.substring(originalFilename.lastIndexOf(".")); + + Path fileSavePath; + try { + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_enterprise", "import"); + fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); + } catch (IOException e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【企事业单位】创建临时存储文件失败:{}", errorMsg); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); + } + + InputStream is = null; + FileOutputStream os = null; + + try { + is = file.getInputStream(); + os = new FileOutputStream(fileSavePath.toString()); + IOUtils.copy(is, os); + } catch (Exception e) { + log.error("method exception", e); + } finally { + org.apache.poi.util.IOUtils.closeQuietly(is); + org.apache.poi.util.IOUtils.closeQuietly(os); + } + + // 2.生成导入任务记录 + ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); + importTaskForm.setOperatorId(userId); + importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_ENTERPRISE); + importTaskForm.setOriginFileName(originalFilename); + + ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm), + ServiceConstant.EPMET_COMMON_SERVICE, + EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), + "excel导入企事业单位错误", + "企事业单位导入失败"); + + // 3.执行导入 + icEnterpriseService.execAsyncExcelImport(fileSavePath, rstData.getTaskId(),tokenDto.getCustomerId(),tokenDto.getUserId()); + return new Result(); + } +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java index a4a6a65dd7..63668ceba1 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java @@ -31,6 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Map; /** @@ -110,4 +111,14 @@ public class IcHouseController { public Result getByHouseCode(@PathVariable("houseCode") String houseCode) { return new Result().ok(icHouseService.getByHouseCode(houseCode)); } + + /** + * desc:更新房屋的屋内居民数 + * @param paramList houseId:'123',resiNumber:20 + * @return + */ + @PostMapping("updateIcHouseResiNumber") + public Result updateIcHouseResiNumber(@RequestBody List> paramList){ + return new Result().ok(icHouseService.updateIcHouseResiNumber(paramList)); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPlaceOrgController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPlaceOrgController.java index 2d152c21c6..454119a4b8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPlaceOrgController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPlaceOrgController.java @@ -66,6 +66,8 @@ public class IcPlaceOrgController { **/ @PostMapping("edit") public Result edit(@LoginUser TokenDto tokenDto, @RequestBody EditPlaceOrgFormDTO formDTO) { + formDTO.setCurrentStaffId(tokenDto.getUserId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); ValidatorUtils.validateEntity(formDTO, EditPlaceOrgFormDTO.Edit.class); placeOrgService.edit(formDTO); return new Result(); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPublicServiceController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPublicServiceController.java new file mode 100644 index 0000000000..f9b47cdb41 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPublicServiceController.java @@ -0,0 +1,230 @@ +package com.epmet.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.feign.ResultDataResolver; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.*; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; +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.commons.tools.validator.group.UpdateGroup; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dto.IcPublicServiceDTO; +import com.epmet.dto.form.IcPublicServiceAddEditFormDTO; +import com.epmet.dto.form.IcPublicServiceListFormDTO; +import com.epmet.dto.form.IcSuperiorResourceAddEditFormDTO; +import com.epmet.dto.result.IcPublicServiceListResultDTO; +import com.epmet.dto.result.ImportTaskCommonResultDTO; +import com.epmet.excel.IcPublicServiceExcel; +import com.epmet.service.IcPublicServiceService; +import com.epmet.utils.ImportTaskUtils; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.io.IOUtils; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintWriter; +import java.net.URLEncoder; +import java.nio.file.Path; +import java.util.Date; +import java.util.List; +import java.util.UUID; + + +/** + * 公共服务图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@RestController +@RequestMapping("icPublicService") +@Slf4j +public class IcPublicServiceController implements ResultDataResolver { + + @Autowired + private IcPublicServiceService icPublicServiceService; + + @RequestMapping("list") + public Result> list(@LoginUser TokenDto tokenDto, @RequestBody IcPublicServiceListFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + return new Result>().ok(icPublicServiceService.list(formDTO)); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcPublicServiceDTO data = icPublicServiceService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("add") + public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcPublicServiceAddEditFormDTO dto) { + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + dto.setCustomerId(tokenDto.getCustomerId()); + dto.setUserId(tokenDto.getUserId()); + icPublicServiceService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("edit") + public Result update(@LoginUser TokenDto tokenDto, @RequestBody IcPublicServiceAddEditFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, UpdateGroup.class, DefaultGroup.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icPublicServiceService.update(formDTO); + return new Result(); + } + + @PostMapping("del") + public Result delete(@LoginUser TokenDto tokenDto, @RequestBody IcPublicServiceAddEditFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, IcSuperiorResourceAddEditFormDTO.Del.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icPublicServiceService.delete(formDTO); + return new Result(); + } + + @RequestMapping("detail") + public Result detail(@RequestBody IcPublicServiceListFormDTO formDTO) { + return new Result().ok(icPublicServiceService.detail(formDTO)); + } + + @RequestMapping(value = "download", method = {RequestMethod.GET, RequestMethod.POST}) + public void downloadTemplate(HttpServletResponse response) throws IOException { + response.setCharacterEncoding("UTF-8"); + response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("公共服务导入模板", "UTF-8") + ".xlsx"); + + InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/public_service_template.xlsx"); + try { + ServletOutputStream os = response.getOutputStream(); + IOUtils.copy(is, os); + } finally { + if (is != null) { + is.close(); + } + } + } + + @PostMapping("export") + public void export(@LoginUser TokenDto tokenDto, @RequestBody IcPublicServiceListFormDTO formDTO, HttpServletResponse response) throws IOException { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + formDTO.setIsPage(false); + ExcelWriter excelWriter = null; + formDTO.setPageNo(NumConstant.ONE); + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + try { + String fileName = "公共服务管理" + DateUtils.format(new Date()) + ".xlsx"; + // 头的策略 + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + // 背景设置为红色 + headWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex()); + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle); + FreezeAndFilter writeHandler = new FreezeAndFilter(); + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcPublicServiceExcel.class) + .registerWriteHandler(horizontalCellStyleStrategy) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) + .registerWriteHandler(writeHandler).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); + PageData data = null; + List list = null; + do { + data = icPublicServiceService.list(formDTO); + list = ConvertUtils.sourceToTarget(data.getList(), IcPublicServiceExcel.class); + formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); + excelWriter.write(list, writeSheet); + } while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize()); + } catch (EpmetException e) { + response.reset(); + response.setCharacterEncoding("UTF-8"); + response.setHeader("content-type", "application/json; charset=UTF-8"); + PrintWriter printWriter = response.getWriter(); + Result result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg()); + printWriter.write(JSON.toJSONString(result)); + printWriter.close(); + } catch (Exception e) { + log.error("export exception", e); + } finally { + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + + @PostMapping("import") + public Result importExcel(MultipartFile file) { + // 1.暂存文件 + String originalFilename = file.getOriginalFilename(); + String extName = originalFilename.substring(originalFilename.lastIndexOf(".")); + + Path fileSavePath; + try { + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_public_service", "import"); + fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); + } catch (IOException e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【公共服务管理导入】创建临时存储文件失败:{}", errorMsg); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); + } + + InputStream is = null; + FileOutputStream os = null; + try { + is = file.getInputStream(); + os = new FileOutputStream(fileSavePath.toString()); + IOUtils.copy(is, os); + } catch (Exception e) { + log.error("importExcel exception", e); + } finally { + org.apache.poi.util.IOUtils.closeQuietly(is); + org.apache.poi.util.IOUtils.closeQuietly(os); + } + + // 2.生成导入任务记录 + ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException( + ImportTaskUtils.createImportTask(originalFilename, ImportTaskConstants.IC_PUBLIC_SERVICE), + ServiceConstant.EPMET_COMMON_SERVICE, + EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), + "excel导入公共服务管理信息错误", + "导入公共服务管理信息失败"); + + // 3.执行导入 + icPublicServiceService.importExcel(fileSavePath, rstData.getTaskId()); + + return new Result(); + } + + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcSuperiorResourceController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcSuperiorResourceController.java new file mode 100644 index 0000000000..28ebe204c2 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcSuperiorResourceController.java @@ -0,0 +1,231 @@ +package com.epmet.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.feign.ResultDataResolver; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.*; +import com.epmet.commons.tools.utils.poi.excel.handler.ExcelFillCellMergeStrategy; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; +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.commons.tools.validator.group.UpdateGroup; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dto.IcSuperiorResourceDTO; +import com.epmet.dto.form.IcSuperiorResourceAddEditFormDTO; +import com.epmet.dto.form.IcSuperiorResourceListFormDTO; +import com.epmet.dto.result.IcSuperiorResourceListResultDTO; +import com.epmet.dto.result.ImportTaskCommonResultDTO; +import com.epmet.excel.IcSuperiorResourceExcel; +import com.epmet.service.IcSuperiorResourceService; +import com.epmet.utils.ImportTaskUtils; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.io.IOUtils; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintWriter; +import java.net.URLEncoder; +import java.nio.file.Path; +import java.util.Date; +import java.util.List; +import java.util.UUID; + + +/** + * 优势资源管理 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@RestController +@RequestMapping("icSuperiorResource") +@Slf4j +public class IcSuperiorResourceController implements ResultDataResolver { + + @Autowired + private IcSuperiorResourceService icSuperiorResourceService; + + @RequestMapping("list") + public Result> list(@LoginUser TokenDto tokenDto, @RequestBody IcSuperiorResourceListFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + return new Result>().ok(icSuperiorResourceService.list(formDTO)); + } + + @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public Result get(@PathVariable("id") String id) { + IcSuperiorResourceDTO data = icSuperiorResourceService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("add") + public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcSuperiorResourceAddEditFormDTO dto) { + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + dto.setCustomerId(tokenDto.getCustomerId()); + dto.setUserId(tokenDto.getUserId()); + icSuperiorResourceService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("edit") + public Result update(@LoginUser TokenDto tokenDto, @RequestBody IcSuperiorResourceAddEditFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, UpdateGroup.class, DefaultGroup.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icSuperiorResourceService.update(formDTO); + return new Result(); + } + + @PostMapping("del") + public Result delete(@LoginUser TokenDto tokenDto, @RequestBody IcSuperiorResourceAddEditFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, IcSuperiorResourceAddEditFormDTO.Del.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icSuperiorResourceService.delete(formDTO); + return new Result(); + } + + @RequestMapping("detail") + public Result detail(@RequestBody IcSuperiorResourceListFormDTO formDTO) { + return new Result().ok(icSuperiorResourceService.detail(formDTO)); + } + + @RequestMapping(value = "download", method = {RequestMethod.GET, RequestMethod.POST}) + public void downloadTemplate(HttpServletResponse response) throws IOException { + response.setCharacterEncoding("UTF-8"); + response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("优势资源管理导入模板", "UTF-8") + ".xlsx"); + + InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/superior_resource_template.xlsx"); + try { + ServletOutputStream os = response.getOutputStream(); + IOUtils.copy(is, os); + } finally { + if (is != null) { + is.close(); + } + } + } + + @PostMapping("export") + public void export(@LoginUser TokenDto tokenDto, @RequestBody IcSuperiorResourceListFormDTO formDTO, HttpServletResponse response) throws IOException { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + formDTO.setIsPage(false); + ExcelWriter excelWriter = null; + formDTO.setPageNo(NumConstant.ONE); + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + try { + String fileName = "优势资源管理" + DateUtils.format(new Date()) + ".xlsx"; + // 头的策略 + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + // 背景设置为红色 + headWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex()); + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle); + FreezeAndFilter writeHandler = new FreezeAndFilter(); + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcSuperiorResourceExcel.class) + .registerWriteHandler(horizontalCellStyleStrategy) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) + .registerWriteHandler(writeHandler).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); + PageData data = null; + List list = null; + do { + data = icSuperiorResourceService.list(formDTO); + list = ConvertUtils.sourceToTarget(data.getList(), IcSuperiorResourceExcel.class); + formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); + excelWriter.write(list, writeSheet); + } while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize()); + } catch (EpmetException e) { + response.reset(); + response.setCharacterEncoding("UTF-8"); + response.setHeader("content-type", "application/json; charset=UTF-8"); + PrintWriter printWriter = response.getWriter(); + Result result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg()); + printWriter.write(JSON.toJSONString(result)); + printWriter.close(); + } catch (Exception e) { + log.error("export exception", e); + } finally { + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + + @PostMapping("import") + public Result importExcel(MultipartFile file) { + // 1.暂存文件 + String originalFilename = file.getOriginalFilename(); + String extName = originalFilename.substring(originalFilename.lastIndexOf(".")); + + Path fileSavePath; + try { + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_superior_resource", "import"); + fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); + } catch (IOException e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【优势资源管理导入】创建临时存储文件失败:{}", errorMsg); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); + } + + InputStream is = null; + FileOutputStream os = null; + try { + is = file.getInputStream(); + os = new FileOutputStream(fileSavePath.toString()); + IOUtils.copy(is, os); + } catch (Exception e) { + log.error("importExcel exception", e); + } finally { + org.apache.poi.util.IOUtils.closeQuietly(is); + org.apache.poi.util.IOUtils.closeQuietly(os); + } + + // 2.生成导入任务记录 + ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException( + ImportTaskUtils.createImportTask(originalFilename, ImportTaskConstants.IC_SUPERIOR_RESOURCE), + ServiceConstant.EPMET_COMMON_SERVICE, + EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), + "excel导入优势资源管理信息错误", + "导入优势资源管理信息失败"); + + // 3.执行导入 + icSuperiorResourceService.importExcel(fileSavePath, rstData.getTaskId()); + + return new Result(); + } + + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcCityManagementDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcCityManagementDao.java new file mode 100644 index 0000000000..ba554957d5 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcCityManagementDao.java @@ -0,0 +1,24 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.IcCityManagementListFormDTO; +import com.epmet.dto.result.IcCityManagementListResultDTO; +import com.epmet.entity.IcCityManagementEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 城市管理图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Mapper +public interface IcCityManagementDao extends BaseDao { + + List selectCityManagementList(IcCityManagementListFormDTO formDTO); + + void del(IcCityManagementEntity entity); + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcCoverageCategoryDictDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcCoverageCategoryDictDao.java new file mode 100755 index 0000000000..58534b44bb --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcCoverageCategoryDictDao.java @@ -0,0 +1,25 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; +import com.epmet.entity.IcCoverageCategoryDictEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 五大图层类别字典表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Mapper +public interface IcCoverageCategoryDictDao extends BaseDao { + + List dictMap(@Param("customerId") String customerId, @Param("placeType") String placeType); + + String selectCategoryName(@Param("customerId") String customerId, @Param("placeType") String placeType, @Param("categoryKey") String categoryKey); + + void dictInit(String customerId); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcDangerousChemicalsDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcDangerousChemicalsDao.java new file mode 100644 index 0000000000..03c1c90c62 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcDangerousChemicalsDao.java @@ -0,0 +1,23 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.IcDangerousChemicalsListFormDTO; +import com.epmet.dto.result.IcDangerousChemicalsListResultDTO; +import com.epmet.entity.IcDangerousChemicalsEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 重点危化品企业 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Mapper +public interface IcDangerousChemicalsDao extends BaseDao { + + List selectDangerousChemicalsList(IcDangerousChemicalsListFormDTO formDTO); + + void del(IcDangerousChemicalsEntity entity); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseDao.java new file mode 100644 index 0000000000..40bdde151e --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseDao.java @@ -0,0 +1,35 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.EnterprisePageFormDTO; +import com.epmet.dto.result.EnterpriseDetailDTO; +import com.epmet.entity.IcEnterpriseEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +/** + * 企事业单位表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-17 + */ +@Mapper +public interface IcEnterpriseDao extends BaseDao { + + int updateLatestPatrol(@Param("enterpriseId") String enterpriseId, + @Param("updatedTime")Date updatedTime, + @Param("result")String result, + @Param("userId")String userId); + + /** + * 企事业单位列表 + * @param formDTO + * @return + */ + List selectList(EnterprisePageFormDTO formDTO); + + List selectForUniqueName(@Param("gridId") String gridId, @Param("placeOrgName") String placeOrgName, @Param("enterpriseId") String enterpriseId); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterprisePatrolAttachmentDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterprisePatrolAttachmentDao.java new file mode 100644 index 0000000000..fda1e8ef6c --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterprisePatrolAttachmentDao.java @@ -0,0 +1,32 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcEnterprisePatrolAttachmentEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 企事业单位巡查附件表(目前只上传图片) + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-20 + */ +@Mapper +public interface IcEnterprisePatrolAttachmentDao extends BaseDao { + + /** + * 删除巡查及路的图片 + * @param patrolId + * @return + */ + int deleteByPatrolId(@Param("patrolId") String patrolId, @Param("staffId") String staffId); + + /** + * 巡查记录图片 + * @param patrolId + * @return + */ + List selectAtt(String patrolId); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterprisePatrolRecordDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterprisePatrolRecordDao.java new file mode 100644 index 0000000000..1915b153a7 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterprisePatrolRecordDao.java @@ -0,0 +1,20 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.EnterprisePatrolResultDTO; +import com.epmet.entity.IcEnterprisePatrolRecordEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 企事业单位巡查表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-17 + */ +@Mapper +public interface IcEnterprisePatrolRecordDao extends BaseDao { + + List patrolList(String enterpriseId); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java index 8efb45cf92..a2213ed024 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java @@ -147,29 +147,38 @@ public interface IcHouseDao extends BaseDao { List selectBatchHouseCodeAndUrl(@Param("customerId") String customerId); /** - * @describe: 通过客户id查询 - * @author wangtong - * @date 2022/6/7 18:36 - * @params [customerId] - * @return com.epmet.dto.result.IcHouseQrcodeConfigDTO - */ + * @return com.epmet.dto.result.IcHouseQrcodeConfigDTO + * @describe: 通过客户id查询 + * @author wangtong + * @date 2022/6/7 18:36 + * @params [customerId] + */ CustomerOrgParameterEntity selectByCustomerId(@Param("customerId") String customerId, @Param("preKey") String preKey); /** - * @describe: 工作端-通过房屋编码获取房屋信息 - * @author wangtong - * @date 2022/6/9 15:23 - * @params [houseCode] - * @return com.epmet.dto.result.HouseInfoResultDTO - */ + * @return com.epmet.dto.result.HouseInfoResultDTO + * @describe: 工作端-通过房屋编码获取房屋信息 + * @author wangtong + * @date 2022/6/9 15:23 + * @params [houseCode] + */ HouseInfoResultDTO selectHomeInfoByHouseCode(@Param("houseCode") String houseCode); /** - * @describe: 根据筛选获取需要下载的一户一码信息 - * @author wangtong - * @date 2022/6/13 16:34 - * @params [formDTO] - * @return java.util.List - */ + * @return java.util.List + * @describe: 根据筛选获取需要下载的一户一码信息 + * @author wangtong + * @date 2022/6/13 16:34 + * @params [formDTO] + */ List searchHouseZipList(IcHouseListFormDTO formDTO); + + /** + * desc:更新房屋的屋内居民数 及更新时间 不更新 更新人以及 resiNumber没有变化的 记录 + * + * @param houseId, + * @param resiNumber + * @return + */ + int updateIcHouseResiNumber(String houseId, Integer resiNumber); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPublicServiceDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPublicServiceDao.java new file mode 100644 index 0000000000..e1a168ae30 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPublicServiceDao.java @@ -0,0 +1,23 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.IcPublicServiceListFormDTO; +import com.epmet.dto.result.IcPublicServiceListResultDTO; +import com.epmet.entity.IcPublicServiceEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 公共服务图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Mapper +public interface IcPublicServiceDao extends BaseDao { + + List selectPublicServiceList(IcPublicServiceListFormDTO formDTO); + + void del(IcPublicServiceEntity entity); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcSuperiorResourceDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcSuperiorResourceDao.java new file mode 100644 index 0000000000..1ac3c972f0 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcSuperiorResourceDao.java @@ -0,0 +1,23 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.IcSuperiorResourceListFormDTO; +import com.epmet.dto.result.IcSuperiorResourceListResultDTO; +import com.epmet.entity.IcSuperiorResourceEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 优势资源管理 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Mapper +public interface IcSuperiorResourceDao extends BaseDao { + + List selectSuperiorResourceList(IcSuperiorResourceListFormDTO formDTO); + + void del(IcSuperiorResourceEntity entity); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcCityManagementEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcCityManagementEntity.java new file mode 100644 index 0000000000..8a90c40380 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcCityManagementEntity.java @@ -0,0 +1,79 @@ +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-06-16 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_city_management") +public class IcCityManagementEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 所属组织机构Id + */ + private String agencyId; + + /** + * agencyId的所有上级,包含自己 + */ + private String agencyIdPath; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 场所名称 + */ + private String name; + + /** + * 场所分类【字典表ic_coverage_category_dict key:city_management】 + */ + private String category; + + /** + * 占地面积,单位平方公里 + */ + private String areaCovered; + + /** + * 容纳人数 + */ + private Integer capacity; + + /** + * 地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcCoverageCategoryDictEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcCoverageCategoryDictEntity.java new file mode 100755 index 0000000000..c690e4a48a --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcCoverageCategoryDictEntity.java @@ -0,0 +1,59 @@ +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-06-16 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_coverage_category_dict") +public class IcCoverageCategoryDictEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * default;或者customerId + */ + private String customerId; + + /** + * 类别key + */ + private String categoryKey; + + /** + * 名称 + */ + private String categoryName; + + /** + * 所属场所类型; +社区自组织:community_org; +优势资源:superior_resource; +城市管理:city_management; +重点危化企业:dangerous_chemicals; +公共服务:public_service + */ + private String placeType; + + /** + * 所属五大图层:zhzl:综合治理图层;yjcl:应急处置图层;aqsc:安全生产图层;csgl:城市管理图层;ggfw:公共服务图层 + */ + private String coverageType; + + /** + * 排序 + */ + private Integer sort; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcDangerousChemicalsEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcDangerousChemicalsEntity.java new file mode 100644 index 0000000000..413cba21d6 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcDangerousChemicalsEntity.java @@ -0,0 +1,104 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +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-06-16 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_dangerous_chemicals") +public class IcDangerousChemicalsEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 所属组织机构Id + */ + private String agencyId; + + /** + * agencyId的所有上级,包含自己 + */ + private String agencyIdPath; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 企业名称 + */ + private String name; + + /** + * 企业类型【字典表ic_coverage_category_dict key:dangerous_chemicals】 + */ + private String category; + + /** + * 周边安全距离,单位公里 + */ + private String safeDistance; + + /** + * 危化品种类【字典表 ic_danger_type】 + */ + private String dangerType; + + /** + * 负责人姓名 + */ + private String principalName; + + /** + * 负责人电话 + */ + private String principalMobile; + + /** + * 经营地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + + /** + * 备注 + */ + private String remark; + + @TableField(exist = false) + private String dangerTypeName; + + @TableField(exist = false) + private String categoryName; + + @TableField(exist = false) + private Integer rowNum; + + @TableField(exist = false) + private Boolean existStatus = false; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterpriseEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterpriseEntity.java new file mode 100644 index 0000000000..d022fabf3d --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterpriseEntity.java @@ -0,0 +1,102 @@ +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-06-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_enterprise") +public class IcEnterpriseEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 网格Id【场所区域】 + */ + private String gridId; + + /** + * 网格所属的组织Id + */ + private String agencyId; + + /** + * agency_id的所有上级 + */ + private String agencyPids; + + /** + * 场所类型:来源于ic_coverage_category_dict + */ + private String placeType; + + /** + * 场所名称 + */ + private String placeOrgName; + + /** + * 场所地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + + /** + * 字典value,场所规模【 +0:10人以下 +1:10-20人 +2:21-40人 +3:41-100人 +4:100人以上】 + */ + private String scale; + + /** + * 场所负责人 + */ + private String personInCharge; + + /** + * 负责人电话 + */ + private String mobile; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 最新巡查结果【0:合格 1:不合格】 + */ + private String latestResult; + + /** + * 最新检查时间 + */ + private Date latestPatrolTime; +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterprisePatrolAttachmentEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterprisePatrolAttachmentEntity.java new file mode 100644 index 0000000000..5130ee855a --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterprisePatrolAttachmentEntity.java @@ -0,0 +1,80 @@ +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-06-20 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_enterprise_patrol_attachment") +public class IcEnterprisePatrolAttachmentEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 服务记录id,服务项目id + */ + private String patrolId; + + /** + * 附件名 + */ + private String attachmentName; + + /** + * 文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS) + */ + private String attachmentFormat; + + /** + * 附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc)) + */ + private String attachmentType; + + /** + * 附件地址 + */ + private String attachmentUrl; + + /** + * 排序字段 + */ + private Integer sort; + + /** + * 附件状态(审核中:auditing; +auto_passed: 自动通过; +review:结果不确定,需要人工审核; +block: 结果违规; +rejected:人工审核驳回; +approved:人工审核通过) +现在图片是同步审核的,所以图片只有auto_passed一种状态 + */ + private String status; + + /** + * 失败原因 + */ + private String reason; + + /** + * 语音或视频时长,秒 + */ + private Integer duration; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterprisePatrolRecordEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterprisePatrolRecordEntity.java new file mode 100644 index 0000000000..806a0a09ac --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterprisePatrolRecordEntity.java @@ -0,0 +1,69 @@ +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-06-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_enterprise_patrol_record") +public class IcEnterprisePatrolRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 企事业单位id + */ + private String enterpriseId; + + /** + * 巡查时间 + */ + private Date patrolTime; + + /** + * 工作人员id + */ + private String staffId; + + /** + * 工作人员姓名 + */ + private String staffName; + + /** + * 工作人员手机号 + */ + private String mobile; + + /** + * 检查结果【0:合格 1:不合格】 + */ + private String result; + + /** + * 隐患明细 + */ + private String detailed; + + /** + * 拟复查时间 + */ + private Date reviewTime; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java index a535667426..25a02ec5fd 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java @@ -42,6 +42,11 @@ public class IcHouseEntity extends BaseEpmetEntity { */ private String customerId; + /** + * 所属组织的PIDS,包括agency,grid + */ + private String orgIdPath; + /** * 小区id */ @@ -67,6 +72,11 @@ public class IcHouseEntity extends BaseEpmetEntity { */ private String houseName; + /** + * 全名:小区,楼栋,单元,房屋 + */ + private String fullName; + /** * 门牌号 */ @@ -117,4 +127,9 @@ public class IcHouseEntity extends BaseEpmetEntity { */ private String houseCode; private String houseQrcodeUrl; + + /** + * 居住人数 + */ + private Integer resiNumber; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcPublicServiceEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcPublicServiceEntity.java new file mode 100644 index 0000000000..5c0e35ec89 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcPublicServiceEntity.java @@ -0,0 +1,79 @@ +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-06-16 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_public_service") +public class IcPublicServiceEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 所属组织机构Id + */ + private String agencyId; + + /** + * agencyId的所有上级,包含自己 + */ + private String agencyIdPath; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 场所名称 + */ + private String name; + + /** + * 场所分类【字典表ic_coverage_category_dict key:public_service】 + */ + private String category; + + /** + * 占地面积,单位平方公里 + */ + private String areaCovered; + + /** + * 容纳人数 + */ + private Integer capacity; + + /** + * 地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcSuperiorResourceEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcSuperiorResourceEntity.java new file mode 100644 index 0000000000..193a8a5283 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcSuperiorResourceEntity.java @@ -0,0 +1,79 @@ +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-06-16 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_superior_resource") +public class IcSuperiorResourceEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 所属组织机构Id + */ + private String agencyId; + + /** + * agencyId的所有上级,包含自己 + */ + private String agencyIdPath; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 场所名称 + */ + private String name; + + /** + * 场所分类【字典表ic_coverage_category_dict key:superior_resource】 + */ + private String category; + + /** + * 占地面积,单位平方公里 + */ + private String areaCovered; + + /** + * 容纳人数 + */ + private Integer capacity; + + /** + * 地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseExportExcelDTO.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseExportExcelDTO.java new file mode 100644 index 0000000000..213e0c294b --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseExportExcelDTO.java @@ -0,0 +1,94 @@ +package com.epmet.excel; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +/** + * 企事业单位导出excel + */ +@Data +public class EnterpriseExportExcelDTO { + /** + * 场所类型:来源于ic_coverage_category_dict + */ + @ExcelIgnore + private String placeType; + + /** + * 场所类型名称 + */ + @ExcelProperty(value = "场所类型") + @ColumnWidth(25) + private String placeTypeName; + + + /** + * 网格所属的组织Id + */ + @ExcelIgnore + private String agencyId; + + @ExcelProperty(value = "所属组织") + @ColumnWidth(25) + private String agencyName; + + + /** + * 网格Id【场所区域】 + */ + @ExcelIgnore + private String gridId; + + @ExcelProperty(value = "场所区域") + @ColumnWidth(25) + private String gridName; + + /** + * 场所名称 + */ + @ExcelProperty(value = "场所名称") + @ColumnWidth(25) + private String placeOrgName; + + /** + * 场所地址 + */ + @ExcelProperty(value = "场所地址") + @ColumnWidth(30) + private String address; + + /** + * 字典value,场所规模【 + * 0:10人以下 + * 1:10-20人 + * 2:21-40人 + * 3:41-100人 + * 4:100人以上】 + */ + @ExcelIgnore + private String scale; + + /** + * 规模名称 + */ + @ExcelProperty(value = "规模") + @ColumnWidth(15) + private String scaleName; + + + /** + * 场所负责人 + */ + @ExcelProperty(value = "负责人") + @ColumnWidth(20) + private String personInCharge; + + /** + * 负责人电话 + */ + @ExcelProperty(value = "联系电话") + @ColumnWidth(20) + private String mobile; +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseImportExcelDTO.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseImportExcelDTO.java new file mode 100644 index 0000000000..8507192422 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseImportExcelDTO.java @@ -0,0 +1,106 @@ +package com.epmet.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + + +/** + * 企事业单位导入 + */ +@Data +public class EnterpriseImportExcelDTO { + + /** + * 场所类型名称 + */ + @NotBlank(message = "场所类型不能为空") + @ExcelProperty(value = "场所类型") + private String placeTypeName; + + + @NotBlank(message = "场所区域不能为空") + @ExcelProperty(value = "场所区域") + private String gridName; + + /** + * 场所名称 + */ + @NotBlank(message = "场所名称不能为空") + @ExcelProperty(value = "场所名称") + private String placeOrgName; + + /** + * 场所地址 + */ + @NotBlank(message = "场所地址不能为空") + @ExcelProperty(value = "场所地址") + private String address; + + /** + * 规模名称 字典value,场所规模【 + * 0:10人以下 + * 1:10-20人 + * 2:21-40人 + * 3:41-100人 + * 4:100人以上】 + */ + @NotBlank(message = "规模不能为空") + @ExcelProperty(value = "规模") + private String scaleName; + + /** + * 场所负责人 + */ + @NotBlank(message = "负责人不能为空") + @ExcelProperty(value = "负责人") + private String personInCharge; + + /** + * 负责人电话 + */ + @NotBlank(message = "联系电话不能为空") + @ExcelProperty(value = "联系电话") + private String mobile; + + @Data + public static class ErrorRow { + + @ColumnWidth(20) + @ExcelProperty(value = "场所类型") + private String placeTypeName; + + @ColumnWidth(20) + @ExcelProperty(value = "场所区域") + private String gridName; + + @ColumnWidth(20) + @ExcelProperty(value = "场所名称") + private String placeOrgName; + + /** + * 场所地址 + */ + @ColumnWidth(30) + @ExcelProperty(value = "场所地址") + private String address; + + @ColumnWidth(20) + @ExcelProperty(value = "规模") + private String scaleName; + + @ColumnWidth(20) + @ExcelProperty(value = "负责人") + private String personInCharge; + + @ColumnWidth(20) + @ExcelProperty(value = "联系电话") + private String mobile; + + @ColumnWidth(60) + @ExcelProperty("错误信息") + private String errorInfo; + } +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcCityManagementExcel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcCityManagementExcel.java new file mode 100644 index 0000000000..ffda552a3f --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcCityManagementExcel.java @@ -0,0 +1,61 @@ +package com.epmet.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 城市管理图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Data +public class IcCityManagementExcel { + + @ExcelProperty(value = "场所名称") + @ColumnWidth(25) + @NotBlank(message = "场所名称为必填项") + private String name; + + @ExcelProperty(value = "场所分类") + @ColumnWidth(20) + @NotBlank(message = "场所分类为必填项") + private String categoryName; + + @ExcelProperty(value = "占地面积(平方公里)") + @ColumnWidth(25) + private String areaCoveredName; + + @ExcelProperty(value = "容纳人数") + @ColumnWidth(20) + private String capacityName; + + @ExcelProperty(value = "地址") + @ColumnWidth(25) + @NotBlank(message = "地址为必填项") + private String address; + + @Data + public static class RowRemarkMessage { + + @ExcelProperty("场所名称") + @ColumnWidth(20) + private String name; + + @ExcelProperty("场所分类") + @ColumnWidth(20) + private String categoryName; + + @ExcelProperty("地址") + @ColumnWidth(20) + private String address; + + @ColumnWidth(60) + @ExcelProperty("错误信息") + private String errorInfo; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcDangerousChemicalsExcel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcDangerousChemicalsExcel.java new file mode 100644 index 0000000000..d7b612e504 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcDangerousChemicalsExcel.java @@ -0,0 +1,48 @@ +package com.epmet.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +/** + * 重点危化品企业 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Data +public class IcDangerousChemicalsExcel { + + @ExcelProperty(value = "企业名称") + @ColumnWidth(25) + private String name; + + @ExcelProperty(value = "企业类型") + @ColumnWidth(20) + private String categoryName; + + @ExcelProperty(value = "周边安全距离") + @ColumnWidth(20) + private String safeDistanceName; + + @ExcelProperty(value = "危化品种类") + @ColumnWidth(20) + private String dangerTypeName; + + @ExcelProperty(value = "经营地址") + @ColumnWidth(25) + private String address; + + @ExcelProperty(value = "负责人") + @ColumnWidth(20) + private String principalName; + + @ExcelProperty(value = "联系电话") + @ColumnWidth(20) + private String principalMobile; + + @ExcelProperty(value = "备注") + @ColumnWidth(25) + private String remark; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcPublicServiceExcel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcPublicServiceExcel.java new file mode 100644 index 0000000000..3b9762b677 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcPublicServiceExcel.java @@ -0,0 +1,61 @@ +package com.epmet.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 公共服务图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Data +public class IcPublicServiceExcel { + + @ExcelProperty(value = "场所名称") + @ColumnWidth(25) + @NotBlank(message = "场所名称为必填项") + private String name; + + @ExcelProperty(value = "场所分类") + @ColumnWidth(20) + @NotBlank(message = "场所分类为必填项") + private String categoryName; + + @ExcelProperty(value = "占地面积(平方公里)") + @ColumnWidth(25) + private String areaCoveredName; + + @ExcelProperty(value = "容纳人数") + @ColumnWidth(20) + private String capacityName; + + @ExcelProperty(value = "地址") + @ColumnWidth(25) + @NotBlank(message = "地址为必填项") + private String address; + + @Data + public static class RowRemarkMessage { + + @ExcelProperty("场所名称") + @ColumnWidth(20) + private String name; + + @ExcelProperty("场所分类") + @ColumnWidth(20) + private String categoryName; + + @ExcelProperty("地址") + @ColumnWidth(20) + private String address; + + @ColumnWidth(60) + @ExcelProperty("错误信息") + private String errorInfo; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcSuperiorResourceExcel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcSuperiorResourceExcel.java new file mode 100644 index 0000000000..4a6c08bd31 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcSuperiorResourceExcel.java @@ -0,0 +1,61 @@ +package com.epmet.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 优势资源管理 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Data +public class IcSuperiorResourceExcel { + + @ExcelProperty(value = "场所名称") + @ColumnWidth(25) + @NotBlank(message = "场所名称为必填项") + private String name; + + @ExcelProperty(value = "场所分类") + @ColumnWidth(20) + @NotBlank(message = "场所类别为必填项") + private String categoryName; + + @ExcelProperty(value = "占地面积(平方公里)") + @ColumnWidth(25) + private String areaCoveredName; + + @ExcelProperty(value = "容纳人数") + @ColumnWidth(20) + private String capacityName; + + @ExcelProperty(value = "地址") + @ColumnWidth(25) + @NotBlank(message = "地址为必填项") + private String address; + + @Data + public static class RowRemarkMessage { + + @ExcelProperty("场所名称") + @ColumnWidth(20) + private String name; + + @ExcelProperty("场所分类") + @ColumnWidth(20) + private String categoryName; + + @ExcelProperty("地址") + @ColumnWidth(20) + private String address; + + @ColumnWidth(60) + @ExcelProperty("错误信息") + private String errorInfo; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcCityManagementExcelImportListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcCityManagementExcelImportListener.java new file mode 100644 index 0000000000..91199dfde1 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcCityManagementExcelImportListener.java @@ -0,0 +1,167 @@ +package com.epmet.excel.handler; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.listener.ReadListener; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.ValidateException; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dao.IcCityManagementDao; +import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; +import com.epmet.entity.IcCityManagementEntity; +import com.epmet.excel.IcCityManagementExcel; +import com.epmet.service.CoverageService; +import com.epmet.service.impl.IcCityManagementServiceImpl; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 城市管理excel导入监听器 + */ +@Data +@Slf4j +public class IcCityManagementExcelImportListener implements ReadListener { + + //最大条数阈值 + public static final int MAX_THRESHOLD = 200; + private String currentUserId; + private String currentCustomerId; + private String currentAgencyId; + private String currentAgencyPids; + + //数据 + private List datas = new ArrayList<>(); + //错误项列表 + private List errorRows = new ArrayList<>(); + //其他被标记出来的列表列表 + private List otherRows = new ArrayList<>(); + private IcCityManagementServiceImpl IcCityManagementServiceImpl; + private CoverageService coverageService; + private IcCityManagementDao icCityManagementDao; + //存放当前组织下已存在的场所信息 + private Map existMap = null; + + public IcCityManagementExcelImportListener(String currentUserId, String currentCustomerId, String currentAgencyId, String currentAgencyPids, + IcCityManagementServiceImpl IcCityManagementServiceImpl, CoverageService coverageService, IcCityManagementDao icCityManagementDao) { + this.currentUserId = currentUserId; + this.currentCustomerId = currentCustomerId; + this.currentAgencyId = currentAgencyId; + this.currentAgencyPids = currentAgencyPids; + this.IcCityManagementServiceImpl = IcCityManagementServiceImpl; + this.coverageService = coverageService; + this.icCityManagementDao = icCityManagementDao; + } + + @Override + public void invoke(IcCityManagementExcel data, AnalysisContext context) { + + try { + // 先校验数据 + ValidatorUtils.validateEntity(data); + + existMap = null == existMap ? getExistMap(currentAgencyId) : existMap; + ValidatorUtils.validateEntity(data); + if (StringUtils.isNotBlank(existMap.get(data.getName()))) { + IcCityManagementExcel.RowRemarkMessage errorRow = ConvertUtils.sourceToTarget(data, IcCityManagementExcel.RowRemarkMessage.class); + errorRow.setErrorInfo("数据库存在当前场所数据"); + errorRows.add(errorRow); + return; + } + + // 去除前后空格 + if (StringUtils.isNotBlank(data.getName())) { + data.setName(data.getName().trim()); + } + if (StringUtils.isNotBlank(data.getCategoryName())) { + data.setCategoryName(data.getCategoryName().trim()); + } + if (StringUtils.isNotBlank(data.getAddress())) { + data.setAddress(data.getAddress().trim()); + } + + IcCityManagementEntity IcCityManagementEntity = ConvertUtils.sourceToTarget(data, IcCityManagementEntity.class); + IcCityManagementEntity.setCustomerId(currentCustomerId); + IcCityManagementEntity.setAgencyId(currentAgencyId); + IcCityManagementEntity.setAgencyIdPath(currentAgencyPids); + IcCityManagementEntity.setSourceType("import"); + IcCityManagementEntity.setCategory(data.getCategoryName()); + IcCityManagementEntity.setAreaCovered(data.getAreaCoveredName()); + IcCityManagementEntity.setCapacity(Integer.parseInt(data.getCapacityName())); + datas.add(IcCityManagementEntity); + + if (datas.size() == MAX_THRESHOLD) { + execPersist(); + } + } catch (Exception e) { + String errorMsg = null; + if (e instanceof ValidateException) { + errorMsg = ((ValidateException) e).getMsg(); + } else { + errorMsg = "未知错误"; + log.error("【城市管理导入】出错:{}", ExceptionUtils.getErrorStackTrace(e)); + } + + IcCityManagementExcel.RowRemarkMessage errorRow = new IcCityManagementExcel.RowRemarkMessage(); + errorRow.setName(data.getName()); + errorRow.setCategoryName(data.getCategoryName()); + errorRow.setAddress(data.getAddress()); + errorRow.setErrorInfo(errorMsg); + errorRows.add(errorRow); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + // 最后几条达不到阈值,这里必须再调用一次 + execPersist(); + } + + /** + * 查询当前组织下已存在场所数据 + */ + public Map getExistMap(String agencyId) { + LambdaQueryWrapper tWrapper = new LambdaQueryWrapper<>(); + tWrapper.eq(IcCityManagementEntity::getAgencyId, agencyId); + List entityList = icCityManagementDao.selectList(tWrapper); + Map existMap = new HashMap<>(16); + if (CollectionUtils.isNotEmpty(entityList)) { + existMap = entityList.stream().collect(Collectors.toMap(IcCityManagementEntity::getName, IcCityManagementEntity::getId, (v1, v2) -> v1)); + } + return existMap; + } + + /** + * 执行持久化 + */ + private void execPersist() { + try { + List dictList = coverageService.dictMap(currentCustomerId, "city_management"); + Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getLabel, IcCoverageCategoryDictListResultDTO::getValue)); + datas.forEach(d -> { + d.setCategory(dictMap.get(d.getCategory())); + }); + IcCityManagementServiceImpl.insertBatch(datas); + + } finally { + datas.clear(); + } + } + + /** + * 获取错误行 + * + * @return + */ + public List getErrorRows() { + return errorRows; + } +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcEnterpriseExcelImportListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcEnterpriseExcelImportListener.java new file mode 100644 index 0000000000..ac55be4e46 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcEnterpriseExcelImportListener.java @@ -0,0 +1,163 @@ +package com.epmet.excel.handler; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.listener.ReadListener; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.ValidateException; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.ObjectUtil; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.entity.IcEnterpriseEntity; +import com.epmet.excel.EnterpriseImportExcelDTO; +import com.epmet.service.impl.IcEnterpriseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Slf4j +public class IcEnterpriseExcelImportListener implements ReadListener { + //最大条数阈值 + public static final int MAX_THRESHOLD = 200; + private String currentCustomerId; + /** + * 当前操作用户 + */ + private CustomerStaffInfoCacheResult staffInfo; + private IcEnterpriseServiceImpl icEnterpriseServiceImpl; + private Map placeTypeMap; + private Map scaleMap; + private Map gridMap; + //要插入的数据 + private List insertDatas = new ArrayList<>(); + private List updateDatas = new ArrayList<>(); + //错误项列表 + private List errorRows = new ArrayList<>(); + + + public IcEnterpriseExcelImportListener(String currentCustomerId, + CustomerStaffInfoCacheResult staffInfoCacheResult, + IcEnterpriseServiceImpl icEnterpriseService, + Map placeTypeMap, + Map scaleMap, + Map gridMap) { + this.currentCustomerId = currentCustomerId; + this.staffInfo = staffInfoCacheResult; + this.icEnterpriseServiceImpl = icEnterpriseService; + this.placeTypeMap=placeTypeMap; + this.scaleMap=scaleMap; + this.gridMap=gridMap; + } + + @Override + public void invoke(EnterpriseImportExcelDTO data, AnalysisContext context) { + + try { + // log.warn("有数据吗?"+JSON.toJSONString(data)); + // 不能为空先校验数据 + ValidatorUtils.validateEntity(data); + // 去除空格 + ObjectUtil.objectToTrim(data); + // 根据网格名是否能找到网格id + if (!gridMap.containsKey(data.getGridName())) { + throw new ValidateException(String.format("您所在的组织,不存在【%s】", data.getGridName())); + } + if(!placeTypeMap.containsKey(data.getPlaceTypeName())){ + throw new ValidateException(String.format("【%s】场所类型不存在",data.getPlaceTypeName())); + } + if(!scaleMap.containsKey(data.getScaleName())){ + throw new ValidateException(String.format("【%s】规模不存在",data.getScaleName())); + } + IcEnterpriseEntity enterpriseEntity = ConvertUtils.sourceToTarget(data, IcEnterpriseEntity.class); + enterpriseEntity.setCustomerId(currentCustomerId); + //网格id + enterpriseEntity.setGridId(gridMap.get(data.getGridName())); + + enterpriseEntity.setAgencyId(staffInfo.getAgencyId()); + enterpriseEntity.setAgencyPids(staffInfo.getAgencyPIds()); + //场所类型 + enterpriseEntity.setPlaceType(placeTypeMap.get(data.getPlaceTypeName())); + enterpriseEntity.setLongitude(StrConstant.EPMETY_STR); + enterpriseEntity.setLatitude(StrConstant.EPMETY_STR); + //规模 + enterpriseEntity.setScale(scaleMap.get(data.getScaleName())); + + + //网格id+场所名称 + List originList=icEnterpriseServiceImpl.selectForUniqueName(enterpriseEntity.getGridId(),enterpriseEntity.getPlaceOrgName(),null); + if(CollectionUtils.isEmpty(originList)){ + enterpriseEntity.setSourceType("import"); + insertDatas.add(enterpriseEntity); + }else{ + IcEnterpriseEntity origin=originList.get(NumConstant.ZERO); + enterpriseEntity.setId(origin.getId()); + enterpriseEntity.setSourceType(origin.getSourceType()); + updateDatas.add(enterpriseEntity); + } + + + if (insertDatas.size() == MAX_THRESHOLD) { + execPersist(); + } + if (updateDatas.size() == MAX_THRESHOLD) { + execPersist(); + } + } catch (Exception e) { + String errorMsg = null; + if (e instanceof ValidateException) { + errorMsg = ((ValidateException) e).getMsg(); + } else { + errorMsg = "未知错误"; + log.error("【企事业单位导入】出错:{}", ExceptionUtils.getErrorStackTrace(e)); + } + EnterpriseImportExcelDTO.ErrorRow errorRow = new EnterpriseImportExcelDTO.ErrorRow(); + errorRow.setPlaceTypeName(data.getPlaceTypeName()); + errorRow.setGridName(data.getGridName()); + errorRow.setPlaceOrgName(data.getPlaceOrgName()); + errorRow.setAddress(data.getAddress()); + errorRow.setScaleName(data.getScaleName()); + errorRow.setPersonInCharge(data.getPersonInCharge()); + errorRow.setMobile(data.getMobile()); + errorRow.setErrorInfo(errorMsg); + errorRows.add(errorRow); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + // 最后几条达不到阈值,这里必须再调用一次 + execPersist(); + } + + /** + * 执行持久化 + */ + private void execPersist() { + try { + if(CollectionUtils.isNotEmpty(insertDatas)){ + icEnterpriseServiceImpl.insertBatch(insertDatas); + } + + if(CollectionUtils.isNotEmpty(updateDatas)){ + icEnterpriseServiceImpl.updateBatchById(updateDatas); + } + } finally { + insertDatas.clear(); + updateDatas.clear(); + } + } + + /** + * 获取错误行 + * + * @return + */ + public List getErrorRows() { + return errorRows; + } +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcPublicServiceExcelImportListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcPublicServiceExcelImportListener.java new file mode 100644 index 0000000000..b03764be92 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcPublicServiceExcelImportListener.java @@ -0,0 +1,167 @@ +package com.epmet.excel.handler; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.listener.ReadListener; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.ValidateException; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dao.IcPublicServiceDao; +import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; +import com.epmet.entity.IcPublicServiceEntity; +import com.epmet.excel.IcPublicServiceExcel; +import com.epmet.service.CoverageService; +import com.epmet.service.impl.IcPublicServiceServiceImpl; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 公共服务管理excel导入监听器 + */ +@Data +@Slf4j +public class IcPublicServiceExcelImportListener implements ReadListener { + + //最大条数阈值 + public static final int MAX_THRESHOLD = 200; + private String currentUserId; + private String currentCustomerId; + private String currentAgencyId; + private String currentAgencyPids; + + //数据 + private List datas = new ArrayList<>(); + //错误项列表 + private List errorRows = new ArrayList<>(); + //其他被标记出来的列表列表 + private List otherRows = new ArrayList<>(); + private IcPublicServiceServiceImpl IcPublicServiceServiceImpl; + private CoverageService coverageService; + private IcPublicServiceDao icPublicServiceDao; + //存放当前组织下已存在的场所信息 + private Map existMap = null; + + public IcPublicServiceExcelImportListener(String currentUserId, String currentCustomerId, String currentAgencyId, String currentAgencyPids, + IcPublicServiceServiceImpl IcPublicServiceServiceImpl, CoverageService coverageService, IcPublicServiceDao icPublicServiceDao) { + this.currentUserId = currentUserId; + this.currentCustomerId = currentCustomerId; + this.currentAgencyId = currentAgencyId; + this.currentAgencyPids = currentAgencyPids; + this.IcPublicServiceServiceImpl = IcPublicServiceServiceImpl; + this.coverageService = coverageService; + this.icPublicServiceDao = icPublicServiceDao; + } + + @Override + public void invoke(IcPublicServiceExcel data, AnalysisContext context) { + + try { + // 先校验数据 + ValidatorUtils.validateEntity(data); + + existMap = null == existMap ? getExistMap(currentAgencyId) : existMap; + ValidatorUtils.validateEntity(data); + if (StringUtils.isNotBlank(existMap.get(data.getName()))) { + IcPublicServiceExcel.RowRemarkMessage errorRow = ConvertUtils.sourceToTarget(data, IcPublicServiceExcel.RowRemarkMessage.class); + errorRow.setErrorInfo("数据库存在当前场所数据"); + errorRows.add(errorRow); + return; + } + + // 去除前后空格 + if (StringUtils.isNotBlank(data.getName())) { + data.setName(data.getName().trim()); + } + if (StringUtils.isNotBlank(data.getCategoryName())) { + data.setCategoryName(data.getCategoryName().trim()); + } + if (StringUtils.isNotBlank(data.getAddress())) { + data.setAddress(data.getAddress().trim()); + } + + IcPublicServiceEntity IcPublicServiceEntity = ConvertUtils.sourceToTarget(data, IcPublicServiceEntity.class); + IcPublicServiceEntity.setCustomerId(currentCustomerId); + IcPublicServiceEntity.setAgencyId(currentAgencyId); + IcPublicServiceEntity.setAgencyIdPath(currentAgencyPids); + IcPublicServiceEntity.setSourceType("import"); + IcPublicServiceEntity.setCategory(data.getCategoryName()); + IcPublicServiceEntity.setAreaCovered(data.getAreaCoveredName()); + IcPublicServiceEntity.setCapacity(Integer.parseInt(data.getCapacityName())); + datas.add(IcPublicServiceEntity); + + if (datas.size() == MAX_THRESHOLD) { + execPersist(); + } + } catch (Exception e) { + String errorMsg = null; + if (e instanceof ValidateException) { + errorMsg = ((ValidateException) e).getMsg(); + } else { + errorMsg = "未知错误"; + log.error("【公共服务管理导入】出错:{}", ExceptionUtils.getErrorStackTrace(e)); + } + + IcPublicServiceExcel.RowRemarkMessage errorRow = new IcPublicServiceExcel.RowRemarkMessage(); + errorRow.setName(data.getName()); + errorRow.setCategoryName(data.getCategoryName()); + errorRow.setAddress(data.getAddress()); + errorRow.setErrorInfo(errorMsg); + errorRows.add(errorRow); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + // 最后几条达不到阈值,这里必须再调用一次 + execPersist(); + } + + /** + * 查询当前组织下已存在场所数据 + */ + public Map getExistMap(String agencyId) { + LambdaQueryWrapper tWrapper = new LambdaQueryWrapper<>(); + tWrapper.eq(IcPublicServiceEntity::getAgencyId, agencyId); + List entityList = icPublicServiceDao.selectList(tWrapper); + Map existMap = new HashMap<>(16); + if (CollectionUtils.isNotEmpty(entityList)) { + existMap = entityList.stream().collect(Collectors.toMap(IcPublicServiceEntity::getName, IcPublicServiceEntity::getId, (v1, v2) -> v1)); + } + return existMap; + } + + /** + * 执行持久化 + */ + private void execPersist() { + try { + List dictList = coverageService.dictMap(currentCustomerId, "public_service"); + Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getLabel, IcCoverageCategoryDictListResultDTO::getValue)); + datas.forEach(d -> { + d.setCategory(dictMap.get(d.getCategory())); + }); + IcPublicServiceServiceImpl.insertBatch(datas); + + } finally { + datas.clear(); + } + } + + /** + * 获取错误行 + * + * @return + */ + public List getErrorRows() { + return errorRows; + } +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcSuperiorResourceExcelImportListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcSuperiorResourceExcelImportListener.java new file mode 100644 index 0000000000..178809ef42 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcSuperiorResourceExcelImportListener.java @@ -0,0 +1,168 @@ +package com.epmet.excel.handler; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.listener.ReadListener; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.ValidateException; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dao.IcSuperiorResourceDao; +import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; +import com.epmet.entity.IcSuperiorResourceEntity; +import com.epmet.excel.IcSuperiorResourceExcel; +import com.epmet.service.CoverageService; +import com.epmet.service.impl.IcSuperiorResourceServiceImpl; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 优势资源管理excel导入监听器 + */ +@Data +@Slf4j +public class IcSuperiorResourceExcelImportListener implements ReadListener { + + //最大条数阈值 + public static final int MAX_THRESHOLD = 200; + private String currentUserId; + private String currentCustomerId; + private String currentAgencyId; + private String currentAgencyPids; + + //数据 + private List datas = new ArrayList<>(); + //错误项列表 + private List errorRows = new ArrayList<>(); + //其他被标记出来的列表列表 + private List otherRows = new ArrayList<>(); + private IcSuperiorResourceServiceImpl icSuperiorResourceServiceImpl; + private CoverageService coverageService; + private IcSuperiorResourceDao icSuperiorResourceDao; + //存放当前组织下已存在的场所信息 + private Map existMap = null; + + + public IcSuperiorResourceExcelImportListener(String currentUserId, String currentCustomerId, String currentAgencyId, String currentAgencyPids, + IcSuperiorResourceServiceImpl icSuperiorResourceServiceImpl, CoverageService coverageService, IcSuperiorResourceDao icSuperiorResourceDao) { + this.currentUserId = currentUserId; + this.currentCustomerId = currentCustomerId; + this.currentAgencyId = currentAgencyId; + this.currentAgencyPids = currentAgencyPids; + this.icSuperiorResourceServiceImpl = icSuperiorResourceServiceImpl; + this.coverageService = coverageService; + this.icSuperiorResourceDao = icSuperiorResourceDao; + } + + @Override + public void invoke(IcSuperiorResourceExcel data, AnalysisContext context) { + + try { + // 先校验数据 + ValidatorUtils.validateEntity(data); + + existMap = null == existMap ? getExistMap(currentAgencyId) : existMap; + ValidatorUtils.validateEntity(data); + if (StringUtils.isNotBlank(existMap.get(data.getName()))) { + IcSuperiorResourceExcel.RowRemarkMessage errorRow = ConvertUtils.sourceToTarget(data, IcSuperiorResourceExcel.RowRemarkMessage.class); + errorRow.setErrorInfo("数据库存在当前场所数据"); + errorRows.add(errorRow); + return; + } + + // 去除前后空格 + if (StringUtils.isNotBlank(data.getName())) { + data.setName(data.getName().trim()); + } + if (StringUtils.isNotBlank(data.getCategoryName())) { + data.setCategoryName(data.getCategoryName().trim()); + } + if (StringUtils.isNotBlank(data.getAddress())) { + data.setAddress(data.getAddress().trim()); + } + + IcSuperiorResourceEntity icSuperiorResourceEntity = ConvertUtils.sourceToTarget(data, IcSuperiorResourceEntity.class); + icSuperiorResourceEntity.setCustomerId(currentCustomerId); + icSuperiorResourceEntity.setAgencyId(currentAgencyId); + icSuperiorResourceEntity.setAgencyIdPath(currentAgencyPids); + icSuperiorResourceEntity.setSourceType("import"); + icSuperiorResourceEntity.setCategory(data.getCategoryName()); + icSuperiorResourceEntity.setAreaCovered(data.getAreaCoveredName()); + icSuperiorResourceEntity.setCapacity(Integer.parseInt(data.getCapacityName())); + datas.add(icSuperiorResourceEntity); + + if (datas.size() == MAX_THRESHOLD) { + execPersist(); + } + } catch (Exception e) { + String errorMsg = null; + if (e instanceof ValidateException) { + errorMsg = ((ValidateException) e).getMsg(); + } else { + errorMsg = "未知错误"; + log.error("【优势资源管理导入】出错:{}", ExceptionUtils.getErrorStackTrace(e)); + } + + IcSuperiorResourceExcel.RowRemarkMessage errorRow = new IcSuperiorResourceExcel.RowRemarkMessage(); + errorRow.setName(data.getName()); + errorRow.setCategoryName(data.getCategoryName()); + errorRow.setAddress(data.getAddress()); + errorRow.setErrorInfo(errorMsg); + errorRows.add(errorRow); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + // 最后几条达不到阈值,这里必须再调用一次 + execPersist(); + } + + /** + * 查询当前组织下已存在场所数据 + */ + public Map getExistMap(String agencyId) { + LambdaQueryWrapper tWrapper = new LambdaQueryWrapper<>(); + tWrapper.eq(IcSuperiorResourceEntity::getAgencyId, agencyId); + List entityList = icSuperiorResourceDao.selectList(tWrapper); + Map existMap = new HashMap<>(16); + if (CollectionUtils.isNotEmpty(entityList)) { + existMap = entityList.stream().collect(Collectors.toMap(IcSuperiorResourceEntity::getName, IcSuperiorResourceEntity::getId, (v1, v2) -> v1)); + } + return existMap; + } + + /** + * 执行持久化 + */ + private void execPersist() { + try { + List dictList = coverageService.dictMap(currentCustomerId, "superior_resource"); + Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getLabel, IcCoverageCategoryDictListResultDTO::getValue)); + datas.forEach(d -> { + d.setCategory(dictMap.get(d.getCategory())); + }); + icSuperiorResourceServiceImpl.insertBatch(datas); + + } finally { + datas.clear(); + } + } + + /** + * 获取错误行 + * + * @return + */ + public List getErrorRows() { + return errorRows; + } +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsImportListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsImportListener.java new file mode 100644 index 0000000000..e164649b63 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsImportListener.java @@ -0,0 +1,176 @@ +package com.epmet.model; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.enums.CoveragePlaceTypeEnum; +import com.epmet.commons.tools.enums.DictTypeEnum; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.ValidateException; +import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dao.IcDangerousChemicalsDao; +import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; +import com.epmet.entity.IcDangerousChemicalsEntity; +import com.epmet.excel.IcCityManagementExcel; +import com.epmet.feign.EpmetAdminOpenFeignClient; +import com.epmet.service.CoverageService; +import com.epmet.service.IcDangerousChemicalsService; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.MapUtils; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @Author zxc + * @DateTime 2022/6/20 10:31 + * @DESC + */ +@Data +@Slf4j +public class DangerousChemicalsImportListener extends AnalysisEventListener { + + private IcDangerousChemicalsService icDangerousChemicalsService; + private EpmetAdminOpenFeignClient adminOpenFeignClient; + private CoverageService coverageService; + private AgencyInfoCache agencyInfo; + private IcDangerousChemicalsDao icDangerousChemicalsDao; + + private List errorRows = new ArrayList<>(); + private List otherRows = new ArrayList<>(); + private List insertList = new ArrayList<>(); + private Map existMap = null; + + public DangerousChemicalsImportListener(AgencyInfoCache agencyInfo, IcDangerousChemicalsService icDangerousChemicalsService, CoverageService coverageService, EpmetAdminOpenFeignClient adminOpenFeignClient, IcDangerousChemicalsDao icDangerousChemicalsDao){ + this.agencyInfo = agencyInfo; + this.icDangerousChemicalsService = icDangerousChemicalsService; + this.coverageService = coverageService; + this.adminOpenFeignClient = adminOpenFeignClient; + this.icDangerousChemicalsDao = icDangerousChemicalsDao; + } + + @Override + public void invoke(DangerousChemicalsModel data, AnalysisContext context) { + Integer rowNum = context.readRowHolder().getRowIndex() + NumConstant.ONE; + data.setRowNum(rowNum); + try { + existMap = null == existMap ? getExistMap(agencyInfo.getId()) : existMap; + ValidatorUtils.validateEntity(data); + if (StringUtils.isNotBlank(existMap.get(data.getName()))){ + DangerousChemicalsModel.RowRemarkMessage errorRow = ConvertUtils.sourceToTarget(data, DangerousChemicalsModel.RowRemarkMessage.class); + errorRow.setErrorInfo("数据库存在该条数据"); + errorRows.add(errorRow); + return; + } + IcDangerousChemicalsEntity e = ConvertUtils.sourceToTarget(data, IcDangerousChemicalsEntity.class); + e.setSourceType("import"); + e.setAgencyId(agencyInfo.getId()); + e.setCustomerId(agencyInfo.getCustomerId()); + e.setAgencyIdPath(agencyInfo.getPids().equals(NumConstant.ZERO_STR) || agencyInfo.getPids().equals("") ? agencyInfo.getId() : agencyInfo.getPids().concat(":").concat(agencyInfo.getId())); + insertList.add(e); + if (insertList.size() == NumConstant.ONE_HUNDRED){ + execPersist(); + } + }catch (Exception e){ + String errorMsg = null; + if (e instanceof ValidateException) { + errorMsg = ((ValidateException) e).getMsg(); + } else { + errorMsg = "未知错误"; + log.error("【重点危化品企业导入】出错:{}", ExceptionUtils.getErrorStackTrace(e)); + } + DangerousChemicalsModel.RowRemarkMessage errorRow = ConvertUtils.sourceToTarget(data, DangerousChemicalsModel.RowRemarkMessage.class); + errorRow.setErrorInfo(errorMsg); + errorRows.add(errorRow); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + execPersist(); + } + + public Map getExistMap(String agencyId){ + LambdaQueryWrapper tWrapper = new LambdaQueryWrapper<>(); + tWrapper.eq(IcDangerousChemicalsEntity::getAgencyId, agencyId); + List entityList = icDangerousChemicalsDao.selectList(tWrapper); + Map existMap = new HashMap<>(16); + if (CollectionUtils.isNotEmpty(entityList)){ + existMap = entityList.stream().collect(Collectors.toMap(IcDangerousChemicalsEntity::getName,IcDangerousChemicalsEntity::getId,(v1,v2) -> v1)); + } + return existMap; + } + /** + * Desc: 数据库插入 + */ + private void execPersist() { + try { + if (CollectionUtils.isNotEmpty(insertList)) { + //危化品种类字典 + Result> statusRes = adminOpenFeignClient.dictMap(DictTypeEnum.IC_DANGER_TYPE.getCode()); + if (!statusRes.success()){ + throw new EpmetException("获取IC_DANGER_TYPE字典表失败"); + } + Map statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>(16); + //企业类别字典数据 + List dictList = coverageService.dictMap(agencyInfo.getCustomerId(), CoveragePlaceTypeEnum.DANGEROUS_CHEMICALS.getCode()); + Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getValue, IcCoverageCategoryDictListResultDTO::getLabel)); + insertList.forEach(i -> { + statusMap.forEach((k,v) -> { + if (i.getDangerTypeName().equals(v)){ + i.setDangerType(k); + } + }); + dictMap.forEach((k,v) -> { + if (i.getCategoryName().equals(v)){ + i.setCategory(k); + } + }); + }); + Map groupByName = insertList.stream().collect(Collectors.groupingBy(IcDangerousChemicalsEntity::getName, Collectors.counting())); + groupByName.forEach((k,v) -> { + if (v.compareTo(NumConstant.ONE_L) != NumConstant.ZERO){ + insertList.forEach(i -> { + if (i.getName().equals(k)){ + i.setExistStatus(true); + } + }); + } + }); + Map> groupByStatus = insertList.stream().collect(Collectors.groupingBy(IcDangerousChemicalsEntity::getExistStatus)); + if (CollectionUtils.isNotEmpty(groupByStatus.get(true))){ + groupByStatus.get(true).forEach(t -> { + DangerousChemicalsModel.RowRemarkMessage errorRow = ConvertUtils.sourceToTarget(t, DangerousChemicalsModel.RowRemarkMessage.class); + errorRow.setErrorInfo("表格中存在重复数据"); + errorRows.add(errorRow); + }); + } + if (CollectionUtils.isNotEmpty(groupByStatus.get(false))){ + icDangerousChemicalsService.insertBatch(groupByStatus.get(false)); + } + } + } finally { + insertList.clear(); + existMap = null; + } + } + + /** + * 获取错误行 + * @return + */ + public List getErrorRows() { + return errorRows; + } +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsModel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsModel.java new file mode 100644 index 0000000000..199ab033cd --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsModel.java @@ -0,0 +1,96 @@ +package com.epmet.model; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.epmet.commons.tools.constant.NumConstant; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; + +/** + * @Author zxc + * @DateTime 2022/6/20 10:33 + * @DESC + */ +@Data +public class DangerousChemicalsModel { + + @NotBlank(message = "企业名称不能为空") + @Length(max = 50,message = "企业名称长度超出50字限制") + @ExcelProperty(value = "企业名称") + private String name; + + @NotBlank(message = "企业类型不能为空") + @ExcelProperty(value = "企业类型") + private String categoryName; + + @ExcelProperty(value = "周边安全间距(公里)") + private String safeDistance = NumConstant.ZERO_STR; + + @ExcelProperty(value = "危化品种类") + private String dangerTypeName; + + @ExcelProperty(value = "负责人") + private String principalName; + + @Length(max = 50,message = "联系电话长度超出50字限制") + @ExcelProperty(value = "联系电话") + private String principalMobile; + + @NotBlank(message = "经营地址不能为空") + @Length(max = 50,message = "经营地址长度超出50字限制") + @ExcelProperty(value = "经营地址") + private String address; + + @ExcelProperty(value = "备注") + private String remark; + + @ExcelIgnore + private Integer rowNum; + + @Data + public static class RowRemarkMessage { + + @ExcelProperty(value = "行号") + private Integer rowNum; + + @ColumnWidth(20) + @ExcelProperty(value = "企业名称") + private String name; + + @ColumnWidth(20) + @ExcelProperty(value = "企业类型") + private String categoryName; + + @ColumnWidth(20) + @ExcelProperty(value = "周边安全间距(公里)") + private String safeDistance = NumConstant.ZERO_STR; + + @ColumnWidth(20) + @ExcelProperty(value = "危化品种类") + private String dangerTypeName; + + @ColumnWidth(20) + @ExcelProperty(value = "负责人") + private String principalName; + + @ColumnWidth(20) + @ExcelProperty(value = "联系电话") + private String principalMobile; + + @ColumnWidth(40) + @ExcelProperty(value = "经营地址") + private String address; + + @ColumnWidth(60) + @ExcelProperty(value = "备注") + private String remark; + + @ColumnWidth(60) + @ExcelProperty("错误信息") + private String errorInfo; + } + +} 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 2d9bb999e8..812792b964 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 @@ -3,6 +3,7 @@ package com.epmet.model; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.redis.common.bean.GridInfoCache; @@ -237,6 +238,11 @@ public class ImportHouseInfoListener extends AnalysisEventListener { + GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(n.getGridId()); + n.setOrgIdPath(gridInfo.getPids().concat(":").concat(gridInfo.getId())); + n.setFullName(icHouseService.getFullName(n.getNeighborHoodId(), n.getBuildingId(), n.getBuildingUnitId(), n.getDoorName())); + }); // 根据单元ID_doorName查询已存在的 List ids = needInsertList.stream().filter(n -> StringUtils.isNotBlank(n.getBuildingUnitId())).map(m -> m.getBuildingUnitId() + "_" + m.getDoorName()).distinct().collect(Collectors.toList()); List existHouses = icBuildingDao.selectExistHouse(ids); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CoverageService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CoverageService.java new file mode 100644 index 0000000000..a3e18d8d6c --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CoverageService.java @@ -0,0 +1,20 @@ +package com.epmet.service; + +import com.epmet.dto.result.CoverageCategoryResultDTO; +import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; + +import java.util.List; + +public interface CoverageService { + + /** + * 根据图层列表,查询图层下的类别列表 + * @param coverageList 图层列表 + * @return 类别列表 + */ + List categoryList(List coverageTypeList); + + List dictMap(String customerId, String placeType); + + void dictInit(String customerId); +} 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 04c0fc819c..a5c940b0c1 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 @@ -173,4 +173,6 @@ public interface HouseService { * @return com.epmet.commons.tools.utils.Result */ Result getHomeInfoByHouseCode(HouseInfoFormDTO dto); + + void orgIdPathInit(); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcCityManagementService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcCityManagementService.java new file mode 100644 index 0000000000..f14db83adb --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcCityManagementService.java @@ -0,0 +1,73 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcCityManagementDTO; +import com.epmet.dto.form.IcCityManagementAddEditFormDTO; +import com.epmet.dto.form.IcCityManagementListFormDTO; +import com.epmet.dto.result.IcCityManagementListResultDTO; +import com.epmet.entity.IcCityManagementEntity; + +import java.nio.file.Path; + +/** + * 城市管理图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +public interface IcCityManagementService extends BaseService { + + /** + * 默认查询 + * + * @param formDTO + * @return java.util.List + * @author generator + * @date 2022-06-16 + */ + PageData list(IcCityManagementListFormDTO formDTO); + + /** + * 单条查询 + * + * @param id + * @return IcCityManagementDTO + * @author generator + * @date 2022-06-16 + */ + IcCityManagementDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-06-16 + */ + void save(IcCityManagementAddEditFormDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-06-16 + */ + void update(IcCityManagementAddEditFormDTO dto); + + /** + * 批量删除 + * + * @return void + * @author generator + * @date 2022-06-16 + */ + void delete(IcCityManagementAddEditFormDTO formDTO); + + IcCityManagementListResultDTO detail(IcCityManagementListFormDTO formDTO); + + void importExcel(Path fileSavePath, String taskId); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcDangerousChemicalsService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcDangerousChemicalsService.java new file mode 100644 index 0000000000..2f91dc22dd --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcDangerousChemicalsService.java @@ -0,0 +1,82 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.IcDangerousChemicalsDTO; +import com.epmet.dto.form.IcDangerousChemicalsAddEditFormDTO; +import com.epmet.dto.form.IcDangerousChemicalsListFormDTO; +import com.epmet.dto.result.IcDangerousChemicalsListResultDTO; +import com.epmet.entity.IcDangerousChemicalsEntity; + +import java.nio.file.Path; + +/** + * 重点危化品企业 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +public interface IcDangerousChemicalsService extends BaseService { + + /** + * 默认查询 + * + * @param formDTO + * @return java.util.List + * @author generator + * @date 2022-06-16 + */ + PageData list(IcDangerousChemicalsListFormDTO formDTO); + + /** + * 单条查询 + * + * @param id + * @return IcDangerousChemicalsDTO + * @author generator + * @date 2022-06-16 + */ + IcDangerousChemicalsDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-06-16 + */ + void save(IcDangerousChemicalsAddEditFormDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-06-16 + */ + void update(IcDangerousChemicalsAddEditFormDTO dto); + + /** + * 批量删除 + * + * @return void + * @author generator + * @date 2022-06-16 + */ + void delete(IcDangerousChemicalsAddEditFormDTO formDTO); + + IcDangerousChemicalsListResultDTO detail(IcDangerousChemicalsListFormDTO formDTO); + + /** + * Desc: 重点危化品企业导入 + * @param filePath + * @param importTaskId + * @author zxc + * @date 2022/6/20 10:26 + */ + void dangerousChemicalsImport(Path filePath, String importTaskId, TokenDto tokenDto); + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java new file mode 100644 index 0000000000..82057fb0cd --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java @@ -0,0 +1,71 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.form.EnterpriseFormDTO; +import com.epmet.dto.form.EnterprisePageFormDTO; +import com.epmet.dto.form.EnterprisePatrolFormDTO; +import com.epmet.dto.result.EnterpriseDetailDTO; +import com.epmet.dto.result.EnterprisePatrolResultDTO; +import com.epmet.entity.IcEnterpriseEntity; + +import java.nio.file.Path; + +/** + * 企事业单位表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-17 + */ +public interface IcEnterpriseService extends BaseService { + /** + * 企事业单位巡查】新增/编辑 + * @param formDTO + * @return 返回企事业单位id + */ + String addOrUpdate(EnterpriseFormDTO formDTO); + + /** + * 【企事业单位巡查】新增/修改巡查记录 + * @param formDTO + * @return + */ + String addOrUpdatePatrol(EnterprisePatrolFormDTO formDTO); + + /** + * 删除巡查记录 + * @param patrolId + */ + void delPatrol(String patrolId,String currentUserId); + + /** + * 巡查记录列表 + * @param enterpriseId + * @return + */ + PageData patrolList(String enterpriseId); + + /** + * 企事业单位详情 + * @param customerId + * @param enterpriseId + * @return + */ + EnterpriseDetailDTO queryEnterpriseDetail(String customerId, String enterpriseId); + + /** + * 企事业单位-删除 + * @param enterpriseId + * @return + */ + void delete(String enterpriseId,String customerId,String userId); + + /** + * 企事业单位列表 + * @param formDTO + * @return + */ + PageData list(EnterprisePageFormDTO formDTO); + + void execAsyncExcelImport(Path fileSavePath, String taskId, String customerId, String userId); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java index 7ed2819ea7..9aa68a4047 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java @@ -2,7 +2,6 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.dto.result.OptionResultDTO; -import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.IcHouseDTO; import com.epmet.dto.ImportGeneralDTO; @@ -23,26 +22,6 @@ import java.util.Map; */ public interface IcHouseService extends BaseService { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2021-10-25 - */ - PageData page(Map params); - - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2021-10-25 - */ - List list(Map params); - /** * 单条查询 * @@ -53,16 +32,6 @@ public interface IcHouseService extends BaseService { */ IcHouseDTO get(String id); - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2021-10-25 - */ - void save(IcHouseDTO dto); - /** * 默认更新 * @@ -73,16 +42,6 @@ public interface IcHouseService extends BaseService { */ void update(IcHouseDTO dto); - /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2021-10-25 - */ - void delete(String[] ids); - /** * @Description 获取楼栋房屋列表 * @Param formDTO @@ -147,4 +106,17 @@ public interface IcHouseService extends BaseService { * @date 2022/6/1/0001 16:21 */ IcHouseDTO getByHouseCode(String houseCode); + + /** + * 房屋全名:小区、楼栋、单元、房间号 + * @return + */ + String getFullName(String neighborHoodId, String buildingId, String unitId, String doorName); + + /** + * desc:更新房屋的屋内居民数 + * @param paramList houseId:'123',resiNumber:20 + * @return + */ + Integer updateIcHouseResiNumber(List> paramList); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPublicServiceService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPublicServiceService.java new file mode 100644 index 0000000000..889917b05e --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPublicServiceService.java @@ -0,0 +1,73 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcPublicServiceDTO; +import com.epmet.dto.form.IcPublicServiceAddEditFormDTO; +import com.epmet.dto.form.IcPublicServiceListFormDTO; +import com.epmet.dto.result.IcPublicServiceListResultDTO; +import com.epmet.entity.IcPublicServiceEntity; + +import java.nio.file.Path; + +/** + * 公共服务图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +public interface IcPublicServiceService extends BaseService { + + /** + * 默认查询 + * + * @param formDTO + * @return java.util.List + * @author generator + * @date 2022-06-16 + */ + PageData list(IcPublicServiceListFormDTO formDTO); + + /** + * 单条查询 + * + * @param id + * @return IcPublicServiceDTO + * @author generator + * @date 2022-06-16 + */ + IcPublicServiceDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-06-16 + */ + void save(IcPublicServiceAddEditFormDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-06-16 + */ + void update(IcPublicServiceAddEditFormDTO dto); + + /** + * 批量删除 + * + * @return void + * @author generator + * @date 2022-06-16 + */ + void delete(IcPublicServiceAddEditFormDTO dto); + + IcPublicServiceListResultDTO detail(IcPublicServiceListFormDTO formDTO); + + void importExcel(Path fileSavePath, String taskId); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcSuperiorResourceService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcSuperiorResourceService.java new file mode 100644 index 0000000000..ea560b7f53 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcSuperiorResourceService.java @@ -0,0 +1,73 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcSuperiorResourceDTO; +import com.epmet.dto.form.IcSuperiorResourceAddEditFormDTO; +import com.epmet.dto.form.IcSuperiorResourceListFormDTO; +import com.epmet.dto.result.IcSuperiorResourceListResultDTO; +import com.epmet.entity.IcSuperiorResourceEntity; + +import java.nio.file.Path; + +/** + * 优势资源管理 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +public interface IcSuperiorResourceService extends BaseService { + + /** + * 默认查询 + * + * @param formDTO + * @return java.util.List + * @author generator + * @date 2022-06-16 + */ + PageData list(IcSuperiorResourceListFormDTO formDTO); + + /** + * 单条查询 + * + * @param id + * @return IcSuperiorResourceDTO + * @author generator + * @date 2022-06-16 + */ + IcSuperiorResourceDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-06-16 + */ + void save(IcSuperiorResourceAddEditFormDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-06-16 + */ + void update(IcSuperiorResourceAddEditFormDTO dto); + + /** + * 批量删除 + * + * @return void + * @author generator + * @date 2022-06-16 + */ + void delete(IcSuperiorResourceAddEditFormDTO formDTO); + + IcSuperiorResourceListResultDTO detail(IcSuperiorResourceListFormDTO formDTO); + + void importExcel(Path fileSavePath, String taskId); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CoverageServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CoverageServiceImpl.java new file mode 100644 index 0000000000..632d9537fb --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CoverageServiceImpl.java @@ -0,0 +1,81 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.dao.IcCoverageCategoryDictDao; +import com.epmet.dto.result.CoverageCategoryResultDTO; +import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; +import com.epmet.entity.IcCoverageCategoryDictEntity; +import com.epmet.service.CoverageService; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +@Service +public class CoverageServiceImpl implements CoverageService { + + @Autowired + private IcCoverageCategoryDictDao coverageCategoryDictDao; + + /** + * 根据图层列表,查询图层下的类别列表 + * @param coverageTypeList 图层列表 + * @return 类别列表 + */ + @Override + public List categoryList(List coverageTypeList) { + String customerId = EpmetRequestHolder.getLoginUserCustomerId(); + List categoryList = categoryList(coverageTypeList, customerId); + if (CollectionUtils.isNotEmpty(categoryList)) { + return categoryList; + } + return categoryList(coverageTypeList, "default"); + + } + + private List categoryList(List coverageTypeList, String customerId) { + Stream stream = coverageTypeList.stream().map(categoryType -> { + + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcCoverageCategoryDictEntity::getCoverageType, categoryType); + query.eq(IcCoverageCategoryDictEntity::getCustomerId, customerId); + query.orderByAsc(IcCoverageCategoryDictEntity::getSort); + List categoriesEntity = coverageCategoryDictDao.selectList(query); + + return categoriesEntity.stream().map(e -> { + CoverageCategoryResultDTO dto = new CoverageCategoryResultDTO(); + dto.setCategoryKey(e.getCategoryKey()); + dto.setCategoryName(e.getCategoryName()); + return dto; + }).collect(Collectors.toList()); + + }).flatMap(new Function, Stream>() { + @Override + public Stream apply(List coverageCategoryResultDTOS) { + return coverageCategoryResultDTOS.stream(); + } + }); + + return stream.collect(Collectors.toList()); + } + + @Override + public List dictMap(String customerId, String placeType) { + List resultList = coverageCategoryDictDao.dictMap(customerId, placeType); + return resultList; + } + + @Override + public void dictInit(String customerId) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcCoverageCategoryDictEntity::getCustomerId, customerId); + coverageCategoryDictDao.delete(query); + coverageCategoryDictDao.dictInit(customerId); + + } +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index 5e7aa468ff..431200b560 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -922,6 +922,7 @@ public class CustomerGridServiceImpl extends BaseServiceImpl query = new LambdaQueryWrapper<>(); + //query.eq(IcHouseEntity::getId, "1508686441788137474"); + query.isNull(IcHouseEntity::getOrgIdPath); + query.last(" limit 1000 "); + + while (true) { + List houses2Dispose = icHouseDao.selectList(query); + + if (org.apache.commons.collections4.CollectionUtils.isEmpty(houses2Dispose)) { + break; + } + + houses2Dispose.stream().forEach(h -> { + IcNeighborHoodDTO neighborhood = neighborHoodService.get(h.getNeighborHoodId()); + if (neighborhood == null) { + log.warn("为house初始化orgIdPath失败,指定ID的小区未找到。小区id:{}, 房屋id:{}", h.getNeighborHoodId(), h.getId()); + return; + } + ArrayList pidList = new ArrayList<>(); + try { + recureAppendParentAgencyId(neighborhood.getAgencyId(), pidList); + } catch (Exception e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.warn(errorMsg); + return; + } + String orgIdPath = String.join(":", pidList); + + // 更新 + IcHouseEntity house = new IcHouseEntity(); + house.setId(h.getId()); + house.setOrgIdPath(orgIdPath); + + icHouseDao.updateById(house); + }); + } + } + /** + * 递归拼接orgIdPath + * @param agencyId + * @param result + */ + private void recureAppendParentAgencyId(String agencyId, List result) { + result.add(0, agencyId); + CustomerAgencyEntity agency = customerAgencyDao.selectById(agencyId); + if (agency == null) { + throw new EpmetException(String.format("为house初始化orgIdPath失败,agency为号到。agencyId:%s", agencyId)); + } + String pid = agency.getPid(); + if (StringUtils.isBlank(pid) || "0".equals(pid)) { + return; + } + recureAppendParentAgencyId(pid, result); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcCityManagementServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcCityManagementServiceImpl.java new file mode 100644 index 0000000000..526ef118cc --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcCityManagementServiceImpl.java @@ -0,0 +1,297 @@ +package com.epmet.service.impl; + +import com.alibaba.excel.EasyExcel; +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.AppClientConstant; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.commons.tools.utils.FileUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dao.IcCityManagementDao; +import com.epmet.dto.IcCityManagementDTO; +import com.epmet.dto.form.IcCityManagementAddEditFormDTO; +import com.epmet.dto.form.IcCityManagementListFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.result.IcCityManagementListResultDTO; +import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; +import com.epmet.dto.result.UploadImgResultDTO; +import com.epmet.entity.IcCityManagementEntity; +import com.epmet.excel.IcCityManagementExcel; +import com.epmet.excel.handler.IcCityManagementExcelImportListener; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.OssFeignClient; +import com.epmet.service.CoverageService; +import com.epmet.service.IcCityManagementService; +import com.epmet.utils.ImportTaskUtils; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.entity.ContentType; +import org.apache.poi.util.IOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.stream.Collectors; + +/** + * 城市管理图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Service +@Slf4j +public class IcCityManagementServiceImpl extends BaseServiceImpl implements IcCityManagementService { + + @Autowired + private CoverageService coverageService; + @Autowired + private OssFeignClient ossFeignClient; + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + @Autowired + private IcCityManagementDao icCityManagementDao; + + + @Override + public PageData list(IcCityManagementListFormDTO formDTO) { + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); + if (null == staffInfo) { + throw new EpmetException("获取工作人员信息失败"); + } + //查询当前组织及下级数据 + formDTO.setAgencyId(staffInfo.getAgencyId()); + //列表/导出查询 + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()); + List list = baseDao.selectCityManagementList(formDTO); + PageInfo pageInfo = new PageInfo<>(list); + + //封装类别数据 + if (!CollectionUtils.isEmpty(list)) { + List dictList = coverageService.dictMap(formDTO.getCustomerId(), "city_management"); + Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getValue, IcCoverageCategoryDictListResultDTO::getLabel)); + for (IcCityManagementListResultDTO v : list) { + if (StringUtils.isNotBlank(v.getCategory())) { + v.setCategoryName(dictMap.get(v.getCategory())); + } + } + } + + return new PageData<>(list, pageInfo.getTotal()); + } + + 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 IcCityManagementDTO get(String id) { + IcCityManagementEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcCityManagementDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcCityManagementAddEditFormDTO formDTO) { + //1.获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + //2.校验同组织下服务组织名称不能重复 + LambdaQueryWrapper tWrapper = new LambdaQueryWrapper<>(); + tWrapper.eq(IcCityManagementEntity::getAgencyId, staffInfo.getAgencyId()); + tWrapper.eq(IcCityManagementEntity::getName, formDTO.getName()); + List entityList = baseDao.selectList(tWrapper); + if (!CollectionUtils.isEmpty(entityList)) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前组织下已存在相同名称的场所"); + } + //3.新增服务组织数据 + IcCityManagementEntity entity = ConvertUtils.sourceToTarget(formDTO, IcCityManagementEntity.class); + entity.setSourceType("add"); + entity.setAgencyId(staffInfo.getAgencyId()); + entity.setAgencyIdPath(StringUtils.isEmpty(staffInfo.getAgencyPIds()) ? staffInfo.getAgencyId() : staffInfo.getAgencyPIds() + ":" + staffInfo.getAgencyId()); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcCityManagementAddEditFormDTO formDTO) { + //1.获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + //2.校验同组织下服务组织名称不能重复 + LambdaQueryWrapper tWrapper = new LambdaQueryWrapper<>(); + tWrapper.eq(IcCityManagementEntity::getAgencyId, staffInfo.getAgencyId()); + tWrapper.ne(IcCityManagementEntity::getId, formDTO.getIcCityManagementId()); + tWrapper.eq(IcCityManagementEntity::getName, formDTO.getName()); + List entityList = baseDao.selectList(tWrapper); + if (!CollectionUtils.isEmpty(entityList)) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前组织下已存在相同名称的服务组织"); + } + //3.更新服务组织数据 + IcCityManagementEntity entity = ConvertUtils.sourceToTarget(formDTO, IcCityManagementEntity.class); + entity.setId(formDTO.getIcCityManagementId()); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(IcCityManagementAddEditFormDTO formDTO) { + IcCityManagementEntity entity = new IcCityManagementEntity(); + entity.setId(formDTO.getIcCityManagementId()); + entity.setUpdatedBy(formDTO.getUserId()); + baseDao.del(entity); + } + + @Override + public IcCityManagementListResultDTO detail(IcCityManagementListFormDTO formDTO) { + IcCityManagementListResultDTO resultDTO = new IcCityManagementListResultDTO(); + //1.查询服务组织信息 + List list = baseDao.selectCityManagementList(formDTO); + + //封装类别数据 + if (!CollectionUtils.isEmpty(list)) { + resultDTO = list.get(NumConstant.ZERO); + List dictList = coverageService.dictMap(formDTO.getCustomerId(), "city_management"); + Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getValue, IcCoverageCategoryDictListResultDTO::getLabel)); + if (StringUtils.isNotBlank(resultDTO.getCategory())) { + resultDTO.setCategoryName(dictMap.get(resultDTO.getCategory())); + } + } + + return resultDTO; + } + + @Async + @Override + public void importExcel(Path filePath, String importTaskId) { + String userId = null; + try { + userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + String customerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID); + + //1.获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", userId)); + } + String agencyId = staffInfo.getAgencyId(); + String agencyIdPath = StringUtils.isNotBlank(staffInfo.getAgencyPIds()) ? staffInfo.getAgencyPIds() + ":" + staffInfo.getAgencyId() : staffInfo.getAgencyId(); + + IcCityManagementExcelImportListener listener = new IcCityManagementExcelImportListener(userId, customerId, agencyId, agencyIdPath, this, coverageService, icCityManagementDao); + + EasyExcel.read(filePath.toFile(), IcCityManagementExcel.class, listener).headRowNumber(1).sheet(0).doRead(); + + String errorDesFileUrl = null; + + List errorRows = listener.getErrorRows(); + List otherRows = listener.getOtherRows(); + + boolean failed = errorRows.size() > 0; + + // 合并到一起写入 + errorRows.addAll(otherRows); + + // 生成并上传描述文件 + OutputStream os = null; + FileItem fileItem = null; + if (errorRows.size() > 0) { + try { + // 文件生成 + Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_ity_management", "import", "error_des"); + String fileName = UUID.randomUUID().toString().concat(".xlsx"); + + fileItem = new DiskFileItemFactory(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD, errorDescDir.toFile()) + .createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), false, fileName); + os = fileItem.getOutputStream(); + + EasyExcel.write(os, IcCityManagementExcel.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows); + // 文件上传oss + Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); + if (errorDesFileUploadResult.success()) { + errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); + } + + } finally { + IOUtils.closeQuietly(os); + if (!fileItem.isInMemory()) { + try { + fileItem.delete(); + } catch (Exception e) { + log.error("【城市管理导入】删除错误描述临时文件失败:{}", ExceptionUtils.getErrorStackTrace(e)); + } + } + } + } + + Result result = ImportTaskUtils.finishImportTask( + importTaskId, + failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS, + errorDesFileUrl, + ""); + + if (!result.success()) { + log.error("【城市管理导入】finishImportTask失败"); + } + } catch (Exception e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【城市管理导入】出错:{}", errorMsg); + + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setOperatorId(userId); + importFinishTaskForm.setResultDesc("导入失败"); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【城市管理导入】导入记录状态修改为'完成'失败"); + } + } finally { + // 删除临时文件 + if (Files.exists(filePath)) { + try { + Files.delete(filePath); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + } + + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcDangerousChemicalsServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcDangerousChemicalsServiceImpl.java new file mode 100644 index 0000000000..0d58aaaf7c --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcDangerousChemicalsServiceImpl.java @@ -0,0 +1,308 @@ +package com.epmet.service.impl; + +import com.alibaba.excel.EasyExcel; +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.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.enums.DictTypeEnum; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.FileUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dao.IcDangerousChemicalsDao; +import com.epmet.dto.IcDangerousChemicalsDTO; +import com.epmet.dto.form.IcDangerousChemicalsAddEditFormDTO; +import com.epmet.dto.form.IcDangerousChemicalsListFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.result.IcCityManagementListResultDTO; +import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; +import com.epmet.dto.result.IcDangerousChemicalsListResultDTO; +import com.epmet.dto.result.UploadImgResultDTO; +import com.epmet.entity.IcDangerousChemicalsEntity; +import com.epmet.feign.EpmetAdminOpenFeignClient; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.OssFeignClient; +import com.epmet.model.DangerousChemicalsImportListener; +import com.epmet.model.DangerousChemicalsModel; +import com.epmet.service.CoverageService; +import com.epmet.service.IcDangerousChemicalsService; +import com.epmet.utils.ImportTaskUtils; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.MapUtils; +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.entity.ContentType; +import org.apache.poi.util.IOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.stream.Collectors; + +/** + * 重点危化品企业 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Service +@Slf4j +public class IcDangerousChemicalsServiceImpl extends BaseServiceImpl implements IcDangerousChemicalsService { + + @Autowired + private EpmetAdminOpenFeignClient adminOpenFeignClient; + @Autowired + private CoverageService coverageService; + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + @Autowired + private OssFeignClient ossFeignClient; + @Autowired + private IcDangerousChemicalsDao icDangerousChemicalsDao; + + @Override + public PageData list(IcDangerousChemicalsListFormDTO formDTO) { + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); + if (null == staffInfo) { + throw new EpmetException("获取工作人员信息失败"); + } + //查询当前组织及下级数据 + formDTO.setAgencyId(staffInfo.getAgencyId()); + //列表/导出查询 + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()); + List list = baseDao.selectDangerousChemicalsList(formDTO); + PageInfo pageInfo = new PageInfo<>(list); + + //封装类别数据 + if (!CollectionUtils.isEmpty(list)) { + //危化品种类字典 + Result> statusRes = adminOpenFeignClient.dictMap(DictTypeEnum.IC_DANGER_TYPE.getCode()); + Map statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>(); + //企业类别字典数据 + List dictList = coverageService.dictMap(formDTO.getCustomerId(), "dangerous_chemicals"); + Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getValue, IcCoverageCategoryDictListResultDTO::getLabel)); + for (IcDangerousChemicalsListResultDTO v : list) { + if (StringUtils.isNotBlank(v.getCategory())) { + v.setCategoryName(dictMap.get(v.getCategory())); + } + if (StringUtils.isNotBlank(v.getDangerType())) { + v.setDangerTypeName(statusMap.get(v.getDangerType())); + } + } + } + + return new PageData<>(list, pageInfo.getTotal()); + } + + 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 IcDangerousChemicalsDTO get(String id) { + IcDangerousChemicalsEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcDangerousChemicalsDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcDangerousChemicalsAddEditFormDTO formDTO) { + //1.获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + //2.校验同组织下服务组织名称不能重复 + LambdaQueryWrapper tWrapper = new LambdaQueryWrapper<>(); + tWrapper.eq(IcDangerousChemicalsEntity::getAgencyId, staffInfo.getAgencyId()); + tWrapper.eq(IcDangerousChemicalsEntity::getName, formDTO.getName()); + List entityList = baseDao.selectList(tWrapper); + if (!CollectionUtils.isEmpty(entityList)) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前组织下已存在相同名称的场所"); + } + //3.新增服务组织数据 + IcDangerousChemicalsEntity entity = ConvertUtils.sourceToTarget(formDTO, IcDangerousChemicalsEntity.class); + entity.setSourceType("add"); + entity.setAgencyId(staffInfo.getAgencyId()); + entity.setAgencyIdPath(StringUtils.isEmpty(staffInfo.getAgencyPIds()) ? staffInfo.getAgencyId() : staffInfo.getAgencyPIds() + ":" + staffInfo.getAgencyId()); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcDangerousChemicalsAddEditFormDTO formDTO) { + //1.获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + //2.校验同组织下服务组织名称不能重复 + LambdaQueryWrapper tWrapper = new LambdaQueryWrapper<>(); + tWrapper.eq(IcDangerousChemicalsEntity::getAgencyId, staffInfo.getAgencyId()); + tWrapper.ne(IcDangerousChemicalsEntity::getId, formDTO.getIcDangerousChemicalsId()); + tWrapper.eq(IcDangerousChemicalsEntity::getName, formDTO.getName()); + List entityList = baseDao.selectList(tWrapper); + if (!CollectionUtils.isEmpty(entityList)) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前组织下已存在相同名称的服务组织"); + } + //3.更新服务组织数据 + IcDangerousChemicalsEntity entity = ConvertUtils.sourceToTarget(formDTO, IcDangerousChemicalsEntity.class); + entity.setId(formDTO.getIcDangerousChemicalsId()); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(IcDangerousChemicalsAddEditFormDTO formDTO) { + IcDangerousChemicalsEntity entity = new IcDangerousChemicalsEntity(); + entity.setId(formDTO.getIcDangerousChemicalsId()); + entity.setUpdatedBy(formDTO.getUserId()); + baseDao.del(entity); + } + + @Override + public IcDangerousChemicalsListResultDTO detail(IcDangerousChemicalsListFormDTO formDTO) { + IcDangerousChemicalsListResultDTO resultDTO = new IcDangerousChemicalsListResultDTO(); + //1.查询服务组织信息 + List list = baseDao.selectDangerousChemicalsList(formDTO); + + //封装类别数据 + if (!CollectionUtils.isEmpty(list)) { + resultDTO = list.get(NumConstant.ZERO); + //危化品种类字典 + Result> statusRes = adminOpenFeignClient.dictMap(DictTypeEnum.IC_DANGER_TYPE.getCode()); + Map statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>(); + //企业类别字典数据 + List dictList = coverageService.dictMap(formDTO.getCustomerId(), "city_management"); + Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getValue, IcCoverageCategoryDictListResultDTO::getLabel)); + if (StringUtils.isNotBlank(resultDTO.getCategory())) { + resultDTO.setCategoryName(dictMap.get(resultDTO.getCategory())); + } + if (StringUtils.isNotBlank(resultDTO.getDangerType())) { + resultDTO.setDangerTypeName(statusMap.get(resultDTO.getDangerType())); + } + } + + return resultDTO; + } + + /** + * Desc: 重点危化品企业导入 + * @param filePath + * @param importTaskId + * @author zxc + * @date 2022/6/20 10:26 + */ + @Override + @Async + public void dangerousChemicalsImport(Path filePath, String importTaskId, TokenDto tokenDto) { + try { + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); + if (null == staffInfo){ + throw new EpmetException("查询工作人员信息失败:"+tokenDto.getUserId()); + } + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(staffInfo.getAgencyId()); + if (null == agencyInfo){ + throw new EpmetException("查询所属组织失败:"+staffInfo.getAgencyId()); + } + DangerousChemicalsImportListener listener = new DangerousChemicalsImportListener(agencyInfo,this,coverageService,adminOpenFeignClient,icDangerousChemicalsDao); + EasyExcel.read(filePath.toFile(), DangerousChemicalsModel.class, listener).headRowNumber(1).sheet(0).doRead(); + String errorDesFileUrl = null; + List errorRows = listener.getErrorRows(); + List otherRows = listener.getOtherRows(); + boolean failed = errorRows.size() > 0; + // 合并到一起写入 + errorRows.addAll(otherRows); + // 生成并上传描述文件 + OutputStream os = null; + FileItem fileItem = null; + if (errorRows.size() > 0) { + try { + // 文件生成 + Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_dangerous_chemicals", "import", "error_des"); + String fileName = UUID.randomUUID().toString().concat(".xlsx"); + fileItem = new DiskFileItemFactory(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD, errorDescDir.toFile()) + .createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), false, fileName); + os = fileItem.getOutputStream(); + EasyExcel.write(os, DangerousChemicalsModel.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows); + // 文件上传oss + Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); + if (errorDesFileUploadResult.success()) { + errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); + } + } finally { + IOUtils.closeQuietly(os); + if (!fileItem.isInMemory()) { + try { + fileItem.delete(); + } catch (Exception e){ + log.error("【重点危化品企业导入】删除错误描述临时文件失败:{}", ExceptionUtils.getErrorStackTrace(e)); + } + } + } + } + Result result = ImportTaskUtils.finishImportTask( + importTaskId, + failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS, + errorDesFileUrl, + ""); + if (!result.success()) { + log.error("【重点危化品企业导入】finishImportTask失败"); + } + }catch (Exception e){ + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【重点危化品企业导入】出错:{}", errorMsg); + + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setOperatorId(tokenDto.getUserId()); + importFinishTaskForm.setResultDesc("导入失败"); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【重点危化品企业导入】导入记录状态修改为'完成'失败"); + } + } finally { + // 删除临时文件 + if (Files.exists(filePath)) { + try { + Files.delete(filePath); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java new file mode 100644 index 0000000000..a0feee5fba --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java @@ -0,0 +1,414 @@ +package com.epmet.service.impl; + +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.Constant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.enums.CommonOperateTypeEnum; +import com.epmet.commons.tools.enums.CoveragePlaceTypeEnum; +import com.epmet.commons.tools.enums.DictTypeEnum; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; +import com.epmet.commons.tools.redis.common.bean.GridInfoCache; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.FileUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dao.*; +import com.epmet.dto.SysDictDataDTO; +import com.epmet.dto.form.EnterpriseFormDTO; +import com.epmet.dto.form.EnterprisePageFormDTO; +import com.epmet.dto.form.EnterprisePatrolFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.result.*; +import com.epmet.entity.IcEnterpriseEntity; +import com.epmet.entity.IcEnterprisePatrolAttachmentEntity; +import com.epmet.entity.IcEnterprisePatrolRecordEntity; +import com.epmet.excel.EnterpriseImportExcelDTO; +import com.epmet.excel.handler.IcEnterpriseExcelImportListener; +import com.epmet.feign.EpmetAdminOpenFeignClient; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.OssFeignClient; +import com.epmet.service.CoverageService; +import com.epmet.service.IcEnterpriseService; +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.collections4.MapUtils; +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.FileItemFactory; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.entity.ContentType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.stream.Collectors; + +/** + * 企事业单位表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-17 + */ +@Slf4j +@Service +public class IcEnterpriseServiceImpl extends BaseServiceImpl implements IcEnterpriseService { + @Autowired + private IcEnterprisePatrolAttachmentDao enterprisePatrolAttachmentDao; + @Autowired + private IcEnterprisePatrolRecordDao enterprisePatrolRecordDao; + @Autowired + private EpmetAdminOpenFeignClient adminOpenFeignClient; + @Autowired + private IcCoverageCategoryDictDao coverageCategoryDictDao; + @Autowired + private OssFeignClient ossFeignClient; + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + @Autowired + private CoverageService coverageService; + @Autowired + private CustomerGridDao customerGridDao; + + /** + * 企事业单位巡查】新增/编辑 + * + * @param formDTO + * @return 返回企事业单位id + */ + @Transactional(rollbackFor = Exception.class) + @Override + public String addOrUpdate(EnterpriseFormDTO formDTO) { + //同一网格内,名称唯一 + if (CollectionUtils.isNotEmpty(selectForUniqueName(formDTO.getGridId(), formDTO.getPlaceOrgName(), formDTO.getEnterpriseId()))) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "同一网格内存在相同名称的场所", "场所已存在"); + } + AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId()); + if (null == agencyInfoCache) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"组织信息查询异常","组织信息查询异常"); + } + IcEnterpriseEntity enterpriseEntity = ConvertUtils.sourceToTarget(formDTO, IcEnterpriseEntity.class); + enterpriseEntity.setAgencyPids(agencyInfoCache.getPids()); + if(StringUtils.isBlank(formDTO.getEnterpriseId())){ + enterpriseEntity.setLatestResult(StrConstant.EPMETY_STR); + enterpriseEntity.setSourceType(CommonOperateTypeEnum.ADD.getCode()); + baseDao.insert(enterpriseEntity); + }else{ + //如果是编辑判断下权限 + IcEnterpriseEntity origin=baseDao.selectById(formDTO.getEnterpriseId()); + CustomerStaffInfoCacheResult staffInfo=CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(),formDTO.getCurrentStaffId()); + if (!staffInfo.getAgencyId().equals(origin.getAgencyId())) { + AgencyInfoCache orginAgencyInfo = CustomerOrgRedis.getAgencyInfo(origin.getAgencyId()); + String agencyName = null != orginAgencyInfo ? orginAgencyInfo.getOrganizationName() : StrConstant.EPMETY_STR; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "", String.format("修改失败,当前场所属于%s", agencyName)); + } + enterpriseEntity.setId(formDTO.getEnterpriseId()); + //获取一下最新的巡检时间和巡检结果 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(IcEnterprisePatrolRecordEntity::getEnterpriseId, enterpriseEntity.getId()).orderByDesc(IcEnterprisePatrolRecordEntity::getCreatedTime).last("limit 1"); + IcEnterprisePatrolRecordEntity latestPatrol = enterprisePatrolRecordDao.selectOne(queryWrapper); + if (null != latestPatrol) { + enterpriseEntity.setLatestResult(latestPatrol.getResult()); + enterpriseEntity.setLatestPatrolTime(latestPatrol.getPatrolTime()); + } + baseDao.updateById(enterpriseEntity); + } + return enterpriseEntity.getId(); + } + + /** + * 【企事业单位巡查】新增/修改巡查记录 + * + * @param formDTO + * @return + */ + @Transactional(rollbackFor = Exception.class) + @Override + public String addOrUpdatePatrol(EnterprisePatrolFormDTO formDTO) { + IcEnterprisePatrolRecordEntity patrolRecordEntity=ConvertUtils.sourceToTarget(formDTO,IcEnterprisePatrolRecordEntity.class); + if(StringUtils.isBlank(formDTO.getPatrolId())){ + enterprisePatrolRecordDao.insert(patrolRecordEntity); + }else{ + patrolRecordEntity.setId(formDTO.getPatrolId()); + enterprisePatrolRecordDao.updateById(patrolRecordEntity); + //删除之前的图片 + enterprisePatrolAttachmentDao.deleteByPatrolId(formDTO.getPatrolId(),formDTO.getUserId()); + } + int sort = 1; + for (String imgUrl : formDTO.getImgList()) { + IcEnterprisePatrolAttachmentEntity att = new IcEnterprisePatrolAttachmentEntity(); + att.setCustomerId(formDTO.getCustomerId()); + att.setPatrolId(patrolRecordEntity.getId()); + att.setAttachmentType("image"); + att.setAttachmentUrl(imgUrl); + att.setSort(sort); + att.setStatus("auto_passed"); + enterprisePatrolAttachmentDao.insert(att); + sort++; + } + // 更新主表的最新结果和最新检查时间 + baseDao.updateLatestPatrol(formDTO.getEnterpriseId(),patrolRecordEntity.getPatrolTime(),patrolRecordEntity.getResult(),formDTO.getUserId()); + return patrolRecordEntity.getId(); + } + + /** + * 删除巡查记录 + * + * @param patrolId + */ + @Transactional(rollbackFor = Exception.class) + @Override + public void delPatrol(String patrolId,String currentUserId) { + IcEnterprisePatrolRecordEntity origin=enterprisePatrolRecordDao.selectById(patrolId); + if(null==origin){ + return; + } + //1、删除巡查记录 + enterprisePatrolRecordDao.deleteById(patrolId); + //2、删除之前的图片 + enterprisePatrolAttachmentDao.deleteByPatrolId(patrolId,currentUserId); + //3、如果是记录清空,那主表的最近一次巡查时间和最新结果也置空 + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); + queryWrapper.eq(IcEnterprisePatrolRecordEntity::getEnterpriseId,origin.getEnterpriseId()); + if (NumConstant.ZERO == enterprisePatrolRecordDao.selectCount(queryWrapper)) { + baseDao.updateLatestPatrol(origin.getEnterpriseId(),null,StrConstant.EPMETY_STR,currentUserId); + } + } + + /** + * 巡查记录列表 + * 暂时不分页 + * @param enterpriseId + * @return + */ + @Override + public PageData patrolList(String enterpriseId) { + List list = enterprisePatrolRecordDao.patrolList(enterpriseId); + int total = CollectionUtils.isNotEmpty(list) ? list.size() : NumConstant.ZERO; + return new PageData<>(list, total); + } + + /** + * 企事业单位详情 + * + * @param customerId + * @param enterpriseId + * @return + */ + @Override + public EnterpriseDetailDTO queryEnterpriseDetail(String customerId, String enterpriseId) { + IcEnterpriseEntity enterpriseEntity = baseDao.selectById(enterpriseId); + if (null == enterpriseEntity) { + return null; + } + EnterpriseDetailDTO resultDto = ConvertUtils.sourceToTarget(enterpriseEntity, EnterpriseDetailDTO.class); + resultDto.setEnterpriseId(enterpriseId); + GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(resultDto.getGridId()); + if (null != gridInfoCache) { + resultDto.setGridName(gridInfoCache.getGridName()); + resultDto.setAgencyName(gridInfoCache.getAgencyName()); + } + String placeTypeName = coverageCategoryDictDao.selectCategoryName(customerId, CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode(), resultDto.getPlaceType()); + if(StringUtils.isNotBlank(placeTypeName)){ + resultDto.setPlaceTypeName(placeTypeName); + }else{ + resultDto.setPlaceTypeName(coverageCategoryDictDao.selectCategoryName(Constant.DEFAULT_CUSTOMER, CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode(), resultDto.getPlaceType())); + } + //规模名称 + Result> dictMapRes = adminOpenFeignClient.dictMap(DictTypeEnum.SCALE.getCode()); + Map dictMap = dictMapRes.success() && MapUtils.isNotEmpty(dictMapRes.getData()) ? dictMapRes.getData() : new HashMap<>(); + resultDto.setScaleName(dictMap.containsKey(resultDto.getScale()) ? dictMap.get(resultDto.getScale()) : StrConstant.EPMETY_STR); + if (StringUtils.isNotBlank(enterpriseEntity.getLatestResult()) && "0".equals(enterpriseEntity.getLatestResult())) { + resultDto.setLatestResultName("合格"); + } else if (StringUtils.isNotBlank(enterpriseEntity.getLatestResult()) && "1".equals(enterpriseEntity.getLatestResult())) { + resultDto.setLatestResultName("不合格"); + } + return resultDto; + } + + /** + * 企事业单位-删除 + * + * @param enterpriseId + * @return + */ + @Transactional(rollbackFor = Exception.class) + @Override + public void delete(String enterpriseId, String customerId, String userId) { + //如果是编辑判断下权限要删除的记录的agencyId要与当前登录用户的agencyId一致 + IcEnterpriseEntity origin = baseDao.selectById(enterpriseId); + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); + if (!staffInfo.getAgencyId().equals(origin.getAgencyId())) { + AgencyInfoCache orginAgencyInfo = CustomerOrgRedis.getAgencyInfo(origin.getAgencyId()); + String agencyName = null != orginAgencyInfo ? orginAgencyInfo.getOrganizationName() : StrConstant.EPMETY_STR; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "", String.format("删除失败,当前场所属于%s", agencyName)); + } + baseDao.deleteById(enterpriseId); + } + + /** + * 企事业单位列表 + * + * @param formDTO + * @return + */ + @Override + public PageData list(EnterprisePageFormDTO formDTO) { + //查询当前登录用的所属组织 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getCurrentStaffId()); + if (null == staffInfo || StringUtils.isBlank(staffInfo.getAgencyId())) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询工作人员信息异常", "查询工作人员信息异常"); + } + //本组织及下级 + formDTO.setStaffAgencyId(staffInfo.getAgencyId()); + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getPageFlag()); + List list = baseDao.selectList(formDTO); + PageInfo pageInfo = new PageInfo<>(list); + if (!org.springframework.util.CollectionUtils.isEmpty(list)) { + //规模名称 + Result> dictMapRes = adminOpenFeignClient.dictMap(DictTypeEnum.SCALE.getCode()); + Map dictMap = dictMapRes.success() && MapUtils.isNotEmpty(dictMapRes.getData()) ? dictMapRes.getData() : new HashMap<>(); + for (EnterpriseDetailDTO detailDTO : list) { + GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(detailDTO.getGridId()); + if (null != gridInfoCache) { + detailDTO.setGridName(gridInfoCache.getGridName()); + detailDTO.setAgencyName(gridInfoCache.getAgencyName()); + } + String placeTypeName = coverageCategoryDictDao.selectCategoryName(formDTO.getCustomerId(), CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode(), detailDTO.getPlaceType()); + if(StringUtils.isNotBlank(placeTypeName)){ + detailDTO.setPlaceTypeName(placeTypeName); + }else{ + detailDTO.setPlaceTypeName(coverageCategoryDictDao.selectCategoryName(Constant.DEFAULT_CUSTOMER, CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode(), detailDTO.getPlaceType())); + } + detailDTO.setScaleName(dictMap.containsKey(detailDTO.getScale()) ? dictMap.get(detailDTO.getScale()) : StrConstant.EPMETY_STR); + } + } + return new PageData<>(list, pageInfo.getTotal()); + } + + @Async + @Override + public void execAsyncExcelImport(Path filePath, String importTaskId,String customerId,String userId) { + try { + //获取当前登录用户所属组织id + CustomerStaffInfoCacheResult staffInfo= queryCurrentStaff(customerId,userId); + + //1、查询 ic_coverage_category_dict 注意key:场所的名称 value:编码 + List dictList = coverageService.dictMap(customerId, CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode()); + Map placeTypeMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getLabel, IcCoverageCategoryDictListResultDTO::getValue)); + //2、规模名称 + Result> dictMapRes = adminOpenFeignClient.dictDataList(DictTypeEnum.SCALE.getCode()); + Map scaleMap = dictMapRes.success() && CollectionUtils.isNotEmpty(dictMapRes.getData()) ? dictMapRes.getData().stream().collect(Collectors.toMap(SysDictDataDTO::getDictLabel,SysDictDataDTO::getDictValue)) : new HashMap<>(); + //3、当前工作人员所属组织下的网格列表 + List gridList = customerGridDao.selectGridList(staffInfo.getAgencyId()); + if (CollectionUtils.isEmpty(gridList)) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前组织下没有网格", "当前组织下没有直属网格"); + } + Map gridMap=gridList.stream().collect(Collectors.toMap(GridListResultDTO::getGridName,GridListResultDTO::getGridId)); + + + IcEnterpriseExcelImportListener listener = new IcEnterpriseExcelImportListener(customerId,staffInfo, this,placeTypeMap,scaleMap,gridMap); + EasyExcel.read(filePath.toFile(), EnterpriseImportExcelDTO.class, listener).headRowNumber(1).sheet(0).doRead(); + + Path errorDescFile = null; + String errorDesFileUrl = null; + List errorRows = listener.getErrorRows(); + + boolean failed = errorRows.size() > 0; + if (failed) { + // 生成并上传错误文件 + try { + // 文件生成 + Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_enterprise", "import", "error_des"); + String fileName = UUID.randomUUID().toString().concat(".xlsx"); + errorDescFile = errorDescDir.resolve(fileName); + + FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile()); + FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName); + OutputStream os = fileItem.getOutputStream(); + + EasyExcel.write(os, EnterpriseImportExcelDTO.ErrorRow.class).sheet("导入失败列表").doWrite(errorRows); + + // 文件上传oss + Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); + if (errorDesFileUploadResult.success()) { + errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); + } + } finally { + if (Files.exists(errorDescFile)) { + Files.delete(errorDescFile); + } + } + } + + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS); + importFinishTaskForm.setOperatorId(userId); + importFinishTaskForm.setResultDesc(""); + importFinishTaskForm.setResultDescFilePath(errorDesFileUrl); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【企事业单位导入】finishImportTask失败"); + } + } catch (Exception e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【企事业单位导入】出错:{}", errorMsg); + + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setOperatorId(userId); + importFinishTaskForm.setResultDesc("导入失败"); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【企事业单位导入】导入记录状态修改为'完成'失败"); + } + } finally { + // 删除临时文件 + if (Files.exists(filePath)) { + try { + Files.delete(filePath); + } catch (IOException e) { + log.error("method exception", e); + } + } + } + + } + + private CustomerStaffInfoCacheResult queryCurrentStaff(String customerId, String userId) { + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); + if (null == staffInfo) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询工作人员缓存信息异常", EpmetErrorCode.SERVER_ERROR.getMsg()); + } + return staffInfo; + } + + public List selectForUniqueName(String gridId, String placeOrgName, String enterpriseId) { + return baseDao.selectForUniqueName(gridId, placeOrgName, enterpriseId); + } +} \ No newline at end of file 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 6f92962f4a..5e20a7adf8 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 @@ -1,22 +1,21 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.EpmetErrorCode; 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.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.dao.IcBuildingDao; +import com.epmet.dao.IcBuildingUnitDao; import com.epmet.dao.IcHouseDao; +import com.epmet.dao.IcNeighborHoodDao; import com.epmet.dto.IcHouseDTO; import com.epmet.dto.IcResiCategoryStatsConfigDTO; import com.epmet.dto.IcResiUserDTO; @@ -26,11 +25,13 @@ import com.epmet.dto.result.HouseAgencyInfoResultDTO; import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.HouseListResultDTO; import com.epmet.dto.result.HousesNameResultDTO; +import com.epmet.entity.IcBuildingEntity; +import com.epmet.entity.IcBuildingUnitEntity; 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; -import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.redis.IcHouseRedis; @@ -43,6 +44,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -59,36 +61,15 @@ public class IcHouseServiceImpl extends BaseServiceImpl page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, IcHouseDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, IcHouseDTO.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 IcHouseDTO get(String id) { IcHouseEntity entity = baseDao.selectById(id); @@ -114,13 +95,6 @@ public class IcHouseServiceImpl extends BaseServiceImpl u.getNeighborHoodName()).orElse(""); + String buildingName = Optional.ofNullable(building).map(u -> u.getBuildingName()).orElse(""); + String unitName = Optional.ofNullable(unit).map(u -> u.getUnitNum().concat("单元")).orElse(""); + return new StringBuilder().append(neighborhoodName).append(buildingName).append(unitName).append(doorName).toString(); + } + + @Override + public Integer updateIcHouseResiNumber(List> paramList) { + if (CollectionUtils.isEmpty(paramList)) { + log.warn("updateIcHouseResiNumber param is empty"); + return NumConstant.ZERO; + } + AtomicInteger effects = new AtomicInteger(); + paramList.forEach(o -> { + Object houseId = o.get("houseId"); + Object resiNumber = o.get("resiNumber"); + if (houseId == null || resiNumber == null) { + return; + } + int i = baseDao.updateIcHouseResiNumber(houseId.toString(), Integer.valueOf(resiNumber.toString())); + effects.getAndAdd(i); + }); + log.debug("updateIcHouseResiNumber effectRow:{}", effects.intValue()); + return effects.intValue(); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlaceOrgServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlaceOrgServiceImpl.java index 1a0e071404..4e3f22f0d4 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlaceOrgServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlaceOrgServiceImpl.java @@ -19,11 +19,16 @@ package com.epmet.service.impl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.enums.DictTypeEnum; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.IcPlaceOrgDao; @@ -80,10 +85,16 @@ public class IcPlaceOrgServiceImpl extends BaseServiceImpl%s", formDTO.getPlaceOrgId())); } + if (!staffInfo.getAgencyId().equals(entity.getAgencyId())) { + AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(entity.getAgencyId()); + String agencyName = null != agencyInfoCache ? agencyInfoCache.getOrganizationName() : StrConstant.EPMETY_STR; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "", String.format("编辑失败,当前九小场所属于%s", agencyName)); + } entity = ConvertUtils.sourceToTarget(formDTO, IcPlaceOrgEntity.class); entity.setId(formDTO.getPlaceOrgId()); baseDao.updateById(entity); @@ -143,7 +154,7 @@ public class IcPlaceOrgServiceImpl extends BaseServiceImpl result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()).doSelectPageInfo(() -> baseDao.getList(formDTO)); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPublicServiceServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPublicServiceServiceImpl.java new file mode 100644 index 0000000000..27ae3c76bb --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPublicServiceServiceImpl.java @@ -0,0 +1,297 @@ +package com.epmet.service.impl; + +import com.alibaba.excel.EasyExcel; +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.AppClientConstant; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.commons.tools.utils.FileUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dao.IcPublicServiceDao; +import com.epmet.dao.IcSuperiorResourceDao; +import com.epmet.dto.IcPublicServiceDTO; +import com.epmet.dto.form.IcPublicServiceAddEditFormDTO; +import com.epmet.dto.form.IcPublicServiceListFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; +import com.epmet.dto.result.IcPublicServiceListResultDTO; +import com.epmet.dto.result.UploadImgResultDTO; +import com.epmet.entity.IcPublicServiceEntity; +import com.epmet.excel.IcPublicServiceExcel; +import com.epmet.excel.handler.IcPublicServiceExcelImportListener; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.OssFeignClient; +import com.epmet.service.CoverageService; +import com.epmet.service.IcPublicServiceService; +import com.epmet.utils.ImportTaskUtils; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.entity.ContentType; +import org.apache.poi.util.IOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.stream.Collectors; + +/** + * 公共服务图层 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Service +@Slf4j +public class IcPublicServiceServiceImpl extends BaseServiceImpl implements IcPublicServiceService { + + @Autowired + private CoverageService coverageService; + @Autowired + private OssFeignClient ossFeignClient; + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + @Autowired + private IcPublicServiceDao icPublicServiceDao; + + + @Override + public PageData list(IcPublicServiceListFormDTO formDTO) { + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); + if (null == staffInfo) { + throw new EpmetException("获取工作人员信息失败"); + } + //查询当前组织及下级数据 + formDTO.setAgencyId(staffInfo.getAgencyId()); + //列表/导出查询 + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()); + List list = baseDao.selectPublicServiceList(formDTO); + PageInfo pageInfo = new PageInfo<>(list); + + //封装类别数据 + if (!CollectionUtils.isEmpty(list)) { + List dictList = coverageService.dictMap(formDTO.getCustomerId(), "public_service"); + Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getValue, IcCoverageCategoryDictListResultDTO::getLabel)); + for (IcPublicServiceListResultDTO v : list) { + if (StringUtils.isNotBlank(v.getCategory())) { + v.setCategoryName(dictMap.get(v.getCategory())); + } + } + } + + return new PageData<>(list, pageInfo.getTotal()); + } + + 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 IcPublicServiceDTO get(String id) { + IcPublicServiceEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcPublicServiceDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcPublicServiceAddEditFormDTO formDTO) { + //1.获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + //2.校验同组织下服务组织名称不能重复 + LambdaQueryWrapper tWrapper = new LambdaQueryWrapper<>(); + tWrapper.eq(IcPublicServiceEntity::getAgencyId, staffInfo.getAgencyId()); + tWrapper.eq(IcPublicServiceEntity::getName, formDTO.getName()); + List entityList = baseDao.selectList(tWrapper); + if (!CollectionUtils.isEmpty(entityList)) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前组织下已存在相同名称的场所"); + } + //3.新增服务组织数据 + IcPublicServiceEntity entity = ConvertUtils.sourceToTarget(formDTO, IcPublicServiceEntity.class); + entity.setSourceType("add"); + entity.setAgencyId(staffInfo.getAgencyId()); + entity.setAgencyIdPath(StringUtils.isEmpty(staffInfo.getAgencyPIds()) ? staffInfo.getAgencyId() : staffInfo.getAgencyPIds() + ":" + staffInfo.getAgencyId()); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcPublicServiceAddEditFormDTO formDTO) { + //1.获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + //2.校验同组织下服务组织名称不能重复 + LambdaQueryWrapper tWrapper = new LambdaQueryWrapper<>(); + tWrapper.eq(IcPublicServiceEntity::getAgencyId, staffInfo.getAgencyId()); + tWrapper.ne(IcPublicServiceEntity::getId, formDTO.getIcPublicServiceId()); + tWrapper.eq(IcPublicServiceEntity::getName, formDTO.getName()); + List entityList = baseDao.selectList(tWrapper); + if (!CollectionUtils.isEmpty(entityList)) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前组织下已存在相同名称的服务组织"); + } + //3.更新服务组织数据 + IcPublicServiceEntity entity = ConvertUtils.sourceToTarget(formDTO, IcPublicServiceEntity.class); + entity.setId(formDTO.getIcPublicServiceId()); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(IcPublicServiceAddEditFormDTO formDTO) { + IcPublicServiceEntity entity = new IcPublicServiceEntity(); + entity.setId(formDTO.getIcPublicServiceId()); + entity.setUpdatedBy(formDTO.getUserId()); + baseDao.del(entity); + } + + @Override + public IcPublicServiceListResultDTO detail(IcPublicServiceListFormDTO formDTO) { + IcPublicServiceListResultDTO resultDTO = new IcPublicServiceListResultDTO(); + //1.查询服务组织信息 + List list = baseDao.selectPublicServiceList(formDTO); + + //封装类别数据 + if (!CollectionUtils.isEmpty(list)) { + resultDTO = list.get(NumConstant.ZERO); + List dictList = coverageService.dictMap(formDTO.getCustomerId(), "public_service"); + Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getValue, IcCoverageCategoryDictListResultDTO::getLabel)); + if (StringUtils.isNotBlank(resultDTO.getCategory())) { + resultDTO.setCategoryName(dictMap.get(resultDTO.getCategory())); + } + } + + return resultDTO; + } + + @Async + @Override + public void importExcel(Path filePath, String importTaskId) { + String userId = null; + try { + userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + String customerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID); + + //1.获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", userId)); + } + String agencyId = staffInfo.getAgencyId(); + String agencyIdPath = StringUtils.isNotBlank(staffInfo.getAgencyPIds()) ? staffInfo.getAgencyPIds() + ":" + staffInfo.getAgencyId() : staffInfo.getAgencyId(); + + IcPublicServiceExcelImportListener listener = new IcPublicServiceExcelImportListener(userId, customerId, agencyId, agencyIdPath, this, coverageService, icPublicServiceDao); + + EasyExcel.read(filePath.toFile(), IcPublicServiceExcel.class, listener).headRowNumber(1).sheet(0).doRead(); + + String errorDesFileUrl = null; + + List errorRows = listener.getErrorRows(); + List otherRows = listener.getOtherRows(); + + boolean failed = errorRows.size() > 0; + + // 合并到一起写入 + errorRows.addAll(otherRows); + + // 生成并上传描述文件 + OutputStream os = null; + FileItem fileItem = null; + if (errorRows.size() > 0) { + try { + // 文件生成 + Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_superior_resource", "import", "error_des"); + String fileName = UUID.randomUUID().toString().concat(".xlsx"); + + fileItem = new DiskFileItemFactory(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD, errorDescDir.toFile()) + .createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), false, fileName); + os = fileItem.getOutputStream(); + + EasyExcel.write(os, IcPublicServiceExcel.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows); + // 文件上传oss + Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); + if (errorDesFileUploadResult.success()) { + errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); + } + + } finally { + IOUtils.closeQuietly(os); + if (!fileItem.isInMemory()) { + try { + fileItem.delete(); + } catch (Exception e) { + log.error("【公共服务管理导入】删除错误描述临时文件失败:{}", ExceptionUtils.getErrorStackTrace(e)); + } + } + } + } + + Result result = ImportTaskUtils.finishImportTask( + importTaskId, + failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS, + errorDesFileUrl, + ""); + + if (!result.success()) { + log.error("【公共服务管理导入】finishImportTask失败"); + } + } catch (Exception e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【公共服务管理导入】出错:{}", errorMsg); + + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setOperatorId(userId); + importFinishTaskForm.setResultDesc("导入失败"); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【公共服务管理导入】导入记录状态修改为'完成'失败"); + } + } finally { + // 删除临时文件 + if (Files.exists(filePath)) { + try { + Files.delete(filePath); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcSuperiorResourceServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcSuperiorResourceServiceImpl.java new file mode 100644 index 0000000000..9cafac0016 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcSuperiorResourceServiceImpl.java @@ -0,0 +1,297 @@ +package com.epmet.service.impl; + +import com.alibaba.excel.EasyExcel; +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.AppClientConstant; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.commons.tools.utils.FileUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dao.IcSuperiorResourceDao; +import com.epmet.dto.IcSuperiorResourceDTO; +import com.epmet.dto.form.IcSuperiorResourceAddEditFormDTO; +import com.epmet.dto.form.IcSuperiorResourceListFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; +import com.epmet.dto.result.IcSuperiorResourceListResultDTO; +import com.epmet.dto.result.UploadImgResultDTO; +import com.epmet.entity.IcSuperiorResourceEntity; +import com.epmet.excel.IcSuperiorResourceExcel; +import com.epmet.excel.handler.IcSuperiorResourceExcelImportListener; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.OssFeignClient; +import com.epmet.service.CoverageService; +import com.epmet.service.IcSuperiorResourceService; +import com.epmet.utils.ImportTaskUtils; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.entity.ContentType; +import org.apache.poi.util.IOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.stream.Collectors; + +/** + * 优势资源管理 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-16 + */ +@Service +@Slf4j +public class IcSuperiorResourceServiceImpl extends BaseServiceImpl implements IcSuperiorResourceService { + + @Autowired + private CoverageService coverageService; + @Autowired + private OssFeignClient ossFeignClient; + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + @Autowired + private IcSuperiorResourceDao icSuperiorResourceDao; + + + @Override + public PageData list(IcSuperiorResourceListFormDTO formDTO) { + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); + if (null == staffInfo) { + throw new EpmetException("获取工作人员信息失败"); + } + //查询当前组织及下级数据 + formDTO.setAgencyId(staffInfo.getAgencyId()); + //列表/导出查询 + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()); + List list = baseDao.selectSuperiorResourceList(formDTO); + PageInfo pageInfo = new PageInfo<>(list); + + //封装类别数据 + if (!CollectionUtils.isEmpty(list)) { + List dictList = coverageService.dictMap(formDTO.getCustomerId(), "superior_resource"); + Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getValue, IcCoverageCategoryDictListResultDTO::getLabel)); + for (IcSuperiorResourceListResultDTO v : list) { + if (StringUtils.isNotBlank(v.getCategory())) { + v.setCategoryName(dictMap.get(v.getCategory())); + } + } + } + + return new PageData<>(list, pageInfo.getTotal()); + } + + 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 IcSuperiorResourceDTO get(String id) { + IcSuperiorResourceEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcSuperiorResourceDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcSuperiorResourceAddEditFormDTO formDTO) { + //1.获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + //2.校验同组织下服务组织名称不能重复 + LambdaQueryWrapper tWrapper = new LambdaQueryWrapper<>(); + tWrapper.eq(IcSuperiorResourceEntity::getAgencyId, staffInfo.getAgencyId()); + tWrapper.eq(IcSuperiorResourceEntity::getName, formDTO.getName()); + List entityList = baseDao.selectList(tWrapper); + if (!CollectionUtils.isEmpty(entityList)) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前组织下已存在相同名称的场所"); + } + //3.新增服务组织数据 + IcSuperiorResourceEntity entity = ConvertUtils.sourceToTarget(formDTO, IcSuperiorResourceEntity.class); + entity.setSourceType("add"); + entity.setAgencyId(staffInfo.getAgencyId()); + entity.setAgencyIdPath(StringUtils.isEmpty(staffInfo.getAgencyPIds()) ? staffInfo.getAgencyId() : staffInfo.getAgencyPIds() + ":" + staffInfo.getAgencyId()); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcSuperiorResourceAddEditFormDTO formDTO) { + //1.获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + //2.校验同组织下服务组织名称不能重复 + LambdaQueryWrapper tWrapper = new LambdaQueryWrapper<>(); + tWrapper.eq(IcSuperiorResourceEntity::getAgencyId, staffInfo.getAgencyId()); + tWrapper.ne(IcSuperiorResourceEntity::getId, formDTO.getIcSuperiorResourceId()); + tWrapper.eq(IcSuperiorResourceEntity::getName, formDTO.getName()); + List entityList = baseDao.selectList(tWrapper); + if (!CollectionUtils.isEmpty(entityList)) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前组织下已存在相同名称的服务组织"); + } + //3.更新服务组织数据 + IcSuperiorResourceEntity entity = ConvertUtils.sourceToTarget(formDTO, IcSuperiorResourceEntity.class); + entity.setId(formDTO.getIcSuperiorResourceId()); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(IcSuperiorResourceAddEditFormDTO formDTO) { + IcSuperiorResourceEntity entity = new IcSuperiorResourceEntity(); + entity.setId(formDTO.getIcSuperiorResourceId()); + entity.setUpdatedBy(formDTO.getUserId()); + baseDao.del(entity); + } + + @Override + public IcSuperiorResourceListResultDTO detail(IcSuperiorResourceListFormDTO formDTO) { + IcSuperiorResourceListResultDTO resultDTO = new IcSuperiorResourceListResultDTO(); + //1.查询服务组织信息 + List list = baseDao.selectSuperiorResourceList(formDTO); + + //封装类别数据 + if (!CollectionUtils.isEmpty(list)) { + resultDTO = list.get(NumConstant.ZERO); + List dictList = coverageService.dictMap(formDTO.getCustomerId(), "superior_resource"); + Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getValue, IcCoverageCategoryDictListResultDTO::getLabel)); + if (StringUtils.isNotBlank(resultDTO.getCategory())) { + resultDTO.setCategoryName(dictMap.get(resultDTO.getCategory())); + } + } + + return resultDTO; + } + + @Async + @Override + public void importExcel(Path filePath, String importTaskId) { + String userId = null; + try { + userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + String customerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID); + + //1.获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", userId)); + } + String agencyId = staffInfo.getAgencyId(); + String agencyIdPath = StringUtils.isNotBlank(staffInfo.getAgencyPIds()) ? staffInfo.getAgencyPIds() + ":" + staffInfo.getAgencyId() : staffInfo.getAgencyId(); + + IcSuperiorResourceExcelImportListener listener = new IcSuperiorResourceExcelImportListener(userId, customerId, agencyId, agencyIdPath, this, coverageService, icSuperiorResourceDao); + + EasyExcel.read(filePath.toFile(), IcSuperiorResourceExcel.class, listener).headRowNumber(1).sheet(0).doRead(); + + String errorDesFileUrl = null; + + List errorRows = listener.getErrorRows(); + List otherRows = listener.getOtherRows(); + + boolean failed = errorRows.size() > 0; + + // 合并到一起写入 + errorRows.addAll(otherRows); + + // 生成并上传描述文件 + OutputStream os = null; + FileItem fileItem = null; + if (errorRows.size() > 0) { + try { + // 文件生成 + Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_superior_resource", "import", "error_des"); + String fileName = UUID.randomUUID().toString().concat(".xlsx"); + + fileItem = new DiskFileItemFactory(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD, errorDescDir.toFile()) + .createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), false, fileName); + os = fileItem.getOutputStream(); + + EasyExcel.write(os, IcSuperiorResourceExcel.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows); + // 文件上传oss + Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); + if (errorDesFileUploadResult.success()) { + errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); + } + + } finally { + IOUtils.closeQuietly(os); + if (!fileItem.isInMemory()) { + try { + fileItem.delete(); + } catch (Exception e) { + log.error("【优势资源管理导入】删除错误描述临时文件失败:{}", ExceptionUtils.getErrorStackTrace(e)); + } + } + } + } + + Result result = ImportTaskUtils.finishImportTask( + importTaskId, + failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS, + errorDesFileUrl, + ""); + + if (!result.success()) { + log.error("【优势资源管理导入】finishImportTask失败"); + } + } catch (Exception e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【优势资源管理导入】出错:{}", errorMsg); + + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setOperatorId(userId); + importFinishTaskForm.setResultDesc("导入失败"); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【优势资源管理导入】导入记录状态修改为'完成'失败"); + } + } finally { + // 删除临时文件 + if (Files.exists(filePath)) { + try { + Files.delete(filePath); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + } + + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.23__create_ic_table.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.23__create_ic_table.sql new file mode 100644 index 0000000000..f3f93075ba --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.23__create_ic_table.sql @@ -0,0 +1,100 @@ + +CREATE TABLE `ic_city_management` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `AGENCY_ID` varchar(64) NOT NULL COMMENT '所属组织机构Id', + `AGENCY_ID_PATH` varchar(256) NOT NULL COMMENT 'agencyId的所有上级,包含自己', + `SOURCE_TYPE` varchar(64) NOT NULL COMMENT '来源【新增:add 导入:import 】', + `NAME` varchar(64) NOT NULL COMMENT '场所名称', + `CATEGORY` varchar(64) NOT NULL COMMENT '场所分类【字典表ic_coverage_category_dict key:city_management】', + `AREA_COVERED` varchar(32) DEFAULT '0' COMMENT '占地面积,单位平方公里', + `CAPACITY` int(6) DEFAULT '0' COMMENT '容纳人数', + `ADDRESS` varchar(256) NOT NULL COMMENT '地址', + `LONGITUDE` varchar(64) DEFAULT NULL COMMENT '经度', + `LATITUDE` varchar(64) DEFAULT NULL COMMENT '纬度', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标识', + `REVISION` int(10) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='城市管理图层'; + +-- ---------------------------- +-- Table structure for ic_dangerous_chemicals +-- ---------------------------- +CREATE TABLE `ic_dangerous_chemicals` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `AGENCY_ID` varchar(64) NOT NULL COMMENT '所属组织机构Id', + `AGENCY_ID_PATH` varchar(256) NOT NULL COMMENT 'agencyId的所有上级,包含自己', + `SOURCE_TYPE` varchar(64) NOT NULL COMMENT '来源【新增:add 导入:import 】', + `NAME` varchar(64) NOT NULL COMMENT '企业名称', + `CATEGORY` varchar(64) NOT NULL COMMENT '企业类型【字典表ic_coverage_category_dict key:dangerous_chemicals】', + `SAFE_DISTANCE` varchar(32) DEFAULT '0' COMMENT '周边安全距离,单位公里', + `DANGER_TYPE` varchar(32) DEFAULT '0' COMMENT '危化品种类【字典表 ic_danger_type】', + `PRINCIPAL_NAME` varchar(64) DEFAULT NULL COMMENT '负责人姓名', + `PRINCIPAL_MOBILE` varchar(32) DEFAULT NULL COMMENT '负责人电话', + `ADDRESS` varchar(256) NOT NULL COMMENT '经营地址', + `LONGITUDE` varchar(64) DEFAULT NULL COMMENT '经度', + `LATITUDE` varchar(64) DEFAULT NULL COMMENT '纬度', + `REMARK` varchar(512) DEFAULT NULL COMMENT '备注', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标识', + `REVISION` int(10) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='重点危化品企业'; + +-- ---------------------------- +-- Table structure for ic_public_service +-- ---------------------------- +CREATE TABLE `ic_public_service` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `AGENCY_ID` varchar(64) NOT NULL COMMENT '所属组织机构Id', + `AGENCY_ID_PATH` varchar(256) NOT NULL COMMENT 'agencyId的所有上级,包含自己', + `SOURCE_TYPE` varchar(64) NOT NULL COMMENT '来源【新增:add 导入:import 】', + `NAME` varchar(64) NOT NULL COMMENT '场所名称', + `CATEGORY` varchar(64) NOT NULL COMMENT '场所分类【字典表ic_coverage_category_dict key:public_service】', + `AREA_COVERED` varchar(32) DEFAULT '0' COMMENT '占地面积,单位平方公里', + `CAPACITY` int(6) DEFAULT '0' COMMENT '容纳人数', + `ADDRESS` varchar(256) NOT NULL COMMENT '地址', + `LONGITUDE` varchar(64) DEFAULT NULL COMMENT '经度', + `LATITUDE` varchar(64) DEFAULT NULL COMMENT '纬度', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标识', + `REVISION` int(10) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='公共服务图层'; + +-- ---------------------------- +-- Table structure for ic_superior_resource +-- ---------------------------- +CREATE TABLE `ic_superior_resource` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `AGENCY_ID` varchar(64) NOT NULL COMMENT '所属组织机构Id', + `AGENCY_ID_PATH` varchar(256) NOT NULL COMMENT 'agencyId的所有上级,包含自己', + `SOURCE_TYPE` varchar(64) NOT NULL COMMENT '来源【新增:add 导入:import 】', + `NAME` varchar(64) NOT NULL COMMENT '场所名称', + `CATEGORY` varchar(64) NOT NULL COMMENT '场所分类【字典表ic_coverage_category_dict key:superior_resource】', + `AREA_COVERED` varchar(32) DEFAULT '0' COMMENT '占地面积,单位平方公里', + `CAPACITY` int(6) DEFAULT '0' COMMENT '容纳人数', + `ADDRESS` varchar(256) NOT NULL COMMENT '地址', + `LONGITUDE` varchar(64) DEFAULT NULL COMMENT '经度', + `LATITUDE` varchar(64) DEFAULT NULL COMMENT '纬度', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标识', + `REVISION` int(10) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='优势资源管理'; diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.24__houseAddResiNumber.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.24__houseAddResiNumber.sql new file mode 100644 index 0000000000..e3fe09cd0f --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.24__houseAddResiNumber.sql @@ -0,0 +1,8 @@ +alter table ic_house + add column RESI_NUMBER int(2) comment '居住人数' after OWNER_ID_CARD; + +alter table ic_house + add column ORG_ID_PATH varchar(256) comment '房屋所属父级列表。目前包括机关+网格' after CUSTOMER_ID; + +alter table ic_house + add column FULL_NAME varchar(64) comment '全名。小区、楼栋、单元、房屋' after DOOR_NAME; \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.25__icenterpise.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.25__icenterpise.sql new file mode 100644 index 0000000000..c347e0cbe8 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.25__icenterpise.sql @@ -0,0 +1,69 @@ +CREATE TABLE `ic_enterprise` ( + `ID` varchar(64) NOT NULL COMMENT '唯一标识', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `GRID_ID` varchar(64) NOT NULL COMMENT '网格Id【场所区域】', + `AGENCY_ID` varchar(64) NOT NULL COMMENT '网格所属的组织Id', + `AGENCY_PIDS` varchar(256) DEFAULT NULL COMMENT 'agency_id的所有上级', + `PLACE_TYPE` varchar(64) NOT NULL COMMENT '场所类型:来源于ic_coverage_category_dict', + `PLACE_ORG_NAME` varchar(64) NOT NULL COMMENT '场所名称', + `ADDRESS` varchar(256) NOT NULL COMMENT '场所地址', + `LONGITUDE` varchar(64) DEFAULT NULL COMMENT '经度', + `LATITUDE` varchar(64) DEFAULT NULL COMMENT '纬度', + `SCALE` varchar(128) NOT NULL COMMENT '字典value,场所规模【\r\n0:10人以下\r\n1:10-20人\r\n2:21-40人\r\n3:41-100人\r\n4:100人以上】', + `PERSON_IN_CHARGE` varchar(64) NOT NULL COMMENT '场所负责人', + `MOBILE` varchar(11) NOT NULL COMMENT '负责人电话', + `SOURCE_TYPE` varchar(64) NOT NULL COMMENT '来源【新增:add 导入:import 】', + `LATEST_RESULT` varchar(2) DEFAULT '' COMMENT '最新巡查结果【0:合格 1:不合格】', + `LATEST_PATROL_TIME` datetime DEFAULT NULL COMMENT '最新检查时间', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='企事业单位表'; + + +CREATE TABLE `ic_enterprise_patrol_record` ( + `ID` varchar(64) NOT NULL COMMENT '唯一标识', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `ENTERPRISE_ID` varchar(64) NOT NULL COMMENT '企事业单位id', + `PATROL_TIME` datetime NOT NULL COMMENT '巡查时间', + `STAFF_ID` varchar(64) NOT NULL COMMENT '工作人员id', + `STAFF_NAME` varchar(64) NOT NULL COMMENT '工作人员姓名', + `MOBILE` varchar(64) NOT NULL COMMENT '工作人员手机号', + `RESULT` varchar(2) NOT NULL COMMENT '巡查结果【0:合格 1:不合格】', + `DETAILED` varchar(512) DEFAULT NULL COMMENT '隐患明细', + `REVIEW_TIME` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '拟复查时间', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企事业单位巡查表'; + + + +CREATE TABLE `ic_enterprise_patrol_attachment` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `PATROL_ID` varchar(64) NOT NULL COMMENT '服务记录id,服务项目id', + `ATTACHMENT_NAME` varchar(64) DEFAULT NULL COMMENT '附件名', + `ATTACHMENT_FORMAT` varchar(64) DEFAULT NULL COMMENT '文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS)', + `ATTACHMENT_TYPE` varchar(64) NOT NULL COMMENT '附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc))', + `ATTACHMENT_URL` varchar(255) NOT NULL COMMENT '附件地址', + `SORT` int(1) NOT NULL COMMENT '排序字段', + `STATUS` varchar(32) NOT NULL DEFAULT 'auto_passed' COMMENT '附件状态(审核中:auditing; \r\nauto_passed: 自动通过;\r\nreview:结果不确定,需要人工审核;\r\nblock: 结果违规;\r\nrejected:人工审核驳回;\r\napproved:人工审核通过)\r\n现在图片是同步审核的,所以图片只有auto_passed一种状态', + `REASON` varchar(255) DEFAULT NULL COMMENT '失败原因', + `DURATION` int(11) DEFAULT NULL COMMENT '语音或视频时长,秒', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='企事业单位巡查附件表(目前只上传图片)'; \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.26__converagedict.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.26__converagedict.sql new file mode 100644 index 0000000000..420c476db6 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.26__converagedict.sql @@ -0,0 +1,67 @@ +CREATE TABLE `ic_coverage_category_dict` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT 'default;或者customerId', + `CATEGORY_KEY` varchar(32) NOT NULL COMMENT '类别key', + `CATEGORY_NAME` varchar(255) NOT NULL COMMENT '名称', + `PLACE_TYPE` varchar(32) DEFAULT NULL COMMENT '所属场所类型。社区自组织:community_org;优势资源:superior_resource;城市管理:city_management;重点危化企业:dangerous_chemicals;公共服务:public_service;特殊人群:special_resi;居民:resi;联建单位:party_unit;群租房:group_rent;事件(包括难点堵点):event;企事业单位巡查:enterprise_patrol;', + `COVERAGE_TYPE` varchar(10) DEFAULT NULL COMMENT '所属五大图层:zhzl:综合治理图层;yjcl:应急处置图层;aqsc:安全生产图层;csgl:城市管理图层;ggfw:公共服务图层', + `SORT` int(11) DEFAULT NULL COMMENT '排序', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标识', + `REVISION` int(10) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='五大图层类别字典表'; + + +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('07a0a8de30dd8456f1870a1741e5b4c4', 'default', 'ep_lssd', '零售商店(来源企事业单位巡查)', 'enterprise_patrol', 'csgl', 3, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('093a5577095a3638e7e6c8c6c920e8d0', 'default', 'sr_rfqck', '人房汽车库', 'superior_resource', 'yjcl', 8, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('0c7b40b38bd35ed89ce0130c6e704c0c', 'default', 'shequjiaozheng', '社区矫正', 'special_resi', 'zhzl', 4, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('0eca6889444417c3f2a778f229abf41a', 'default', 'sr_tyc', '体育场', 'superior_resource', 'yjcl', 3, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('0ef500646ea5a0ebb38f0ae2f836e417', 'default', 'buliangqingshaonian', '不良青少年', 'special_resi', 'zhzl', 3, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('0f988841571d2e4afcba883afd9974d5', 'default', 'yjdw', '应急队伍', 'community_org', 'yjcl', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('195bbc27440d3abd7f69eea91cdf60f1', 'default', 'lyjlb', '老友俱乐部', 'community_org', 'yjcl', 3, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1e51a52f1527246daf7840ec38912b45', 'default', 'ep_gwylcs', '歌舞娱乐场所', 'enterprise_patrol', 'aqsc', 1, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('28997e303edb86daea625f734c8f017b', 'default', 'sr_gc', '广场', 'superior_resource', 'yjcl', 1, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('45bc9a851db61a65817bf5c5f6368d0c', 'default', 'sr_ggld', '公共绿地', 'superior_resource', 'yjcl', 2, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('488f7ae48acabdcf849f8d7ae2d92c43', 'default', 'ps_jjz', '急救站', 'public_service', 'ggfw', 4, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('4ccb2ca7ae1ae347022a7142f35710d0', 'default', 'ep_mrxycs', '美容洗浴场所', 'enterprise_patrol', 'aqsc', 3, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('5406fee68a7ed5fee1107d82acad4982', 'default', 'whdw', '文化队伍', 'community_org', 'yjcl', 1, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('550fc32040b3b2eb9ab61aa8ba508458', 'default', 'dc_jqz', '加气站', 'dangerous_chemicals', 'aqsc', 1, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('59f5869872130e17295032266815fa32', 'default', 'sr_yjy', '影剧院', 'superior_resource', 'yjcl', 4, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('67f28e477d64dbba67896410b4209732', 'default', 'ps_wss', '卫生所(室)', 'public_service', 'ggfw', 3, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('6c6790441a194dc4c71cd3ecc734d9a0', 'default', 'pu_jgzsbm', '机关直属部门(来源联建单位)', 'party_unit', 'yjcl', 10, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('72d4b41e70d0099bebda1627aa8cef17', 'default', 'dc_jzgd', '建筑工地', 'dangerous_chemicals', 'aqsc', 4, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('75a70d0fbac1abb44d790fb66d37ec29', 'default', 'cm_cjsc', '超级市场', 'city_management', 'csgl', 2, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('76bb777ebda757dec40ab841c8bf52e8', 'default', 'xiejiaorenyuan', '邪教人员', 'special_resi', 'zhzl', 2, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('7db567f70cd93dc4e9dc9a74a1982e30', 'default', 'lwh', '楼委会', 'community_org', 'yjcl', 2, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('80e483641815cc55fdf90e04d23457bd', 'default', 'cm_nmsc', '农贸市场', 'city_management', 'csgl', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('83c933ce13df36180b02d6edd055f53c', 'default', 'sr_djc', '度假村', 'superior_resource', 'yjcl', 7, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('88d1ab9131db2031138300563b7a0be3', 'default', 'resi_szry', '失智人员', 'resi', 'ggfw', 0, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('8a929fe6bd98c8319ef717bf52644324', 'default', 'ps_mzb', '门诊部', 'public_service', 'ggfw', 1, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('8ce8a8ee5fed31e60c251897794662ce', 'default', 'cm_bhsc', '百货商场', 'city_management', 'csgl', 1, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('8efac6162d40cb69cf4c72d4de86f6d5', 'default', 'ps_lyy', '疗养院', 'public_service', 'ggfw', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('8f98e6e4c6b6f399d1670196e12762e6', 'default', 'gr_czw', '出租的房屋,住的人口超过5人属于群租房(是个规定)', 'group_rent', 'aqsc', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('90bf628e45a88c6695f4b6a47379b02e', 'default', 'zhaoshizhaohuojingshenbing', '肇事肇祸精神病', 'special_resi', 'zhzl', 5, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('913569d0d327ce7d51a108ad4b9fa5b8', 'default', 'ep_yy', '医院(来源企事业单位巡查)', 'enterprise_patrol', 'ggfw', 6, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('962cee919ca831587b65d17e242f359b', 'default', 'ep_lg', '旅馆', 'enterprise_patrol', 'yjcl', 9, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('9e0fda438e96cb7ccc0c95afcd6b3091', 'default', 'resi_xfry', '信访人员', 'resi', 'zhzl', 0, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('a6e7d2be933d94450c1eac20975c3254', 'default', 'ep_xx', '学校(来源企事业单位巡查)', 'enterprise_patrol', 'ggfw', 5, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('a71afa09b5afc279ffb0e14b7637e8ba', 'default', 'sr_xfz', '消防站', 'superior_resource', 'yjcl', 9, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('a790078bf1e507ee4143b178956a6660', 'default', 'dc_whpdw', '危化品单位', 'dangerous_chemicals', 'aqsc', 2, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('ab5c7adfd20e8791c2ac4a0dc3a913e2', 'default', 'ep_cycs', '餐饮场所', 'enterprise_patrol', 'aqsc', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('b4773dbde111040129f616d64917e6a3', 'default', 'sr_jzz', '救助站', 'superior_resource', 'yjcl', 6, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('b63dcb8abeebef94defc4a428148a4d7', 'default', 'ep_wb', '网吧', 'enterprise_patrol', 'aqsc', 2, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('c4f92ca3e985c2ddd259843e0e06be69', 'default', 'ps_zs', '诊所', 'public_service', 'ggfw', 2, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('c6a5d9456f6b2f9a2baee1e515b30f17', 'default', 'ep_scjgqy', '生产加工企业', 'enterprise_patrol', 'aqsc', 4, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('cb27f89d903937cd5b716f50be96e966', 'default', 'dc_jyz', '加油站', 'dangerous_chemicals', 'aqsc', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('cb694000b9cf8c5af9061a809237bfb7', 'default', 'zaxld', '治安巡逻队', 'community_org', 'yjcl', 4, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('cea8b4af8e996b8d49a501fe21e0fa74', 'default', 'sr_gy', '公园', 'superior_resource', 'yjcl', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('d3aa4af87d1cdc9fec9df22f8c13c3ad', 'default', 'other', '其他', 'community_org', 'yjcl', 5, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('d9393e37d7f8527f9d337ee80f126464', 'default', 'dc_yqhjz', '油气合建站', 'dangerous_chemicals', 'aqsc', 3, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('ddef1d1babb1b25e3f86fdc58f4e3f81', 'default', 'xidurenyuan', '吸毒人员', 'special_resi', 'zhzl', 6, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('e8b5b9fa49369996825e449862d7f417', 'default', 'event_tdnd', '痛点难点', 'event', 'csgl', 0, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('eedf77bbfee5c08bb121c3ca94f9df76', 'default', 'resi_snry', '失能人员', 'resi', 'ggfw', 0, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO `epmet_gov_org`.`ic_coverage_category_dict` (`ID`, `CUSTOMER_ID`, `CATEGORY_KEY`, `CATEGORY_NAME`, `PLACE_TYPE`, `COVERAGE_TYPE`, `SORT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('f286cb6e38905289d9ae3a24c0727b4c', 'default', 'anzhibangjiao', '安置帮教', 'special_resi', 'zhzl', 1, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.27__placeorgname.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.27__placeorgname.sql new file mode 100644 index 0000000000..c2c0125b63 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.27__placeorgname.sql @@ -0,0 +1 @@ +alter table ic_enterprise MODIFY COLUMN PLACE_ORG_NAME VARCHAR(128)not null COMMENT '场所名称'; \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.28__houseResiNumberAdjust.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.28__houseResiNumberAdjust.sql new file mode 100644 index 0000000000..32da1ee720 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.28__houseResiNumberAdjust.sql @@ -0,0 +1 @@ +alter table ic_house modify RESI_NUMBER int(2) default 0; \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.29__rewriteCategoryDict.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.29__rewriteCategoryDict.sql new file mode 100644 index 0000000000..7c6708fbe1 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.29__rewriteCategoryDict.sql @@ -0,0 +1,52 @@ +delete from ic_coverage_category_dict; + + +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('07a0a8de30dd8456f1870a1741e5b4c4', 'default', 'ep_lssd', '零售商店', 'enterprise_patrol', 'csgl', 3, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('093a5577095a3638e7e6c8c6c920e8d0', 'default', 'sr_rfqck', '人房汽车库', 'superior_resource', 'yjcl', 8, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('0c7b40b38bd35ed89ce0130c6e704c0c', 'default', 'shequjiaozheng', '社区矫正', 'special_resi', 'zhzl', 4, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('0eca6889444417c3f2a778f229abf41a', 'default', 'sr_tyc', '体育场', 'superior_resource', 'yjcl', 3, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('0ef500646ea5a0ebb38f0ae2f836e417', 'default', 'buliangqingshaonian', '不良青少年', 'special_resi', 'zhzl', 3, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('0f988841571d2e4afcba883afd9974d5', 'default', 'yjdw', '应急队伍', 'community_org', 'yjcl', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('195bbc27440d3abd7f69eea91cdf60f1', 'default', 'lyjlb', '老友俱乐部', 'community_org', 'yjcl', 3, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('1e51a52f1527246daf7840ec38912b45', 'default', 'ep_gwylcs', '歌舞娱乐场所', 'enterprise_patrol', 'aqsc', 1, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('28997e303edb86daea625f734c8f017b', 'default', 'sr_gc', '广场', 'superior_resource', 'yjcl', 1, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('45bc9a851db61a65817bf5c5f6368d0c', 'default', 'sr_ggld', '公共绿地', 'superior_resource', 'yjcl', 2, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('488f7ae48acabdcf849f8d7ae2d92c43', 'default', 'ps_jjz', '急救站', 'public_service', 'ggfw', 4, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('4ccb2ca7ae1ae347022a7142f35710d0', 'default', 'ep_mrxycs', '美容洗浴场所', 'enterprise_patrol', 'aqsc', 3, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('5406fee68a7ed5fee1107d82acad4982', 'default', 'whdw', '文化队伍', 'community_org', 'yjcl', 1, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('550fc32040b3b2eb9ab61aa8ba508458', 'default', 'dc_jqz', '加气站', 'dangerous_chemicals', 'aqsc', 1, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('59f5869872130e17295032266815fa32', 'default', 'sr_yjy', '影剧院', 'superior_resource', 'yjcl', 4, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('67f28e477d64dbba67896410b4209732', 'default', 'ps_wss', '卫生所(室)', 'public_service', 'ggfw', 3, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('6c6790441a194dc4c71cd3ecc734d9a0', 'default', 'pu_jgzsbm', '机关直属部门', 'party_unit', 'yjcl', 10, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('72d4b41e70d0099bebda1627aa8cef17', 'default', 'dc_jzgd', '建筑工地', 'dangerous_chemicals', 'aqsc', 4, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('75a70d0fbac1abb44d790fb66d37ec29', 'default', 'cm_cjsc', '超级市场', 'city_management', 'csgl', 2, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('76bb777ebda757dec40ab841c8bf52e8', 'default', 'xiejiaorenyuan', '邪教人员', 'special_resi', 'zhzl', 2, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('7db567f70cd93dc4e9dc9a74a1982e30', 'default', 'lwh', '楼委会', 'community_org', 'yjcl', 2, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('80e483641815cc55fdf90e04d23457bd', 'default', 'cm_nmsc', '农贸市场', 'city_management', 'csgl', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('83c933ce13df36180b02d6edd055f53c', 'default', 'sr_djc', '度假村', 'superior_resource', 'yjcl', 7, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('88d1ab9131db2031138300563b7a0be3', 'default', 'resi_szry', '失智人员', 'resi', 'ggfw', 0, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('8a929fe6bd98c8319ef717bf52644324', 'default', 'ps_mzb', '门诊部', 'public_service', 'ggfw', 1, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('8ce8a8ee5fed31e60c251897794662ce', 'default', 'cm_bhsc', '百货市场', 'city_management', 'csgl', 1, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('8efac6162d40cb69cf4c72d4de86f6d5', 'default', 'ps_lyy', '疗养院', 'public_service', 'ggfw', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('8f98e6e4c6b6f399d1670196e12762e6', 'default', 'gr_czw', '群租房', 'group_rent', 'aqsc', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('90bf628e45a88c6695f4b6a47379b02e', 'default', 'zhaoshizhaohuojingshenbing', '肇事肇祸精神病', 'special_resi', 'zhzl', 5, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('913569d0d327ce7d51a108ad4b9fa5b8', 'default', 'ep_yy', '医院', 'enterprise_patrol', 'ggfw', 6, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('962cee919ca831587b65d17e242f359b', 'default', 'ep_lg', '旅馆', 'enterprise_patrol', 'yjcl', 9, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('9e0fda438e96cb7ccc0c95afcd6b3091', 'default', 'resi_xfry', '信访人员', 'resi', 'zhzl', 0, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('a6e7d2be933d94450c1eac20975c3254', 'default', 'ep_xx', '学校', 'enterprise_patrol', 'ggfw', 5, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('a71afa09b5afc279ffb0e14b7637e8ba', 'default', 'sr_xfz', '消防站', 'superior_resource', 'yjcl', 9, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('a790078bf1e507ee4143b178956a6660', 'default', 'dc_whpdw', '危化品单位', 'dangerous_chemicals', 'aqsc', 2, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('ab5c7adfd20e8791c2ac4a0dc3a913e2', 'default', 'ep_cycs', '餐饮场所', 'enterprise_patrol', 'aqsc', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('b4773dbde111040129f616d64917e6a3', 'default', 'sr_jzz', '救助站', 'superior_resource', 'yjcl', 6, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('b63dcb8abeebef94defc4a428148a4d7', 'default', 'ep_wb', '网吧', 'enterprise_patrol', 'aqsc', 2, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('c4f92ca3e985c2ddd259843e0e06be69', 'default', 'ps_zs', '诊所', 'public_service', 'ggfw', 2, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('c6a5d9456f6b2f9a2baee1e515b30f17', 'default', 'ep_scjgqy', '生产加工企业', 'enterprise_patrol', 'aqsc', 4, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('cb27f89d903937cd5b716f50be96e966', 'default', 'dc_jyz', '加油站', 'dangerous_chemicals', 'aqsc', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('cb694000b9cf8c5af9061a809237bfb7', 'default', 'zaxld', '治安巡逻队', 'community_org', 'yjcl', 4, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('cea8b4af8e996b8d49a501fe21e0fa74', 'default', 'sr_gy', '公园', 'superior_resource', 'yjcl', 0, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('d3aa4af87d1cdc9fec9df22f8c13c3ad', 'default', 'other', '其他', 'community_org', 'yjcl', 5, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('d9393e37d7f8527f9d337ee80f126464', 'default', 'dc_yqhjz', '油气合建站', 'dangerous_chemicals', 'aqsc', 3, '0', 0, 'APP_USER', '2022-06-17 17:09:00', 'APP_USER', '2022-06-17 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('ddef1d1babb1b25e3f86fdc58f4e3f81', 'default', 'xidurenyuan', '吸毒人员', 'special_resi', 'zhzl', 6, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('e8b5b9fa49369996825e449862d7f417', 'default', 'event_tdnd', '痛点难点', 'event', 'csgl', 0, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('eedf77bbfee5c08bb121c3ca94f9df76', 'default', 'resi_snry', '失能人员', 'resi', 'ggfw', 0, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); +INSERT INTO epmet_gov_org.ic_coverage_category_dict (ID, CUSTOMER_ID, CATEGORY_KEY, CATEGORY_NAME, PLACE_TYPE, COVERAGE_TYPE, SORT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) VALUES ('f286cb6e38905289d9ae3a24c0727b4c', 'default', 'anzhibangjiao', '安置帮教', 'special_resi', 'zhzl', 1, '0', 0, 'wxz', '2022-06-16 17:09:00', 'wxz', '2022-06-16 17:09:00'); \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.30__enterprise_mobile.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.30__enterprise_mobile.sql new file mode 100644 index 0000000000..acb0ed507e --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.30__enterprise_mobile.sql @@ -0,0 +1 @@ +alter table ic_enterprise MODIFY COLUMN MOBILE VARCHAR(64) NOT NULL COMMENT '负责人电话'; \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/city_management_template.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/city_management_template.xlsx new file mode 100644 index 0000000000..5d98937f40 Binary files /dev/null and b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/city_management_template.xlsx differ diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/dangerous_chemicals_template.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/dangerous_chemicals_template.xlsx new file mode 100644 index 0000000000..a30fa73c91 Binary files /dev/null and b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/dangerous_chemicals_template.xlsx differ diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/enterprise_patrol_import_tem.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/enterprise_patrol_import_tem.xlsx new file mode 100644 index 0000000000..283b41c095 Binary files /dev/null and b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/enterprise_patrol_import_tem.xlsx differ diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/public_service_template.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/public_service_template.xlsx new file mode 100644 index 0000000000..cf3191669e Binary files /dev/null and b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/public_service_template.xlsx differ diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/superior_resource_template.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/superior_resource_template.xlsx new file mode 100644 index 0000000000..d9dff560d7 Binary files /dev/null and b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/superior_resource_template.xlsx differ diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml index 7e2da08f95..94d29e08b4 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml @@ -734,7 +734,8 @@ case when ca.ORGANIZATION_NAME is null or ca.ORGANIZATION_NAME='' then cg.GRID_NAME else concat(ca.ORGANIZATION_NAME,'-',cg.GRID_NAME) end - )as label + )as label, + cg.PID from customer_grid cg left join customer_agency ca on(cg.PID=ca.id and ca.DEL_FLAG='0') diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCityManagementDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCityManagementDao.xml new file mode 100644 index 0000000000..5d7e5dfdbc --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCityManagementDao.xml @@ -0,0 +1,51 @@ + + + + + + + + + UPDATE ic_city_management + SET del_flag = '1', + updated_by = #{updatedBy}, + updated_time = NOW() + WHERE + id = #{id} + AND del_flag = '0' + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCoverageCategoryDictDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCoverageCategoryDictDao.xml new file mode 100755 index 0000000000..dce1591d30 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCoverageCategoryDictDao.xml @@ -0,0 +1,69 @@ + + + + + + + INSERT INTO ic_coverage_category_dict ( + id, + customer_id, + category_key, + category_name, + place_type, + coverage_type, + sort, + del_flag, + revision, + created_by, + created_time, + updated_by, + updated_time + ) SELECT + MD5(UUID()), + #{customerId}, + category_key, + category_name, + place_type, + coverage_type, + sort, + del_flag, + revision, + 'APP_USER', + NOW(), + 'APP_USER', + NOW() + FROM + ic_coverage_category_dict + WHERE + del_flag = '0' + AND customer_id = 'default' + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcDangerousChemicalsDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcDangerousChemicalsDao.xml new file mode 100644 index 0000000000..541d673d24 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcDangerousChemicalsDao.xml @@ -0,0 +1,57 @@ + + + + + + + + + UPDATE ic_dangerous_chemicals + SET del_flag = '1', + updated_by = #{updatedBy}, + updated_time = NOW() + WHERE + id = #{id} + AND del_flag = '0' + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml new file mode 100644 index 0000000000..0a3d9a321a --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + update ic_enterprise + set LATEST_RESULT = #{result}, + UPDATED_BY = #{userId}, + UPDATED_TIME = NOW(), + LATEST_PATROL_TIME = #{updatedTime} + WHERE ID = #{enterpriseId} + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolAttachmentDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolAttachmentDao.xml new file mode 100644 index 0000000000..7fcba55fd7 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolAttachmentDao.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + delete from ic_enterprise_patrol_attachment + where PATROL_ID = #{patrolId} + + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolRecordDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolRecordDao.xml new file mode 100644 index 0000000000..4c35a0eecf --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolRecordDao.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file 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 c55f985fc5..d0dd039a7f 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 @@ -24,6 +24,7 @@ + @@ -521,5 +522,8 @@ #{id} ) + + UPDATE ic_house SET RESI_NUMBER = #{resiNumber}, UPDATED_TIME = NOW() where ID = #{houseId} and RESI_NUMBER != #{resiNumber} and DEL_FLAG = '0' + diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPlaceOrgDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPlaceOrgDao.xml index 600a80ee7f..19a113d102 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPlaceOrgDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPlaceOrgDao.xml @@ -13,7 +13,8 @@ a.address address, a.scale scale, a.person_in_charge personInCharge, - a.mobile mobile + a.mobile mobile, + a.AGENCY_ID as agencyId FROM ic_place_org a LEFT JOIN customer_grid b ON a.GRID_ID = b.ID @@ -25,8 +26,8 @@ AND a.customer_id = #{customerId} - - AND a.pids LIKE CONCAT('%', #{pids}, '%') + + AND (a.AGENCY_ID =#{agencyId} or a.PIDS LIKE CONCAT('%', #{agencyId}, '%') ) AND a.grid_id = #{gridId} diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPublicServiceDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPublicServiceDao.xml new file mode 100644 index 0000000000..91ea0d7cce --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPublicServiceDao.xml @@ -0,0 +1,52 @@ + + + + + + + + + UPDATE ic_public_service + SET del_flag = '1', + updated_by = #{updatedBy}, + updated_time = NOW() + WHERE + id = #{id} + AND del_flag = '0' + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcSuperiorResourceDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcSuperiorResourceDao.xml new file mode 100644 index 0000000000..9edfe1c756 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcSuperiorResourceDao.xml @@ -0,0 +1,53 @@ + + + + + + + + + UPDATE ic_superior_resource + SET del_flag = '1', + updated_by = #{updatedBy}, + updated_time = NOW() + WHERE + id = #{id} + AND del_flag = '0' + + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/IcEventDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/IcEventDTO.java index b357632bf8..3b14fc3266 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/IcEventDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/IcEventDTO.java @@ -172,6 +172,11 @@ approved:人工审核通过) */ private String auditReason; + /** + * 是否标记难点堵点 0:否 1:是 + */ + private String difficultPoint; + /** * 删除标识:0.未删除 1.已删除 */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventAddEditFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventAddEditFormDTO.java index 6774329890..07d9a8bcf9 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventAddEditFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventAddEditFormDTO.java @@ -98,6 +98,10 @@ public class IcEventAddEditFormDTO implements Serializable { * 处理中:processing;已办结:closed_case */ private String status; + /** + * 是否标记难点堵点 0:否 1:是 + */ + private String difficultPoint; /** * 立项接口入参对象 */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventListFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventListFormDTO.java index 7d8187c110..22343e9007 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventListFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventListFormDTO.java @@ -6,6 +6,7 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import java.io.Serializable; +import java.util.List; /** * @Description 【迁入管理】列表--接口入参 @@ -75,4 +76,13 @@ public class IcEventListFormDTO implements Serializable { private String customerId; private String staffId; + /** + * 事件ID集合 + */ + private List icEventIdList; + /** + * 操作类型 0:取消标记 1:标记 + */ + private String type; + } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java index 408d0c1ea6..beac1277a0 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java @@ -192,6 +192,16 @@ public class IcEventListResultDTO implements Serializable { */ private String imageUrl; + /** + * 是否标记难点堵点 0:否 1:是 + */ + private String difficultPoint; + + /** + * 是否标记难点堵点 0:否 1:是 + */ + private String difficultPointName; + /** * 事件附件 */ diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java index 12416e4276..951d2196fc 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java @@ -491,4 +491,14 @@ public class IcEventController { return new Result(); } + /** + * @Author sun + * @Description 标记事件为难点堵点 + **/ + @PostMapping("difficultpointevent") + public Result difficultPointEvent(@RequestBody IcEventListFormDTO formDTO) { + icEventService.difficultPointEvent(formDTO); + return new Result(); + } + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/IcEventDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/IcEventDao.java index 386225e922..8240dee3c6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/IcEventDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/IcEventDao.java @@ -1,6 +1,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IcEventDTO; import com.epmet.dto.form.IcEventCategoryAnalysisFormDTO; import com.epmet.dto.form.IcEventListFormDTO; import com.epmet.dto.form.MyReportIcEvFormDTO; @@ -136,4 +137,6 @@ public interface IcEventDao extends BaseDao { * @return */ Integer getResiReportEventCount(@Param("reportorIdCard") String reportorIdCard); + + List getByEventIds(@Param("icEventIdList") List icEventIdList); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/IcEventEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/IcEventEntity.java index a8e83bcf7c..ce8d9bdd6a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/IcEventEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/IcEventEntity.java @@ -171,4 +171,9 @@ public class IcEventEntity extends BaseEpmetEntity { */ private String auditReason; + /** + * 是否标记难点堵点 0:否 1:是 + */ + private String difficultPoint; + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java index 2a3545fc9c..eb26fc1fa5 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java @@ -220,4 +220,6 @@ public interface IcEventService extends BaseService { * @Description 工作端事件红点消除 **/ void govRedDot(String icEventId); + + void difficultPointEvent(IcEventListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java index ed76a24e82..f8de2e8936 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java @@ -677,6 +677,7 @@ public class IcEventServiceImpl extends BaseServiceImpl list = baseDao.getByEventIds(formDTO.getIcEventIdList()); + if (!CollectionUtils.isEmpty(list)) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "存在已结案或已标记为难点堵点的事件,不允许重复操作", "存在已结案或已标记为难点堵点的事件,不允许重复操作"); + } + } + + List entityList = new ArrayList<>(); + String userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + formDTO.getIcEventIdList().forEach(ev -> { + IcEventEntity entity = new IcEventEntity(); + entity.setId(ev); + entity.setDifficultPoint(formDTO.getType()); + entity.setUpdatedBy(userId); + entity.setUpdatedTime(new Date()); + entityList.add(entity); + }); + updateBatchById(entityList); + + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.25__alter_ic_event.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.25__alter_ic_event.sql new file mode 100644 index 0000000000..c460c844b2 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.25__alter_ic_event.sql @@ -0,0 +1,2 @@ +ALTER TABLE `ic_event` +ADD COLUMN `DIFFICULT_POINT` varchar(3) NULL DEFAULT '0' COMMENT '是否标记难点堵点 0:否 1:是' AFTER `AUDIT_REASON`; diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml index b03c73efaf..bb3165fb8b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml @@ -126,6 +126,8 @@ + + + + \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java index 0523b83600..0583188d71 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java @@ -37,6 +37,7 @@ import com.epmet.dto.result.FormGroupDTO; import com.epmet.dto.result.FormItemResult; import com.epmet.entity.*; import com.epmet.feign.EpmetHeartOpenFeignClient; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.redis.CustomerFootBarRedis; import com.epmet.service.IcFormService; import lombok.extern.slf4j.Slf4j; @@ -80,6 +81,8 @@ public class IcFormServiceImpl extends BaseServiceImpl private IcFormListItemDao icFormListItemDao; @Resource private EpmetHeartOpenFeignClient epmetHeartOpenFeignClient; + @Resource + private GovOrgOpenFeignClient govOrgOpenFeignClient; /** * 获取居民信息表单 @@ -319,6 +322,13 @@ public class IcFormServiceImpl extends BaseServiceImpl if (!result.success()) { throw new EpmetException(result.getCode(), result.getMsg()); } + + //2022.6.24 五大图层类别字典表客户初始化 + Result dictResult = govOrgOpenFeignClient.dictInit(customerId); + if (!dictResult.success()) { + throw new EpmetException(dictResult.getCode(), dictResult.getMsg()); + } + return "初始化成功!客户ID:" + customerId + " formCode:" + formCode; } } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseIcResiUserCountResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseIcResiUserCountResultDTO.java new file mode 100644 index 0000000000..4c974bd10b --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseIcResiUserCountResultDTO.java @@ -0,0 +1,46 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 房屋内居民总数结果 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-26 + */ +@Data +public class HouseIcResiUserCountResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 所属家庭Id + */ + private String homeId; + + /** + * 房间内总人数 + */ + private Integer resiNumber; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBriefDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBriefDTO.java index 056acbc584..c9a0160aed 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBriefDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBriefDTO.java @@ -76,4 +76,13 @@ public class IcResiUserBriefDTO extends HouseUserDTO implements Serializable { */ private List houseUserList; + /** + * 人户状况 + */ + private String rhzk; + + /** + * 工作单位 + */ + private String gzdw; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiVolunteerSelectDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiVolunteerSelectDTO.java new file mode 100644 index 0000000000..8eca42b0f2 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiVolunteerSelectDTO.java @@ -0,0 +1,30 @@ +package com.epmet.dto.result; + + +import lombok.Data; + +import java.io.Serializable; + +/** + * 当前组织下,居民信息里的志愿者列表 + * 下拉框可用 + */ +@Data +public class ResiVolunteerSelectDTO implements Serializable { + /** + * 下拉框显示值 + * 尹作梅(15764229697) + */ + private String label; + private String value; + private String icResiUserId; + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; +} 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 7b890db270..9eb61ac3bc 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 @@ -1202,7 +1202,7 @@ public class IcResiUserController implements ResultDataResolver { /** * 获取组织下的志愿者 - * + * 居民信息里的志愿者 * @Param formDTO * @Return {@link Result>} * @Author zhaoqifeng @@ -1225,4 +1225,17 @@ public class IcResiUserController implements ResultDataResolver { public Result> getUserId(@PathVariable("icUserId") String icUserId) { return new Result>().ok(icResiUserService.getUserId(icUserId)); } + + /** + * 居民信息里的志愿者 + * 社区自组织-添加成员可用 + * @Param formDTO + * @Return {@link Result>} + * @Author zhaoqifeng + * @Date 2022/6/16 15:22 + */ + @PostMapping("volunteer-list") + public Result> queryVolunteerList(@LoginUser TokenDto tokenDto) { + return new Result>().ok(icResiUserService.queryVolunteerList(tokenDto.getCustomerId(), tokenDto.getUserId())); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index e8125a06f9..9babaf57fc 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -403,4 +403,12 @@ public interface IcResiUserDao extends BaseDao { IcResiUserEntity selectResiUserEntityByIdCard(@Param("idCard") String idCard,@Param("customerId") String customerId); List getListIcResiUserDTO(@Param("icResiUserIdList") List icResiUserIdList); + + /** + * desc:获取客户内 每个房屋内的居民数 + * @param customerId + * @return + */ + List> getResiUserCountGroupHomeId(@Param("customerId") String customerId); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java index 20e9ed3dc5..2831eb532c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java @@ -27,7 +27,7 @@ public class IcTripReportExcelImportListener implements ReadListener msgs, ConsumeConcurrentlyContext context) { @@ -57,34 +61,25 @@ public class ICWarnStatsEventListener implements MessageListenerConcurrently { // msg即为消息体 // tags为SystemMessageType.java中的项,为具体的操作,此处拿到tags,判断是创建还是变更,来做响应的后续操作即可 String msg = new String(messageExt.getBody()); - log.info("msg is {}",msg); + log.info("msg is {}", msg); String topic = messageExt.getTopic(); String tags = messageExt.getTags(); String pendingMsgLabel = messageExt.getUserProperty(MQUserPropertys.BLOCKED_MSG_LABEL); logger.info("【开放数据事件监听器】-居民信息变动-收到消息内容:{},操作:{}", msg, tags); IcResiUserAddMQMsg obj = JSON.parseObject(msg, IcResiUserAddMQMsg.class); - log.info("obj is {}",JSON.toJSONString(obj)); - DistributedLock distributedLock = null; - RLock lock = null; + log.info("obj is {}", JSON.toJSONString(obj)); try { - distributedLock = SpringContextUtils.getBean(DistributedLock.class); - lock = distributedLock.getLock(String.format("lock:ic_warn_stats:%s", obj.getCustomerId()), - 30L, 30L, TimeUnit.SECONDS); - //待执行方法 - SpringContextUtils.getBean(StatsResiWarnService.class).resiWarn(obj.getCustomerId()); - //根据居民Id更新 核酸检测的是否居民状态 - updateIcNatResiFlag(tags, obj); - + if (!resiWarnStats(obj)||!updateIcNatResiFlag(tags, obj)||!updateIcHouseResiNumber(obj)){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"消费失败,等待重新消费"); + } } catch (RenException e) { // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 - logger.error("【开放数据事件监听器】-客户居民信息变动MQ失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + logger.error("【开放数据事件监听器】-居民信息变动MQ失败:".concat(ExceptionUtils.getErrorStackTrace(e))); } catch (Exception e) { // 不是我们自己抛出的异常,可以让MQ重试 - logger.error("【开放数据事件监听器】-客户居民信息变动MQ失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + logger.error("【开放数据事件监听器】-居民信息变动MQ失败:".concat(ExceptionUtils.getErrorStackTrace(e))); throw e; - } finally { - distributedLock.unLock(lock); } if (StringUtils.isNotBlank(pendingMsgLabel)) { @@ -96,31 +91,97 @@ public class ICWarnStatsEventListener implements MessageListenerConcurrently { } } + private boolean resiWarnStats(IcResiUserAddMQMsg obj) { + DistributedLock distributedLock = null; + RLock lock = null; + try { + if (StringUtils.isBlank(obj.getCustomerId())) { + log.warn("resiWarnStats param is error"); + return true; + } + distributedLock = SpringContextUtils.getBean(DistributedLock.class); + lock = distributedLock.getLock(String.format("lock:ic_warn_stats:%s", obj.getCustomerId()), + 30L, 30L, TimeUnit.SECONDS); + SpringContextUtils.getBean(StatsResiWarnService.class).resiWarn(obj.getCustomerId()); + log.debug("【居民信息变动】resiWarnStats param customerId:{}", JSON.toJSONString(obj)); + + } catch (Exception e) { + log.error("resiWarnStats exception", e); + return false; + } finally { + if (distributedLock != null){ + distributedLock.unLock(lock); + } + } + return true; + } + + /** + * desc:根据客户id更新 每个房屋内居民的总数 + * @param obj + * @return + * @remark 因为使用了线程 所以结果不用关心 + */ + private boolean updateIcHouseResiNumber(IcResiUserAddMQMsg obj) { + DistributedLock distributedLock = null; + RLock lock = null; + try { + if (StringUtils.isBlank(obj.getCustomerId())) { + log.warn("updateIcHouseResiNumber param is error"); + return true; + } + distributedLock = SpringContextUtils.getBean(DistributedLock.class); + lock = distributedLock.getLock(String.format("lock:update_house_resi_number:%s", obj.getCustomerId()), + 30L, 30L, TimeUnit.SECONDS); + SpringContextUtils.getBean(IcResiUserService.class).updateIcHouseResiNumber(obj.getCustomerId()); + log.debug("【居民信息变动】updateIcHouseResiNumber param customerId & icResiUserId:{}", JSON.toJSONString(obj)); + } catch (Exception e) { + log.error("updateIcHouseResiNumber exception", e); + return false; + } finally { + if (distributedLock != null){ + distributedLock.unLock(lock); + } + } + return true; + } + /** * desc:根据居民Id更新 核酸检测的是否居民状态(只有新增和删除时调用) - * @param tags + * @param tags * @param obj + * @return */ - private void updateIcNatResiFlag(String tags, IcResiUserAddMQMsg obj) { + private boolean updateIcNatResiFlag(String tags, IcResiUserAddMQMsg obj) { + DistributedLock distributedLock = null; + RLock lock = null; try { - if (StringUtils.isBlank(obj.getCustomerId())||StringUtils.isBlank(obj.getIcResiUser())){ + if (StringUtils.isBlank(obj.getCustomerId()) || StringUtils.isBlank(obj.getIcResiUser())) { log.warn("updateIcNatResiFlag param is error"); - return; + return true; } + distributedLock = SpringContextUtils.getBean(DistributedLock.class); + lock = distributedLock.getLock(String.format("lock:ic_nat_resi_flag:%s", obj.getCustomerId()), + 30L, 30L, TimeUnit.SECONDS); if (SystemMessageType.IC_RESI_USER_ADD.equals(tags) || SystemMessageType.IC_RESI_USER_DEL.equals(tags)) { Integer effectRow = SpringContextUtils.getBean(IcNatService.class).updateIsResiFlag(obj.getCustomerId(), obj.getIcResiUser()); - log.debug("updateIcNatResiFlag effectRow:{},param customerId & icResiUserId:{}", effectRow, JSON.toJSONString(obj)); + log.debug("【居民信息变动】updateIcNatResiFlag effectRow:{},param customerId & icResiUserId:{}", effectRow, JSON.toJSONString(obj)); } } catch (Exception e) { log.error("updateIcNatResiFlag exception", e); + return false; + } finally { + if (distributedLock != null){ + distributedLock.unLock(lock); + } } + return true; } /** - * @description - * * @param pendingMsgLabel * @return + * @description * @author wxz * @date 2021.10.14 16:32:32 */ 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 3a7879cbf1..30d81e9e21 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 @@ -335,7 +335,7 @@ public interface IcResiUserService extends BaseService { SyncResiResDTO checkUser(String customerId, String idCard, String agencyId); /** - * desc:条件获取居民基础信息 + * desc:条件获取居民基础信息 按照房屋分组 * * @param formDTO * @return @@ -455,4 +455,21 @@ public interface IcResiUserService extends BaseService { */ void setIcResiUserPids(IcResiUserEntity entity); + + /** + * 居民信息里的志愿者 + * 社区自组织-添加成员可用 + * @param customerId + * @param userId + * @return + */ + List queryVolunteerList(String customerId, String userId); + + /** + * desc:根据客户Id 更新房屋的 居民人数 + * @param customerId + * @return + */ + void updateIcHouseResiNumber(String customerId); + } 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 ff7bc63a33..fb8384b4a0 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 @@ -19,6 +19,7 @@ package com.epmet.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; @@ -60,6 +61,10 @@ import com.epmet.dto.result.demand.IcResiDemandDictDTO; import com.epmet.dto.result.demand.OptionDTO; import com.epmet.entity.*; import com.epmet.excel.support.ExportResiUserItemDTO; +import com.epmet.feign.EpmetAdminOpenFeignClient; +import com.epmet.feign.EpmetHeartOpenFeignClient; +import com.epmet.feign.GovOrgOpenFeignClient; +import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.feign.*; import com.epmet.opendata.dto.form.GetResidentDetailByIdCardFormDTO; import com.epmet.opendata.dto.form.SaveCaResidentUserFormDTO; @@ -91,6 +96,8 @@ import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Function; @@ -112,8 +119,6 @@ public class IcResiUserServiceImpl extends BaseServiceImpl categorieDtos = getResultDataOrThrowsException(operCustomizeOpenFeignClient.listOptionsByItemConditions(optionsQuery), - ServiceConstant.OPER_CUSTOMIZE_SERVER, - EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), - "【志愿者分布】志愿者简介-查询志愿者类别失败", - "【志愿者分布】志愿者简介-查询志愿者类别失败"); + List categorieDtos = getResultDataOrReturnNull(operCustomizeOpenFeignClient.listOptionsByItemConditions(optionsQuery), + ServiceConstant.OPER_CUSTOMIZE_SERVER); + + if (CollectionUtils.isEmpty(categorieDtos)) { + return new HashMap(); + } return categorieDtos.stream() .collect(Collectors.toMap(IcFormItemOptionsDTO::getOptionValue, IcFormItemOptionsDTO::getOptionLabel)); @@ -2560,7 +2564,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl queryVolunteerList(String customerId, String userId) { + CustomerStaffInfoCacheResult staffInfo=CustomerStaffRedis.getStaffInfo(customerId,userId); + if (null == staffInfo || StringUtils.isBlank(staffInfo.getAgencyId())) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"查询当前登录用户信息异常"); + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcResiUserEntity::getCustomerId, customerId); + wrapper.and(wq -> wq.eq(IcResiUserEntity::getAgencyId, staffInfo.getAgencyId()).or().like(IcResiUserEntity::getPids, staffInfo.getAgencyId())); + wrapper.eq(IcResiUserEntity::getIsVolunteer, NumConstant.ONE_STR); + wrapper.eq(IcResiUserEntity::getStatus, NumConstant.ZERO_STR); + //只查这几列吧 + wrapper.select(IcResiUserEntity::getId, IcResiUserEntity::getName, IcResiUserEntity::getMobile); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + return list.stream().map(item -> { + ResiVolunteerSelectDTO dto = new ResiVolunteerSelectDTO(); + dto.setValue(item.getId()); + dto.setIcResiUserId(item.getId()); + dto.setMobile(item.getMobile()); + dto.setName(item.getName()); + if (StringUtils.isNotBlank(item.getMobile())) { + dto.setLabel(item.getName().concat("(").concat(item.getMobile().concat(")"))); + } else { + dto.setLabel(item.getName()); + } + return dto; + }).collect(Collectors.toList()); + } + + @Override + public void updateIcHouseResiNumber(String customerId) { + + Future submit = executorService.submit(() -> { + int pageNo = 1; + int pageSize = NumConstant.TEN_THOUSAND; + Page> houseReisCountListPage = null; + String key = RedisKeys.getUpdateHouseResiNumer(customerId); + redisUtils.delete(key); + do { + houseReisCountListPage = PageHelper.startPage(pageNo++, pageSize, false) + .doSelectPage(() -> baseDao.getResiUserCountGroupHomeId(customerId)); + System.out.println(houseReisCountListPage.getResult().size()); + List> result = houseReisCountListPage.getResult(); + Result effectRowResult = govOrgOpenFeignClient.updateIcHouseResiNumber(result); + if (effectRowResult == null || !effectRowResult.success()){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"调用org服务失败"); + } + log.debug("updateIcHouseResiNumber org effectRowResult:{}",JSON.toJSONString(effectRowResult)); + + } while (houseReisCountListPage.getResult().size() == pageSize); + log.info("updateIcHouseResiNumber 执行完毕"); + }); + } + /** * 目前只返回id,和姓名 * @param icResiUserIdList diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 2d9fd42f5d..711505d7ea 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -1165,6 +1165,9 @@ AND customer_id = #{customerId} AND DEL_FLAG = '0' +