diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcResiCategoryStatsConfigDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcResiCategoryStatsConfigDTO.java
new file mode 100644
index 0000000000..1eb4516551
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcResiCategoryStatsConfigDTO.java
@@ -0,0 +1,116 @@
+/**
+ * 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;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Data
+public class IcResiCategoryStatsConfigDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ private String id;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 项标签
+ */
+ private String label;
+
+ /**
+ * 表名
+ */
+ private String tableName;
+
+ /**
+ * 列名
+ */
+ private String columnName;
+
+ /**
+ * 管理平台分类图标
+ */
+ private String managementIcon;
+
+ /**
+ * 数据平台分类图标
+ */
+ private String dataIcon;
+
+ /**
+ * 房屋显示分类图标
+ */
+ private String houseShowIcon;
+
+ /**
+ * 状态 显示:show;隐藏:hidden
+ */
+ private String status;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 删除标识:0.未删除 1.已删除
+ */
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private String revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private String createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcResiCategoryWarnConfigDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcResiCategoryWarnConfigDTO.java
new file mode 100644
index 0000000000..b4a2609d5e
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcResiCategoryWarnConfigDTO.java
@@ -0,0 +1,111 @@
+/**
+ * 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;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * 居民类别预警配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Data
+public class IcResiCategoryWarnConfigDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ private String id;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 项标签
+ */
+ private String label;
+
+ /**
+ * 表名
+ */
+ private String tableName;
+
+ /**
+ * 列名
+ */
+ private String columnName;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 等级1阈值
+ */
+ private Integer level1;
+
+ /**
+ * 等级2阈值
+ */
+ private Integer level2;
+
+ /**
+ * 等级3阈值
+ */
+ private Integer level3;
+
+ /**
+ * 删除标识:0.未删除 1.已删除
+ */
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private String revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private String createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigFormDTO.java
new file mode 100644
index 0000000000..cb9082c985
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigFormDTO.java
@@ -0,0 +1,80 @@
+/**
+ * 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.form;
+
+import com.epmet.commons.tools.validator.group.UpdateGroup;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Data
+public class IcResiCategoryStatsConfigFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+ public interface UpdateStatusGroup {}
+ public interface SelectGroup {}
+
+ /**
+ * id
+ */
+ @NotBlank(message = "配置项id不能为空",groups = {UpdateGroup.class,UpdateStatusGroup.class,SelectGroup.class})
+ private String id;
+
+ /**
+ * 管理平台分类图标
+ */
+ @NotBlank(message = "管理平台分类图标不能为空",groups = {UpdateGroup.class})
+ private String managementIcon;
+
+ /**
+ * 数据平台分类图标
+ */
+ @NotBlank(message = "管理平台分类图标不能为空",groups = {UpdateGroup.class})
+ private String dataIcon;
+
+ /**
+ * 房屋显示分类图标
+ */
+ @NotBlank(message = "管理平台分类图标不能为空",groups = {UpdateGroup.class})
+ private String houseShowIcon;
+
+ /**
+ * 状态 显示:show;隐藏:hidden
+ */
+ @NotBlank(message = "状态不能为空",groups = {UpdateStatusGroup.class})
+ private String status;
+
+ @NotBlank(message = "是否预警",groups = {UpdateGroup.class})
+ private String warn;
+
+ private Integer level1;
+
+ private Integer level2;
+
+ private Integer level3;
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigSortFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigSortFormDTO.java
new file mode 100644
index 0000000000..b5e7347e4c
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigSortFormDTO.java
@@ -0,0 +1,51 @@
+/**
+ * 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.form;
+
+import com.epmet.commons.tools.validator.group.UpdateGroup;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Data
+public class IcResiCategoryStatsConfigSortFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ @NotBlank(message = "配置项id不能为空")
+ private String id;
+
+ /**
+ * 排序
+ */
+ @NotBlank(message = "排序不能为空")
+ private Integer sort;
+
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcResiCategoryStatsConfigResultDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcResiCategoryStatsConfigResultDTO.java
new file mode 100644
index 0000000000..d9199b99cc
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcResiCategoryStatsConfigResultDTO.java
@@ -0,0 +1,88 @@
+/**
+ * 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;
+import java.util.Date;
+
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Data
+public class IcResiCategoryStatsConfigResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ private String id;
+
+
+ /**
+ * 项标签
+ */
+ private String label;
+
+
+
+ /**
+ * 管理平台分类图标
+ */
+ private String managementIcon;
+
+ /**
+ * 数据平台分类图标
+ */
+ private String dataIcon;
+
+ /**
+ * 房屋显示分类图标
+ */
+ private String houseShowIcon;
+
+ /**
+ * 状态 显示:show;隐藏:hidden
+ */
+ private String status;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ private String warn;
+ /**
+ * 等级1阈值
+ */
+ private Integer level1;
+ /**
+ * 等级2阈值
+ */
+ private Integer level2;
+ /**
+ * 等级3阈值
+ */
+ private Integer level3;
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/IcResiCategoryStatsConfigConstant.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/IcResiCategoryStatsConfigConstant.java
new file mode 100644
index 0000000000..9919ca35f6
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/IcResiCategoryStatsConfigConstant.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2018 人人开源 All rights reserved.
+ *
+ * https://www.renren.io
+ *
+ * 版权所有,侵权必究!
+ */
+
+package com.epmet.constant;
+
+/**
+ * 常量
+ * @author sun
+ * @since 1.0.0
+ */
+public interface IcResiCategoryStatsConfigConstant {
+ /**
+ * 是否需要预警
+ */
+ String WARN_YES = "1";
+ String WARN_NO = "0";
+
+ String IC_RESI_USER = "ic_resi_user";
+
+
+}
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryStatsConfigController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryStatsConfigController.java
new file mode 100644
index 0000000000..f088a65265
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryStatsConfigController.java
@@ -0,0 +1,94 @@
+/**
+ * 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.controller;
+
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.ExcelUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.AssertUtils;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.commons.tools.validator.group.AddGroup;
+import com.epmet.commons.tools.validator.group.UpdateGroup;
+import com.epmet.commons.tools.validator.group.DefaultGroup;
+import com.epmet.dto.IcResiCategoryStatsConfigDTO;
+import com.epmet.excel.IcResiCategoryStatsConfigExcel;
+import com.epmet.service.IcResiCategoryStatsConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@RestController
+@RequestMapping("icresicategorystatsconfig")
+public class IcResiCategoryStatsConfigController {
+
+ @Autowired
+ private IcResiCategoryStatsConfigService icResiCategoryStatsConfigService;
+
+ @GetMapping("page")
+ public Result> page(@RequestParam Map params){
+ PageData page = icResiCategoryStatsConfigService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @GetMapping("{id}")
+ public Result get(@PathVariable("id") String id){
+ IcResiCategoryStatsConfigDTO data = icResiCategoryStatsConfigService.get(id);
+ return new Result().ok(data);
+ }
+
+ @PostMapping
+ public Result save(@RequestBody IcResiCategoryStatsConfigDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+ icResiCategoryStatsConfigService.save(dto);
+ return new Result();
+ }
+
+ @PutMapping
+ public Result update(@RequestBody IcResiCategoryStatsConfigDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+ icResiCategoryStatsConfigService.update(dto);
+ return new Result();
+ }
+
+ @DeleteMapping
+ public Result delete(@RequestBody String[] ids){
+ //效验数据
+ AssertUtils.isArrayEmpty(ids, "id");
+ icResiCategoryStatsConfigService.delete(ids);
+ return new Result();
+ }
+
+ @GetMapping("export")
+ public void export(@RequestParam Map params, HttpServletResponse response) throws Exception {
+ List list = icResiCategoryStatsConfigService.list(params);
+ ExcelUtils.exportExcelToTarget(response, null, list, IcResiCategoryStatsConfigExcel.class);
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryWarnConfigController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryWarnConfigController.java
new file mode 100644
index 0000000000..5e1ac6667b
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryWarnConfigController.java
@@ -0,0 +1,94 @@
+/**
+ * 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.controller;
+
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.ExcelUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.AssertUtils;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.commons.tools.validator.group.AddGroup;
+import com.epmet.commons.tools.validator.group.UpdateGroup;
+import com.epmet.commons.tools.validator.group.DefaultGroup;
+import com.epmet.dto.IcResiCategoryWarnConfigDTO;
+import com.epmet.excel.IcResiCategoryWarnConfigExcel;
+import com.epmet.service.IcResiCategoryWarnConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 居民类别预警配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@RestController
+@RequestMapping("icresicategorywarnconfig")
+public class IcResiCategoryWarnConfigController {
+
+ @Autowired
+ private IcResiCategoryWarnConfigService icResiCategoryWarnConfigService;
+
+ @GetMapping("page")
+ public Result> page(@RequestParam Map params){
+ PageData page = icResiCategoryWarnConfigService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @GetMapping("{id}")
+ public Result get(@PathVariable("id") String id){
+ IcResiCategoryWarnConfigDTO data = icResiCategoryWarnConfigService.get(id);
+ return new Result().ok(data);
+ }
+
+ @PostMapping
+ public Result save(@RequestBody IcResiCategoryWarnConfigDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+ icResiCategoryWarnConfigService.save(dto);
+ return new Result();
+ }
+
+ @PutMapping
+ public Result update(@RequestBody IcResiCategoryWarnConfigDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+ icResiCategoryWarnConfigService.update(dto);
+ return new Result();
+ }
+
+ @DeleteMapping
+ public Result delete(@RequestBody String[] ids){
+ //效验数据
+ AssertUtils.isArrayEmpty(ids, "id");
+ icResiCategoryWarnConfigService.delete(ids);
+ return new Result();
+ }
+
+ @GetMapping("export")
+ public void export(@RequestParam Map params, HttpServletResponse response) throws Exception {
+ List list = icResiCategoryWarnConfigService.list(params);
+ ExcelUtils.exportExcelToTarget(response, null, list, IcResiCategoryWarnConfigExcel.class);
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java
new file mode 100644
index 0000000000..be1a538f1b
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java
@@ -0,0 +1,107 @@
+/**
+ * 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.controller;
+
+import com.epmet.commons.tools.annotation.LoginUser;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.commons.tools.utils.ExcelUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.AssertUtils;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.commons.tools.validator.group.AddGroup;
+import com.epmet.commons.tools.validator.group.DefaultGroup;
+import com.epmet.commons.tools.validator.group.UpdateGroup;
+import com.epmet.dto.IcResiCategoryStatsConfigDTO;
+import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO;
+import com.epmet.dto.form.IcResiCategoryStatsConfigSortFormDTO;
+import com.epmet.dto.form.UpGovRoleFormDTO;
+import com.epmet.dto.result.IcResiCategoryStatsConfigResultDTO;
+import com.epmet.excel.IcResiCategoryStatsConfigExcel;
+import com.epmet.service.IcResiCategoryStatsConfigService;
+import com.epmet.service.ResiCategoryStatsConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@RestController
+@RequestMapping("resicategorystatsconfig")
+public class ResiCategoryStatsConfigController {
+
+ @Autowired
+ private IcResiCategoryStatsConfigService icResiCategoryStatsConfigService;
+ @Autowired
+ private ResiCategoryStatsConfigService resiCategoryStatsConfigService;
+
+
+ /**
+ * 居民类别配置列表
+ * @return
+ */
+ @PostMapping("list")
+ public Result> list(@LoginUser TokenDto tokenDTO){
+ String customerId = tokenDTO.getCustomerId();
+// String customerId = "123123";
+ return new Result>().ok(resiCategoryStatsConfigService.list(customerId));
+ }
+
+ @PostMapping("update")
+ public Result update(@LoginUser TokenDto tokenDTO,@RequestBody IcResiCategoryStatsConfigFormDTO formDTO){
+ ValidatorUtils.validateEntity(formDTO, UpdateGroup.class);
+ String customerId = tokenDTO.getCustomerId();
+// String customerId = "123123";
+ resiCategoryStatsConfigService.update(customerId,formDTO);
+ return new Result();
+ }
+ @PostMapping("updatestatus")
+ public Result updateStatus(@LoginUser TokenDto tokenDTO,@RequestBody IcResiCategoryStatsConfigFormDTO formDTO){
+ ValidatorUtils.validateEntity(formDTO, IcResiCategoryStatsConfigFormDTO.UpdateStatusGroup.class);
+ String customerId = tokenDTO.getCustomerId();
+// String customerId = "123123";
+ resiCategoryStatsConfigService.updateStatus(customerId,formDTO);
+ return new Result();
+ }
+ @PostMapping("updatesort")
+ public Result updateSort(@LoginUser TokenDto tokenDTO,@RequestBody List formDTOs){
+ for(IcResiCategoryStatsConfigSortFormDTO dto : formDTOs){
+ ValidatorUtils.validateEntity(dto);
+ }
+ String customerId = tokenDTO.getCustomerId();
+// String customerId = "123123";
+ resiCategoryStatsConfigService.updateSort(customerId,formDTOs);
+ return new Result();
+ }
+
+ @PostMapping("info")
+ public Result info(@LoginUser TokenDto tokenDTO,@RequestBody IcResiCategoryStatsConfigFormDTO formDTO){
+ ValidatorUtils.validateEntity(formDTO, IcResiCategoryStatsConfigFormDTO.SelectGroup.class);
+ return new Result().ok(resiCategoryStatsConfigService.info(formDTO.getId()));
+ }
+
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcResiCategoryStatsConfigDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcResiCategoryStatsConfigDao.java
new file mode 100644
index 0000000000..bb55c52594
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcResiCategoryStatsConfigDao.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.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.IcResiCategoryStatsConfigEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Mapper
+public interface IcResiCategoryStatsConfigDao extends BaseDao {
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcResiCategoryWarnConfigDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcResiCategoryWarnConfigDao.java
new file mode 100644
index 0000000000..d9a9e0a2b0
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcResiCategoryWarnConfigDao.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.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.IcResiCategoryWarnConfigEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 居民类别预警配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Mapper
+public interface IcResiCategoryWarnConfigDao extends BaseDao {
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcResiCategoryStatsConfigEntity.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcResiCategoryStatsConfigEntity.java
new file mode 100644
index 0000000000..d0201db93d
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcResiCategoryStatsConfigEntity.java
@@ -0,0 +1,83 @@
+/**
+ * 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.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("ic_resi_category_stats_config")
+public class IcResiCategoryStatsConfigEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 项标签
+ */
+ private String label;
+
+ /**
+ * 表名
+ */
+ private String tableName;
+
+ /**
+ * 列名
+ */
+ private String columnName;
+
+ /**
+ * 管理平台分类图标
+ */
+ private String managementIcon;
+
+ /**
+ * 数据平台分类图标
+ */
+ private String dataIcon;
+
+ /**
+ * 房屋显示分类图标
+ */
+ private String houseShowIcon;
+
+ /**
+ * 状态 显示:show;隐藏:hidden
+ */
+ private String status;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+}
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcResiCategoryWarnConfigEntity.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcResiCategoryWarnConfigEntity.java
new file mode 100644
index 0000000000..a15c0c7958
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcResiCategoryWarnConfigEntity.java
@@ -0,0 +1,81 @@
+/**
+ * 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.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 2021-11-04
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("ic_resi_category_warn_config")
+public class IcResiCategoryWarnConfigEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 项标签
+ */
+ private String label;
+
+ /**
+ * 表名
+ */
+ private String tableName;
+
+ /**
+ * 列名
+ */
+ private String columnName;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 等级1阈值
+ */
+ private Integer level1;
+
+ /**
+ * 等级2阈值
+ */
+ private Integer level2;
+
+ /**
+ * 等级3阈值
+ */
+ private Integer level3;
+
+}
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/IcResiCategoryStatsConfigExcel.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/IcResiCategoryStatsConfigExcel.java
new file mode 100644
index 0000000000..1e8f335885
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/IcResiCategoryStatsConfigExcel.java
@@ -0,0 +1,83 @@
+/**
+ * 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.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Data
+public class IcResiCategoryStatsConfigExcel {
+
+ @Excel(name = "id")
+ private String id;
+
+ @Excel(name = "客户id")
+ private String customerId;
+
+ @Excel(name = "项标签")
+ private String label;
+
+ @Excel(name = "表名")
+ private String tableName;
+
+ @Excel(name = "列名")
+ private String columnName;
+
+ @Excel(name = "管理平台分类图标")
+ private String managementIcon;
+
+ @Excel(name = "数据平台分类图标")
+ private String dataIcon;
+
+ @Excel(name = "房屋显示分类图标")
+ private String houseShowIcon;
+
+ @Excel(name = "状态 显示:show;隐藏:hidden")
+ private String status;
+
+ @Excel(name = "排序")
+ private Integer sort;
+
+ @Excel(name = "删除标识:0.未删除 1.已删除")
+ private String delFlag;
+
+ @Excel(name = "乐观锁")
+ private String revision;
+
+ @Excel(name = "创建人")
+ private String createdBy;
+
+ @Excel(name = "创建时间")
+ private String createdTime;
+
+ @Excel(name = "更新人")
+ private String updatedBy;
+
+ @Excel(name = "更新时间")
+ private Date updatedTime;
+
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/IcResiCategoryWarnConfigExcel.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/IcResiCategoryWarnConfigExcel.java
new file mode 100644
index 0000000000..d9d5edf543
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/IcResiCategoryWarnConfigExcel.java
@@ -0,0 +1,80 @@
+/**
+ * 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.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 居民类别预警配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Data
+public class IcResiCategoryWarnConfigExcel {
+
+ @Excel(name = "id")
+ private String id;
+
+ @Excel(name = "客户id")
+ private String customerId;
+
+ @Excel(name = "项标签")
+ private String label;
+
+ @Excel(name = "表名")
+ private String tableName;
+
+ @Excel(name = "列名")
+ private String columnName;
+
+ @Excel(name = "排序")
+ private Integer sort;
+
+ @Excel(name = "等级1阈值")
+ private Integer level1;
+
+ @Excel(name = "等级2阈值")
+ private Integer level2;
+
+ @Excel(name = "等级3阈值")
+ private Integer level3;
+
+ @Excel(name = "删除标识:0.未删除 1.已删除")
+ private String delFlag;
+
+ @Excel(name = "乐观锁")
+ private String revision;
+
+ @Excel(name = "创建人")
+ private String createdBy;
+
+ @Excel(name = "创建时间")
+ private String createdTime;
+
+ @Excel(name = "更新人")
+ private String updatedBy;
+
+ @Excel(name = "更新时间")
+ private Date updatedTime;
+
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/IcResiCategoryStatsConfigRedis.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/IcResiCategoryStatsConfigRedis.java
new file mode 100644
index 0000000000..789965c0c9
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/IcResiCategoryStatsConfigRedis.java
@@ -0,0 +1,47 @@
+/**
+ * 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.redis;
+
+import com.epmet.commons.tools.redis.RedisUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Component
+public class IcResiCategoryStatsConfigRedis {
+ @Autowired
+ private RedisUtils redisUtils;
+
+ public void delete(Object[] ids) {
+
+ }
+
+ public void set(){
+
+ }
+
+ public String get(String id){
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/IcResiCategoryWarnConfigRedis.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/IcResiCategoryWarnConfigRedis.java
new file mode 100644
index 0000000000..eee6ae7fc6
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/IcResiCategoryWarnConfigRedis.java
@@ -0,0 +1,47 @@
+/**
+ * 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.redis;
+
+import com.epmet.commons.tools.redis.RedisUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 居民类别预警配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Component
+public class IcResiCategoryWarnConfigRedis {
+ @Autowired
+ private RedisUtils redisUtils;
+
+ public void delete(Object[] ids) {
+
+ }
+
+ public void set(){
+
+ }
+
+ public String get(String id){
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryStatsConfigService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryStatsConfigService.java
new file mode 100644
index 0000000000..b7c5938162
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryStatsConfigService.java
@@ -0,0 +1,95 @@
+/**
+ * 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.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.dto.IcResiCategoryStatsConfigDTO;
+import com.epmet.entity.IcResiCategoryStatsConfigEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+public interface IcResiCategoryStatsConfigService extends BaseService {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2021-11-04
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2021-11-04
+ */
+ List list(Map params);
+
+ /**
+ * 单条查询
+ *
+ * @param id
+ * @return IcResiCategoryStatsConfigDTO
+ * @author generator
+ * @date 2021-11-04
+ */
+ IcResiCategoryStatsConfigDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-11-04
+ */
+ void save(IcResiCategoryStatsConfigDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-11-04
+ */
+ void update(IcResiCategoryStatsConfigDTO dto);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2021-11-04
+ */
+ void delete(String[] ids);
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryWarnConfigService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryWarnConfigService.java
new file mode 100644
index 0000000000..bef9c7360f
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryWarnConfigService.java
@@ -0,0 +1,95 @@
+/**
+ * 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.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.dto.IcResiCategoryWarnConfigDTO;
+import com.epmet.entity.IcResiCategoryWarnConfigEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 居民类别预警配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+public interface IcResiCategoryWarnConfigService extends BaseService {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2021-11-04
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2021-11-04
+ */
+ List list(Map params);
+
+ /**
+ * 单条查询
+ *
+ * @param id
+ * @return IcResiCategoryWarnConfigDTO
+ * @author generator
+ * @date 2021-11-04
+ */
+ IcResiCategoryWarnConfigDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-11-04
+ */
+ void save(IcResiCategoryWarnConfigDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-11-04
+ */
+ void update(IcResiCategoryWarnConfigDTO dto);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2021-11-04
+ */
+ void delete(String[] ids);
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/ResiCategoryStatsConfigService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/ResiCategoryStatsConfigService.java
new file mode 100644
index 0000000000..9f351d91b4
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/ResiCategoryStatsConfigService.java
@@ -0,0 +1,48 @@
+/**
+ * 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.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.dto.IcResiCategoryStatsConfigDTO;
+import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO;
+import com.epmet.dto.form.IcResiCategoryStatsConfigSortFormDTO;
+import com.epmet.dto.result.IcResiCategoryStatsConfigResultDTO;
+import com.epmet.entity.IcResiCategoryStatsConfigEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+public interface ResiCategoryStatsConfigService {
+
+ List list(String customerId);
+
+ IcResiCategoryStatsConfigResultDTO info(String id);
+
+ void update(String customerId,IcResiCategoryStatsConfigFormDTO formDTO);
+
+ void updateStatus(String customerId,IcResiCategoryStatsConfigFormDTO formDTO);
+
+ void updateSort(String customerId,List formDTOs);
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryStatsConfigServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryStatsConfigServiceImpl.java
new file mode 100644
index 0000000000..368ecec876
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryStatsConfigServiceImpl.java
@@ -0,0 +1,104 @@
+/**
+ * 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.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.constant.FieldConstant;
+import com.epmet.dao.IcResiCategoryStatsConfigDao;
+import com.epmet.dto.IcResiCategoryStatsConfigDTO;
+import com.epmet.entity.IcResiCategoryStatsConfigEntity;
+import com.epmet.redis.IcResiCategoryStatsConfigRedis;
+import com.epmet.service.IcResiCategoryStatsConfigService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Service
+public class IcResiCategoryStatsConfigServiceImpl extends BaseServiceImpl implements IcResiCategoryStatsConfigService {
+
+ @Autowired
+ private IcResiCategoryStatsConfigRedis icResiCategoryStatsConfigRedis;
+
+ @Override
+ public PageData page(Map params) {
+ IPage page = baseDao.selectPage(
+ getPage(params, FieldConstant.CREATED_TIME, false),
+ getWrapper(params)
+ );
+ return getPageData(page, IcResiCategoryStatsConfigDTO.class);
+ }
+
+ @Override
+ public List list(Map params) {
+ List entityList = baseDao.selectList(getWrapper(params));
+
+ return ConvertUtils.sourceToTarget(entityList, IcResiCategoryStatsConfigDTO.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 IcResiCategoryStatsConfigDTO get(String id) {
+ IcResiCategoryStatsConfigEntity entity = baseDao.selectById(id);
+ return ConvertUtils.sourceToTarget(entity, IcResiCategoryStatsConfigDTO.class);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(IcResiCategoryStatsConfigDTO dto) {
+ IcResiCategoryStatsConfigEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCategoryStatsConfigEntity.class);
+ insert(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(IcResiCategoryStatsConfigDTO dto) {
+ IcResiCategoryStatsConfigEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCategoryStatsConfigEntity.class);
+ updateById(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(String[] ids) {
+ // 逻辑删除(@TableLogic 注解)
+ baseDao.deleteBatchIds(Arrays.asList(ids));
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryWarnConfigServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryWarnConfigServiceImpl.java
new file mode 100644
index 0000000000..3235b04f0d
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryWarnConfigServiceImpl.java
@@ -0,0 +1,104 @@
+/**
+ * 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.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.constant.FieldConstant;
+import com.epmet.dao.IcResiCategoryWarnConfigDao;
+import com.epmet.dto.IcResiCategoryWarnConfigDTO;
+import com.epmet.entity.IcResiCategoryWarnConfigEntity;
+import com.epmet.redis.IcResiCategoryWarnConfigRedis;
+import com.epmet.service.IcResiCategoryWarnConfigService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 居民类别预警配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Service
+public class IcResiCategoryWarnConfigServiceImpl extends BaseServiceImpl implements IcResiCategoryWarnConfigService {
+
+ @Autowired
+ private IcResiCategoryWarnConfigRedis icResiCategoryWarnConfigRedis;
+
+ @Override
+ public PageData page(Map params) {
+ IPage page = baseDao.selectPage(
+ getPage(params, FieldConstant.CREATED_TIME, false),
+ getWrapper(params)
+ );
+ return getPageData(page, IcResiCategoryWarnConfigDTO.class);
+ }
+
+ @Override
+ public List list(Map params) {
+ List entityList = baseDao.selectList(getWrapper(params));
+
+ return ConvertUtils.sourceToTarget(entityList, IcResiCategoryWarnConfigDTO.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 IcResiCategoryWarnConfigDTO get(String id) {
+ IcResiCategoryWarnConfigEntity entity = baseDao.selectById(id);
+ return ConvertUtils.sourceToTarget(entity, IcResiCategoryWarnConfigDTO.class);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(IcResiCategoryWarnConfigDTO dto) {
+ IcResiCategoryWarnConfigEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCategoryWarnConfigEntity.class);
+ insert(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(IcResiCategoryWarnConfigDTO dto) {
+ IcResiCategoryWarnConfigEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCategoryWarnConfigEntity.class);
+ updateById(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(String[] ids) {
+ // 逻辑删除(@TableLogic 注解)
+ baseDao.deleteBatchIds(Arrays.asList(ids));
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java
new file mode 100644
index 0000000000..c5003a5d78
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java
@@ -0,0 +1,264 @@
+package com.epmet.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.epmet.constant.IcResiCategoryStatsConfigConstant;
+import com.epmet.dao.IcFormItemDao;
+import com.epmet.dao.IcFormItemGroupDao;
+import com.epmet.dao.IcResiCategoryStatsConfigDao;
+import com.epmet.dao.IcResiCategoryWarnConfigDao;
+import com.epmet.dto.IcResiCategoryStatsConfigDTO;
+import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO;
+import com.epmet.dto.form.IcResiCategoryStatsConfigSortFormDTO;
+import com.epmet.dto.result.IcResiCategoryStatsConfigResultDTO;
+import com.epmet.entity.IcFormItemEntity;
+import com.epmet.entity.IcFormItemGroupEntity;
+import com.epmet.entity.IcResiCategoryStatsConfigEntity;
+import com.epmet.entity.IcResiCategoryWarnConfigEntity;
+import com.epmet.service.IcResiCategoryStatsConfigService;
+import com.epmet.service.IcResiCategoryWarnConfigService;
+import com.epmet.service.ResiCategoryStatsConfigService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Slf4j
+@Service
+public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConfigService {
+ @Autowired
+ private IcResiCategoryStatsConfigService icResiCategoryStatsConfigService;
+
+ @Resource
+ private IcFormItemDao icFormItemDao;
+ @Resource
+ private IcFormItemGroupDao icFormItemGroupDao;
+ @Resource
+ private IcResiCategoryStatsConfigDao icResiCategoryStatsConfigDao;
+ @Resource
+ private IcResiCategoryWarnConfigDao icResiCategoryWarnConfigDao;
+ @Autowired
+ private IcResiCategoryWarnConfigService icResiCategoryWarnConfigService;
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public List list(String customerId) {
+ //1.获取IC_FORM_ITEM 中 用于数据分析字段的 id 和label
+ List icFormItemEntityList = icFormItemDao.selectList(new QueryWrapper().lambda().eq(IcFormItemEntity::getDataAnalyse, 1));
+ if(CollectionUtils.isEmpty(icFormItemEntityList)){
+ return new ArrayList<>();
+ }
+ Set groupIds = icFormItemEntityList.stream().filter(item-> !"0".equals(item.getItemGroupId())).map(item->item.getItemGroupId()).collect(Collectors.toSet());
+ List icFormItemGroupEntityList = icFormItemGroupDao.selectList(new QueryWrapper().lambda().in(IcFormItemGroupEntity::getId, groupIds));
+ //获取tableName和COLUMN_NAME
+ Map tableColumnMap = new HashMap<>();
+ Map idTableMap = new HashMap<>();
+ icFormItemEntityList.forEach(item->{
+ Map map = new HashMap<>();
+ if("0".equals(item.getItemGroupId())){
+ tableColumnMap.put(IcResiCategoryStatsConfigConstant.IC_RESI_USER+"-"+item.getColumnName(),item);
+ idTableMap.put(item.getId(),IcResiCategoryStatsConfigConstant.IC_RESI_USER);
+ }else{
+ List collect = icFormItemGroupEntityList.stream().filter(i -> item.getItemGroupId().equals(i.getId())).collect(Collectors.toList());
+ tableColumnMap.put(CollectionUtils.isEmpty(collect)?IcResiCategoryStatsConfigConstant.IC_RESI_USER:collect.get(0).getTableName()+"-"+item.getColumnName(),item);
+ idTableMap.put(item.getId(),CollectionUtils.isEmpty(collect)?IcResiCategoryStatsConfigConstant.IC_RESI_USER:collect.get(0).getTableName());
+ }
+
+ });
+
+ //2.获取ic_resi_category_stats_config 和 ic_resi_category_warn_config 表中的数据
+ List statsConfigEntityList = icResiCategoryStatsConfigDao.selectList(null);
+ List warnConfigEntityList = icResiCategoryWarnConfigDao.selectList(null);
+ //3.新增不存在的,删除不在tableColumnMap的
+
+ Map statsTableColumnMap = new HashMap<>();
+ statsConfigEntityList.stream().forEach(item->{
+ statsTableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item);
+ });
+ Map warnTableColumnMap = new HashMap<>();
+ warnConfigEntityList.stream().forEach(item->{
+ warnTableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item);
+ });
+ //差集
+ //新增
+ List newStatsList = tableColumnMap.keySet().stream().filter(item -> !statsTableColumnMap.keySet().contains(item)).collect(Collectors.toList());
+
+ List newStatsEntityList = new ArrayList<>();
+ newStatsList.forEach(item->{
+ IcFormItemEntity icFormItemEntity = tableColumnMap.get(item);
+ IcResiCategoryStatsConfigEntity entity = new IcResiCategoryStatsConfigEntity();
+ entity.setCustomerId(customerId);
+ entity.setLabel(icFormItemEntity.getLabel());
+ entity.setTableName(idTableMap.get(icFormItemEntity.getId()));
+ entity.setColumnName(icFormItemEntity.getColumnName());
+ entity.setManagementIcon("");
+ entity.setDataIcon("");
+ entity.setHouseShowIcon("");
+ entity.setStatus("show");
+ entity.setSort(0);
+ newStatsEntityList.add(entity);
+ });
+ if(!CollectionUtils.isEmpty(newStatsEntityList)){
+ icResiCategoryStatsConfigService.insertBatch(newStatsEntityList);
+ }
+
+ List delStatsEntityIdList = new ArrayList<>();
+ List delWarnEntityIdList = new ArrayList<>();
+ //需要删除的
+ List delStatsList = statsTableColumnMap.keySet().stream().filter(item -> !tableColumnMap.keySet().contains(item)).collect(Collectors.toList());
+ List delWarnList = warnTableColumnMap.keySet().stream().filter(item -> !tableColumnMap.keySet().contains(item)).collect(Collectors.toList());
+ delStatsList.forEach(item->{
+ delStatsEntityIdList.add(statsTableColumnMap.get(item).getId());
+ });
+ delWarnList.forEach(item->{
+ delWarnEntityIdList.add(warnTableColumnMap.get(item).getId());
+ });
+ if(!CollectionUtils.isEmpty(delStatsEntityIdList)){
+ icResiCategoryStatsConfigService.deleteBatchIds(delStatsEntityIdList);
+ }
+ if(!CollectionUtils.isEmpty(delWarnEntityIdList)){
+ icResiCategoryWarnConfigService.deleteBatchIds(delWarnEntityIdList);
+ }
+
+ //4.返回数据
+ List statsConfigList = icResiCategoryStatsConfigDao.selectList(new QueryWrapper().lambda().orderByAsc(IcResiCategoryStatsConfigEntity::getSort));
+ List warnConfigList = icResiCategoryWarnConfigDao.selectList(null);
+ Map warnMap =new HashMap<>();
+ warnConfigList.forEach(item->{
+ warnMap.put(item.getTableName()+"-"+item.getColumnName(),item);
+ });
+ List result = new ArrayList<>();
+ statsConfigList.forEach(item->{
+ IcResiCategoryStatsConfigResultDTO icResiCategoryStatsConfigResultDTO = new IcResiCategoryStatsConfigResultDTO();
+ icResiCategoryStatsConfigResultDTO.setId(item.getId());
+ icResiCategoryStatsConfigResultDTO.setLabel(item.getLabel());
+ icResiCategoryStatsConfigResultDTO.setManagementIcon(item.getManagementIcon());
+ icResiCategoryStatsConfigResultDTO.setDataIcon(item.getDataIcon());
+ icResiCategoryStatsConfigResultDTO.setHouseShowIcon(item.getHouseShowIcon());
+ icResiCategoryStatsConfigResultDTO.setStatus(item.getStatus());
+ icResiCategoryStatsConfigResultDTO.setSort(item.getSort());
+ IcResiCategoryWarnConfigEntity warnConfigEntity = warnMap.get(item.getTableName() + "-" + item.getColumnName());
+ if(warnConfigEntity==null){
+ icResiCategoryStatsConfigResultDTO.setWarn(IcResiCategoryStatsConfigConstant.WARN_NO);
+ }else{
+ icResiCategoryStatsConfigResultDTO.setWarn(IcResiCategoryStatsConfigConstant.WARN_YES);
+ icResiCategoryStatsConfigResultDTO.setLevel1(warnConfigEntity.getLevel1());
+ icResiCategoryStatsConfigResultDTO.setLevel2(warnConfigEntity.getLevel2());
+ icResiCategoryStatsConfigResultDTO.setLevel3(warnConfigEntity.getLevel3());
+ }
+ result.add(icResiCategoryStatsConfigResultDTO);
+
+ });
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public IcResiCategoryStatsConfigResultDTO info(String id) {
+ IcResiCategoryStatsConfigResultDTO result =new IcResiCategoryStatsConfigResultDTO();
+ IcResiCategoryStatsConfigDTO icResiCategoryStatsConfigDTO = icResiCategoryStatsConfigService.get(id);
+ if(null == icResiCategoryStatsConfigDTO){
+ return result;
+ }
+ IcResiCategoryWarnConfigEntity icResiCategoryWarnConfigEntity = icResiCategoryWarnConfigDao.selectOne(new QueryWrapper().lambda()
+ .eq(IcResiCategoryWarnConfigEntity::getTableName, icResiCategoryStatsConfigDTO.getTableName())
+ .eq(IcResiCategoryWarnConfigEntity::getColumnName, icResiCategoryStatsConfigDTO.getColumnName()));
+
+// IcResiCategoryWarnConfigEntity icResiCategoryWarnConfigEntity = Optional.ofNullable(entity).orElse(new IcResiCategoryWarnConfigEntity());
+ result.setId(icResiCategoryStatsConfigDTO.getId());
+ result.setLabel(icResiCategoryStatsConfigDTO.getLabel());
+ result.setManagementIcon(icResiCategoryStatsConfigDTO.getManagementIcon());
+ result.setDataIcon(icResiCategoryStatsConfigDTO.getDataIcon());
+ result.setHouseShowIcon(icResiCategoryStatsConfigDTO.getHouseShowIcon());
+ result.setStatus(icResiCategoryStatsConfigDTO.getStatus());
+ result.setSort(icResiCategoryStatsConfigDTO.getSort());
+ result.setWarn(null==icResiCategoryWarnConfigEntity?IcResiCategoryStatsConfigConstant.WARN_NO:IcResiCategoryStatsConfigConstant.WARN_YES);
+ if(null!=icResiCategoryWarnConfigEntity){
+ result.setLevel1(icResiCategoryWarnConfigEntity.getLevel1());
+ result.setLevel2(icResiCategoryWarnConfigEntity.getLevel2());
+ result.setLevel3(icResiCategoryWarnConfigEntity.getLevel3());
+ }
+ return result;
+
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(String customerId,IcResiCategoryStatsConfigFormDTO formDTO) {
+ IcResiCategoryStatsConfigDTO icResiCategoryStatsConfigDTO = icResiCategoryStatsConfigService.get(formDTO.getId());
+ if(null == icResiCategoryStatsConfigDTO){
+ return ;
+ }
+ //更新配置类别
+ IcResiCategoryStatsConfigEntity icResiCategoryStatsConfigEntity = new IcResiCategoryStatsConfigEntity();
+ BeanUtils.copyProperties(formDTO,icResiCategoryStatsConfigEntity);
+ icResiCategoryStatsConfigEntity.setCustomerId(customerId);
+ icResiCategoryStatsConfigDao.updateById(icResiCategoryStatsConfigEntity);
+
+ //更新配置预警
+ if(IcResiCategoryStatsConfigConstant.WARN_YES.equals(formDTO.getWarn())){
+ //更新
+ IcResiCategoryWarnConfigEntity icResiCategoryWarnConfigEntity = icResiCategoryWarnConfigDao.selectOne(new QueryWrapper().lambda()
+ .eq(IcResiCategoryWarnConfigEntity::getTableName, icResiCategoryStatsConfigDTO.getTableName())
+ .eq(IcResiCategoryWarnConfigEntity::getColumnName, icResiCategoryStatsConfigDTO.getColumnName()));
+ if(null == icResiCategoryWarnConfigEntity){
+ icResiCategoryWarnConfigEntity = new IcResiCategoryWarnConfigEntity();
+ icResiCategoryWarnConfigEntity.setCustomerId(customerId);
+ icResiCategoryWarnConfigEntity.setLabel(icResiCategoryStatsConfigDTO.getLabel());
+ icResiCategoryWarnConfigEntity.setTableName(icResiCategoryStatsConfigDTO.getTableName());
+ icResiCategoryWarnConfigEntity.setColumnName(icResiCategoryStatsConfigDTO.getColumnName());
+ icResiCategoryWarnConfigEntity.setLevel1(formDTO.getLevel1());
+ icResiCategoryWarnConfigEntity.setLevel2(formDTO.getLevel2());
+ icResiCategoryWarnConfigEntity.setLevel3(formDTO.getLevel3());
+ icResiCategoryWarnConfigEntity.setSort(icResiCategoryStatsConfigDTO.getSort());
+ icResiCategoryWarnConfigDao.insert(icResiCategoryWarnConfigEntity);
+ }else{
+ icResiCategoryWarnConfigEntity.setCustomerId(customerId);
+ icResiCategoryWarnConfigEntity.setLabel(icResiCategoryStatsConfigDTO.getLabel());
+ icResiCategoryWarnConfigEntity.setTableName(icResiCategoryStatsConfigDTO.getTableName());
+ icResiCategoryWarnConfigEntity.setColumnName(icResiCategoryStatsConfigDTO.getColumnName());
+ icResiCategoryWarnConfigEntity.setLevel1(formDTO.getLevel1());
+ icResiCategoryWarnConfigEntity.setLevel2(formDTO.getLevel2());
+ icResiCategoryWarnConfigEntity.setLevel3(formDTO.getLevel3());
+ icResiCategoryWarnConfigEntity.setSort(icResiCategoryStatsConfigDTO.getSort());
+ icResiCategoryWarnConfigDao.updateById(icResiCategoryWarnConfigEntity);
+ }
+ }else if(IcResiCategoryStatsConfigConstant.WARN_NO.equals(formDTO.getWarn())){
+ //删除
+ icResiCategoryWarnConfigDao.delete(new QueryWrapper().lambda()
+ .eq(IcResiCategoryWarnConfigEntity::getTableName,icResiCategoryStatsConfigDTO.getTableName())
+ .eq(IcResiCategoryWarnConfigEntity::getColumnName,icResiCategoryStatsConfigDTO.getColumnName()));
+ }
+
+
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void updateStatus(String customerId,IcResiCategoryStatsConfigFormDTO formDTO) {
+ //更新配置类别
+ IcResiCategoryStatsConfigEntity icResiCategoryStatsConfigEntity = new IcResiCategoryStatsConfigEntity();
+ BeanUtils.copyProperties(formDTO,icResiCategoryStatsConfigEntity);
+ icResiCategoryStatsConfigEntity.setCustomerId(customerId);
+ icResiCategoryStatsConfigDao.updateById(icResiCategoryStatsConfigEntity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void updateSort(String customerId,List formDTOs) {
+ List entityList = new ArrayList<>();
+ for (IcResiCategoryStatsConfigSortFormDTO formDTO : formDTOs) {
+ IcResiCategoryStatsConfigEntity icResiCategoryStatsConfigEntity = new IcResiCategoryStatsConfigEntity();
+ icResiCategoryStatsConfigEntity.setId(formDTO.getId());
+ icResiCategoryStatsConfigEntity.setCustomerId(customerId);
+ icResiCategoryStatsConfigEntity.setSort(formDTO.getSort());
+ entityList.add(icResiCategoryStatsConfigEntity);
+ }
+ icResiCategoryStatsConfigService.updateBatchById(entityList);
+ }
+}
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcResiCategoryStatsConfigDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcResiCategoryStatsConfigDao.xml
new file mode 100644
index 0000000000..5fb6f245b4
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcResiCategoryStatsConfigDao.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcResiCategoryWarnConfigDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcResiCategoryWarnConfigDao.xml
new file mode 100644
index 0000000000..419adda97c
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcResiCategoryWarnConfigDao.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file