diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
index 11d9e4aaef..0c8a18627c 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
@@ -1152,7 +1152,7 @@
and temp.result=1
- and temp.result !=1
+ and temp.result = -1
group by temp.orgId,temp.FIELD_NAME
diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/ResiCategoryItemResultDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/ResiCategoryItemResultDTO.java
new file mode 100644
index 0000000000..8ab985676e
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/ResiCategoryItemResultDTO.java
@@ -0,0 +1,17 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+
+/**
+ * @ClassName ResiCategoryItemResultDTO
+ * @Description 居民类别item查询结果
+ * @Author wangxianzhang
+ * @Date 2022/1/18 4:43 下午
+ */
+@Data
+public class ResiCategoryItemResultDTO {
+
+ private String columnName;
+ private String label;
+
+}
diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java
index 8cdf6e39de..0ccbfa1655 100644
--- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java
+++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java
@@ -145,4 +145,11 @@ public interface OperCustomizeOpenFeignClient {
@PostMapping("/oper/customize/icresicategorywarnconfig/categorywarnconfiglist/{customerId}")
Result> categoryWarnConfigList(@PathVariable String customerId);
+ /**
+ * 查询客户下的居民类别item列表
+ * @param customerId
+ * @return
+ */
+ @PostMapping("/oper/customize/icformitem/resi-category-items/list")
+ Result> listResiCategoryItems(@RequestParam("customer-id") String customerId);
}
diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java
index fde2def25e..9dec3f4afe 100644
--- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java
+++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java
@@ -119,4 +119,9 @@ public class OperCustomizeOpenFeignClientFallback implements OperCustomizeOpenFe
public Result> categoryWarnConfigList(String customerId) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "categoryWarnConfigList", customerId);
}
+
+ @Override
+ public Result> listResiCategoryItems(String customerId) {
+ return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "listResiCategoryItems", customerId);
+ }
}
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java
index 1cfe0d4276..f38a16f323 100644
--- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java
@@ -19,12 +19,10 @@ package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.ColumnTableNameResultDTO;
+import com.epmet.dto.result.ResiCategoryItemResultDTO;
import com.epmet.service.IcFormItemService;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -51,4 +49,15 @@ public class IcFormItemController {
return new Result>().ok(icFormItemService.getMustColumn(customerId));
}
+ /**
+ * 查询客户下的居民类别item列表
+ * @param customerId
+ * @return
+ */
+ @PostMapping("resi-category-items/list")
+ public Result> listResiCategoryItems(@RequestParam("customer-id") String customerId) {
+ List r = icFormItemService.listResiCategoryItems(customerId);
+ return new Result().ok(r);
+ }
+
}
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java
index 575e31d6b1..f9eb17f8e3 100644
--- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java
@@ -19,10 +19,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.form.CustomerFormQueryDTO;
-import com.epmet.dto.result.ColumnTableNameResultDTO;
-import com.epmet.dto.result.ConditionResultDTO;
-import com.epmet.dto.result.IcFormResColumnDTO;
-import com.epmet.dto.result.TableHeaderResultDTO;
+import com.epmet.dto.result.*;
import com.epmet.entity.IcFormItemEntity;
import java.util.List;
@@ -58,4 +55,11 @@ public interface IcFormItemService extends BaseService {
* @Description 居民信息新增查询各表必填字段
**/
List getMustColumn(String customerId);
+
+ /**
+ * 查询
+ * @param customerId
+ * @return
+ */
+ List listResiCategoryItems(String customerId);
}
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java
index 00c79db52c..697aaca89e 100644
--- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java
@@ -17,6 +17,7 @@
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.epmet.commons.mybatis.service.impl.BaseServiceImpl;
@@ -27,10 +28,7 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcFormItemDao;
import com.epmet.dto.IcFormItemDTO;
import com.epmet.dto.form.CustomerFormQueryDTO;
-import com.epmet.dto.result.ColumnTableNameResultDTO;
-import com.epmet.dto.result.ConditionResultDTO;
-import com.epmet.dto.result.IcFormResColumnDTO;
-import com.epmet.dto.result.TableHeaderResultDTO;
+import com.epmet.dto.result.*;
import com.epmet.entity.IcFormItemEntity;
import com.epmet.service.IcFormItemService;
import org.apache.commons.lang3.StringUtils;
@@ -39,6 +37,8 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
/**
* 表单项
@@ -118,4 +118,28 @@ public class IcFormItemServiceImpl extends BaseServiceImpl listResiCategoryItems(String customerId) {
+
+ LambdaQueryWrapper query = new LambdaQueryWrapper<>();
+ query.eq(IcFormItemEntity::getCustomerId, customerId);
+ query.eq(IcFormItemEntity::getDataAnalyse, 1);
+
+ List categoryItems = baseDao.selectList(query);
+
+ // 如果该客户没配置,那么使用默认配置
+ if (CollectionUtils.isEmpty(categoryItems)) {
+ LambdaQueryWrapper query1 = new LambdaQueryWrapper<>();
+ query1.eq(IcFormItemEntity::getDataAnalyse, 1);
+ query1.eq(IcFormItemEntity::getCustomerId, "default");
+ categoryItems = baseDao.selectList(query1);
+ }
+
+ return categoryItems.stream().map((e) -> {
+ ResiCategoryItemResultDTO d = new ResiCategoryItemResultDTO();
+ d.setColumnName(e.getColumnName());
+ d.setLabel(e.getLabel());
+ return d;
+ }).collect(Collectors.toList());
+ }
}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserChangeRecordInitFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserChangeRecordInitFormDTO.java
new file mode 100644
index 0000000000..0e7a105fe1
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserChangeRecordInitFormDTO.java
@@ -0,0 +1,20 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description 【基础信息】变更记录
+ * @Author sun
+ */
+@Data
+public class IcUserChangeRecordInitFormDTO implements Serializable {
+ private static final long serialVersionUID = 9156247659994638103L;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/bean/ResiImportCategoryData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/bean/ResiImportCategoryData.java
new file mode 100644
index 0000000000..436be52b29
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/bean/ResiImportCategoryData.java
@@ -0,0 +1,51 @@
+package com.epmet.bean;
+
+import lombok.Data;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @ClassName ResiImportTransferOldDim
+ * @Description TODO
+ * @Author wangxianzhang
+ * @Date 2022/1/18 5:53 下午
+ */
+@Data
+public class ResiImportCategoryData {
+
+ private String agencyId;
+ private String gridId;
+ private String villageId;
+ private String buildId;
+ private String unitId;
+ private String homeId;
+
+ /**
+ * key:居民类别在ic_resi_user表中的列名
+ * value:居民类别的值。0:否,1:是
+ */
+ private Map categories = new HashMap<>();
+
+ public ResiImportCategoryData() {
+ }
+
+ public ResiImportCategoryData(String agencyId, String gridId, String villageId, String buildId, String unitId, String homeId, Map categories) {
+ this.agencyId = agencyId;
+ this.gridId = gridId;
+ this.villageId = villageId;
+ this.buildId = buildId;
+ this.unitId = unitId;
+ this.homeId = homeId;
+ this.categories = categories;
+ }
+
+ public ResiImportCategoryData(String agencyId, String gridId, String villageId, String buildId, String unitId, String homeId) {
+ this.agencyId = agencyId;
+ this.gridId = gridId;
+ this.villageId = villageId;
+ this.buildId = buildId;
+ this.unitId = unitId;
+ this.homeId = homeId;
+ }
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/bean/ResiImportChangedData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/bean/ResiImportChangedData.java
new file mode 100644
index 0000000000..ff74a880a0
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/bean/ResiImportChangedData.java
@@ -0,0 +1,20 @@
+package com.epmet.bean;
+
+import lombok.Data;
+
+/**
+ * @ClassName ResiImportTransferCache
+ * @Description TODO
+ * @Author wangxianzhang
+ * @Date 2022/1/18 5:51 下午
+ */
+@Data
+public class ResiImportChangedData {
+ private ResiImportCategoryData oldData = new ResiImportCategoryData();
+ private ResiImportCategoryData newData = new ResiImportCategoryData();
+
+ public ResiImportChangedData(ResiImportCategoryData oldData, ResiImportCategoryData newData) {
+ this.oldData = oldData;
+ this.newData = newData;
+ }
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/bean/ResiImportResiCategoryChangedCache.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/bean/ResiImportResiCategoryChangedCache.java
new file mode 100644
index 0000000000..6203c917a9
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/bean/ResiImportResiCategoryChangedCache.java
@@ -0,0 +1,30 @@
+package com.epmet.bean;
+
+import lombok.Data;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 导入操作中,居民信息操作的分类bean
+ */
+@Data
+public class ResiImportResiCategoryChangedCache {
+
+ /**
+ * 新增居民
+ * Map>
+ */
+ private Map newResis = new HashMap<>();
+
+ /**
+ * 调动的居民
+ */
+ private Map transferedResis = new HashMap<>();
+
+ /**
+ * 类别变更的居民
+ */
+ private Map categoryChangedResis = new HashMap<>();
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeRecordController.java
index 5ab2dae1eb..7e77f5b6ab 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeRecordController.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeRecordController.java
@@ -22,6 +22,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.IcResiUserChangeRecordFormDTO;
import com.epmet.dto.form.IcResiUserTransferFormDTO;
+import com.epmet.dto.form.IcUserChangeRecordInitFormDTO;
import com.epmet.dto.form.IcUsercategoryAnalysisFormDTO;
import com.epmet.dto.result.IcUserChangeRecordResultDTO;
import com.epmet.dto.result.IcUsercategoryAnalysisResultDTO;
@@ -32,6 +33,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.text.ParseException;
+
/**
* 居民变更记录表
@@ -67,4 +70,14 @@ public class IcUserChangeRecordController {
ValidatorUtils.validateEntity(formDTO,IcUsercategoryAnalysisFormDTO.AddUserShowGroup.class,IcUsercategoryAnalysisFormDTO.AddUserInternalGroup.class);
return new Result>().ok(icUserChangeRecordService.categoryAnalysisList(formDTO));
}
+ /**
+ * @Author sun
+ * @Description 历史居民数据生成变更记录和变更明细数据
+ **/
+ @PostMapping("icuserchangerecordinit")
+ public Result icUserChangeRecordInit(@RequestBody IcUserChangeRecordInitFormDTO formDTO) throws ParseException {
+ icUserChangeRecordService.icUserChangeRecordInit(formDTO);
+ return new Result();
+ }
+
}
\ No newline at end of file
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 bc292276a2..dbbe42d2c9 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
@@ -232,5 +232,11 @@ public interface IcResiUserDao extends BaseDao {
Map getCategoryListMap(@Param("icUserId") String icUserId);
+ Map selectResiInfoMap(@Param("idCard") String idCard);
+
List