Browse Source

Merge remote-tracking branch 'origin/dev_move_out_of' into dev

master
Jackwang 3 years ago
parent
commit
15ecf6e736
  1. 43
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/IcResiUserSubStatusEnum.java
  2. 44
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/IdCardNoValidatorUtils.java
  3. 1
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/HouseMemResDTO.java
  4. 79
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseChangeDetailDTO.java
  5. 104
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseChangeRecordDTO.java
  6. 57
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseChangeListFormDTO.java
  7. 34
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseAgencyInfoResultDTO.java
  8. 41
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChangeListResultDTO.java
  9. 47
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/enums/HouseChangeEnums.java
  10. 1
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  11. 70
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseChangeDetailController.java
  12. 87
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseChangeRecordController.java
  13. 16
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseChangeDetailDao.java
  14. 28
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseChangeRecordDao.java
  15. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
  16. 49
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseChangeDetailEntity.java
  17. 74
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseChangeRecordEntity.java
  18. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java
  19. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
  20. 78
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseChangeDetailService.java
  21. 89
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseChangeRecordService.java
  22. 106
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  23. 83
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseChangeDetailServiceImpl.java
  24. 120
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseChangeRecordServiceImpl.java
  25. 37
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.19__house_change_record_and_detail.sql
  26. 6
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseChangeDetailDao.xml
  27. 46
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseChangeRecordDao.xml
  28. 15
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
  29. 131
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeDeathDTO.java
  30. 214
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeRelocationDTO.java
  31. 115
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeWelfareDTO.java
  32. 20
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CheckWelfareByIdCardDTO.java
  33. 169
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcMoveInRecordDTO.java
  34. 11
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java
  35. 4
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeDetailedDTO.java
  36. 20
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeRecordDTO.java
  37. 13
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserTransferFormDTO.java
  38. 20
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseHolderResDTO.java
  39. 3
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseUserDTO.java
  40. 67
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/SyncResiResDTO.java
  41. 84
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeDeathController.java
  42. 98
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeRelocationController.java
  43. 109
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeWelfareController.java
  44. 83
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcMoveInRecordController.java
  45. 29
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  46. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ChangeDeathDao.java
  47. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ChangeRelocationDao.java
  48. 35
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ChangeWelfareDao.java
  49. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcMoveInRecordDao.java
  50. 81
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/ChangeDeathEntity.java
  51. 153
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/ChangeRelocationEntity.java
  52. 81
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/ChangeWelfareEntity.java
  53. 138
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcMoveInRecordEntity.java
  54. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java
  55. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeDetailedEntity.java
  56. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeRecordEntity.java
  57. 72
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeDeathExcel.java
  58. 127
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeRelocationExcel.java
  59. 75
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeWelfareExcel.java
  60. 102
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcMoveInRecordExcel.java
  61. 30
      epmet-user/epmet-user-server/src/main/java/com/epmet/redis/ChangeDeathRedis.java
  62. 30
      epmet-user/epmet-user-server/src/main/java/com/epmet/redis/ChangeRelocationRedis.java
  63. 30
      epmet-user/epmet-user-server/src/main/java/com/epmet/redis/ChangeWelfareRedis.java
  64. 79
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeDeathService.java
  65. 88
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeRelocationService.java
  66. 107
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeWelfareService.java
  67. 78
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcMoveInRecordService.java
  68. 23
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
  69. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserTransferRecordService.java
  70. 177
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java
  71. 222
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeRelocationServiceImpl.java
  72. 158
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeWelfareServiceImpl.java
  73. 83
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcMoveInRecordServiceImpl.java
  74. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java
  75. 93
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  76. 197
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java
  77. 12
      epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.42__add_die_substatus.sql
  78. 85
      epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.43__create_pli_death_welfare_relocation.sql
  79. 28
      epmet-user/epmet-user-server/src/main/resources/mapper/ChangeDeathDao.xml
  80. 39
      epmet-user/epmet-user-server/src/main/resources/mapper/ChangeRelocationDao.xml
  81. 41
      epmet-user/epmet-user-server/src/main/resources/mapper/ChangeWelfareDao.xml
  82. 8
      epmet-user/epmet-user-server/src/main/resources/mapper/IcMoveInRecordDao.xml
  83. 4
      epmet-user/epmet-user-server/src/main/resources/mapper/IcUserChangeRecordDao.xml

43
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/IcResiUserSubStatusEnum.java

@ -0,0 +1,43 @@
package com.epmet.commons.tools.enums;
/**
* 用户详细状态01新增02导入03迁入04新生11迁出21死亡 未完待续
*/
public enum IcResiUserSubStatusEnum {
/**
* 环境变量枚举
*/
ADD("01", "新增"),
IMPORT("02", "导入"),
MOVE_IN("03", "迁入"),
BIRTH("04", "新生"),
MOVE_OUT("11", "迁出"),
DIED("21", "死亡");
private final String subStatus;
private final String statusDesc;
IcResiUserSubStatusEnum(String subStatus, String statusDesc) {
this.subStatus = subStatus;
this.statusDesc = statusDesc;
}
public static IcResiUserSubStatusEnum getEnum(String subStatus) {
IcResiUserSubStatusEnum[] values = IcResiUserSubStatusEnum.values();
for (IcResiUserSubStatusEnum value : values) {
if (value.getSubStatus().equals(subStatus)) {
return value;
}
}
return IcResiUserSubStatusEnum.ADD;
}
public String getSubStatus() {
return subStatus;
}
public String getStatusDesc() {
return statusDesc;
}
}

44
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/IdCardNoValidatorUtils.java

@ -1,9 +1,11 @@
package com.epmet.commons.tools.validator;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Hashtable;
@ -199,5 +201,47 @@ public class IdCardNoValidatorUtils {
return gender;
}
/**
* 根据身份证号获取年龄
*
* @param IDCard 完整身份证号码
* @return java.lang.Integer
* @author work@yujt.net.cn
* @date 2019/9/20 14:26
*/
public static Integer getAge(String IDCard) {
int age;
LocalDate now = LocalDate.now();
int nowYear = now.getYear();
int nowMonth = now.getMonthValue();
int cardYear = 0;
int cardMonth = 0;
if (StringUtils.isNotBlank(IDCard) && checkIsIdCardNo(IDCard)) {
if (IDCard.length() == 15) {
// 身份证上的年份(15位身份证为1980年前的)
String uyear = "19" + IDCard.substring(6, 8);
cardYear = Integer.parseInt(uyear);
// 身份证上的月份
String uyue = IDCard.substring(8, 10);
cardMonth = Integer.parseInt(uyue);
} else if (IDCard.length() == 18) {
// 身份证上的年份
String year = IDCard.substring(6).substring(0, 4);
cardYear = Integer.parseInt(year);
// 身份证上的月份
String yue = IDCard.substring(10).substring(0, 2);
cardMonth = Integer.parseInt(yue);
}
}
// 当前月份大于用户出身的月份表示已过生日
if (cardMonth <= nowMonth) {
age = nowYear - cardYear + 1;
// 当前用户还没过生
} else {
age = nowYear - cardYear;
}
return age;
}
}

1
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/HouseMemResDTO.java

@ -14,6 +14,7 @@ import java.util.List;
public class HouseMemResDTO implements Serializable {
/**
* 居民信息及家属列表
* 当前选中的这个居民
*/
private String icResiUserId;
private String icUserName;

79
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseChangeDetailDTO.java

@ -0,0 +1,79 @@
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-05-09
*/
@Data
public class IcHouseChangeDetailDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 记录ID
*/
private String recordId;
/**
* 变更类型HOUSE_TYPE:房屋类型PURPOSE:房屋用途RENT_FLAG:房屋状态OWNER_NAME:房主姓名OWNER_PHONE:房主电话OWNER_ID_CARD:房主身份证
*/
private String changeCol;
/**
* 变更前
*/
private String changeBefore;
/**
* 变更后
*/
private String changeAfter;
/**
*
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

104
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseChangeRecordDTO.java

@ -0,0 +1,104 @@
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-05-09
*/
@Data
public class IcHouseChangeRecordDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 小区ID
*/
private String neighborHoodId;
/**
* 楼栋ID
*/
private String buildingId;
/**
* 楼栋单元ID
*/
private String buildingUnitId;
/**
* 房屋ID
*/
private String houseId;
/**
* 变更前
*/
private String changeBefore;
/**
* 变更后
*/
private String changeAfter;
/**
* 组织ID的所有上级
*/
private String pids;
/**
*
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

57
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseChangeListFormDTO.java

@ -0,0 +1,57 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/5/10 13:34
* @DESC
*/
@Data
public class HouseChangeListFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = 3650098822228397304L;
/**
* 网格ID
*/
private String gridId;
/**
* 工作人员所属组织ID
*/
private String agencyId;
/**
* 小区ID
*/
private String neighborHoodId;
/**
* 楼栋ID
*/
private String buildingId;
/**
* 楼栋单元ID
*/
private String buildingUnitId;
/**
* 房屋ID
*/
private String houseId;
/**
* 开始日期eg20220510
*/
private String startDate;
/**
* 结束日期eg20220510
*/
private String endDate;
}

34
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseAgencyInfoResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/5/10 09:21
* @DESC
*/
@Data
public class HouseAgencyInfoResultDTO implements Serializable {
private static final long serialVersionUID = 2056073386531945191L;
private String agencyId;
private String gridId;
private String pids;
private String houseId;
private String neighborHoodId;
private String buildingId;
private String buildingUnitId;
public HouseAgencyInfoResultDTO() {
this.agencyId = "";
this.gridId = "";
this.pids = "";
this.houseId = "";
this.neighborHoodId = "";
this.buildingId = "";
this.buildingUnitId = "";
}
}

41
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChangeListResultDTO.java

@ -0,0 +1,41 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/5/10 13:42
* @DESC
*/
@Data
public class HouseChangeListResultDTO implements Serializable {
private static final long serialVersionUID = 4501420202270980751L;
/**
* 所属网格
*/
private String gridName;
/**
* 所属房屋
*/
private String houseName;
/**
* 变更前
*/
private String changeBefore;
/**
* 变更后
*/
private String changeAfter;
/**
* 变更时间
*/
private String changeTime;
}

47
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/enums/HouseChangeEnums.java

@ -0,0 +1,47 @@
package com.epmet.enums;
import org.springframework.util.StringUtils;
/**
* @Author zxc
* @DateTime 2022/5/9 17:03
* @DESC
*/
public enum HouseChangeEnums {
HOUSE_TYPE("HOUSE_TYPE","房屋类型"),
PURPOSE("PURPOSE","房屋用途"),
RENT_FLAG("RENT_FLAG","房屋状态"),
OWNER_NAME("OWNER_NAME","房主姓名"),
OWNER_PHONE("OWNER_PHONE","房主电话"),
OWNER_ID_CARD("OWNER_ID_CARD","房主身份证");
private String column;
private String columnName;
HouseChangeEnums(String column, String columnName) {
this.column = column;
this.columnName = columnName;
}
public static String getColumnNameByColumn(String column){
if(StringUtils.isEmpty(column)){
return "";
}
for (HouseChangeEnums v : HouseChangeEnums.values()) {
if (v.column.equals(column)){
return v.getColumnName();
}
}
return "";
}
public String getColumn() {
return column;
}
public String getColumnName() {
return columnName;
}
}

1
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java

@ -145,7 +145,6 @@ public class HouseController implements ResultDataResolver {
//效验数据
ValidatorUtils.validateEntity(formDTO, IcHouseAddFormDTO.UpdateShowGroup.class);
String customerId = tokenDTO.getCustomerId();
// String customerId = "123123";
houseService.updateHouse(customerId, formDTO);
return new Result();
}

70
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseChangeDetailController.java

@ -0,0 +1,70 @@
package com.epmet.controller;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IcHouseChangeDetailDTO;
import com.epmet.service.IcHouseChangeDetailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* 房屋变更详情表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
@RestController
@RequestMapping("icHouseChangeDetail")
public class IcHouseChangeDetailController {
@Autowired
private IcHouseChangeDetailService icHouseChangeDetailService;
@RequestMapping("page")
public Result<PageData<IcHouseChangeDetailDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcHouseChangeDetailDTO> page = icHouseChangeDetailService.page(params);
return new Result<PageData<IcHouseChangeDetailDTO>>().ok(page);
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<IcHouseChangeDetailDTO> get(@PathVariable("id") String id){
IcHouseChangeDetailDTO data = icHouseChangeDetailService.get(id);
return new Result<IcHouseChangeDetailDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody IcHouseChangeDetailDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icHouseChangeDetailService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody IcHouseChangeDetailDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icHouseChangeDetailService.update(dto);
return new Result();
}
@PostMapping("delete")
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icHouseChangeDetailService.delete(ids);
return new Result();
}
}

87
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseChangeRecordController.java

@ -0,0 +1,87 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.MaskResponse;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.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.IcHouseChangeRecordDTO;
import com.epmet.dto.form.HouseChangeListFormDTO;
import com.epmet.service.IcHouseChangeRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* 房屋变更记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
@RestController
@RequestMapping("icHouseChangeRecord")
public class IcHouseChangeRecordController {
@Autowired
private IcHouseChangeRecordService icHouseChangeRecordService;
@RequestMapping("page")
public Result<PageData<IcHouseChangeRecordDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcHouseChangeRecordDTO> page = icHouseChangeRecordService.page(params);
return new Result<PageData<IcHouseChangeRecordDTO>>().ok(page);
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<IcHouseChangeRecordDTO> get(@PathVariable("id") String id){
IcHouseChangeRecordDTO data = icHouseChangeRecordService.get(id);
return new Result<IcHouseChangeRecordDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody IcHouseChangeRecordDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icHouseChangeRecordService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody IcHouseChangeRecordDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icHouseChangeRecordService.update(dto);
return new Result();
}
@PostMapping("delete")
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icHouseChangeRecordService.delete(ids);
return new Result();
}
/**
* Desc: 查询房屋变更记录
* @param tokenDto
* @param formDTO
* @author zxc
* @date 2022/5/10 14:32
*/
@PostMapping("list")
public Result<PageData> list(@LoginUser TokenDto tokenDto,@RequestBody HouseChangeListFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class);
return new Result<PageData>().ok(icHouseChangeRecordService.list(tokenDto, formDTO));
}
}

16
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseChangeDetailDao.java

@ -0,0 +1,16 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IcHouseChangeDetailEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 房屋变更详情表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
@Mapper
public interface IcHouseChangeDetailDao extends BaseDao<IcHouseChangeDetailEntity> {
}

28
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseChangeRecordDao.java

@ -0,0 +1,28 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.HouseChangeListFormDTO;
import com.epmet.dto.result.HouseChangeListResultDTO;
import com.epmet.entity.IcHouseChangeRecordEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 房屋变更记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
@Mapper
public interface IcHouseChangeRecordDao extends BaseDao<IcHouseChangeRecordEntity> {
/**
* Desc: 获取房屋变更记录
* @param formDTO
* @author zxc
* @date 2022/5/10 14:22
*/
List<HouseChangeListResultDTO> getHouseChangeList(HouseChangeListFormDTO formDTO);
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java

@ -93,4 +93,13 @@ public interface IcHouseDao extends BaseDao<IcHouseEntity> {
* @Description 人房房屋总数饼图
**/
List<HouseChartResultDTO> houseChart(@Param("orgId") String orgId, @Param("orgType") String orgType);
/**
* Desc: 根据房屋ID获取房屋信息
* @param houseId
* @author zxc
* @date 2022/5/10 09:23
*/
HouseAgencyInfoResultDTO getHouseAgencyInfo(@Param("houseId") String houseId);
}

49
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseChangeDetailEntity.java

@ -0,0 +1,49 @@
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-05-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_house_change_detail")
public class IcHouseChangeDetailEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 记录ID
*/
private String recordId;
/**
* 变更类型HOUSE_TYPE:房屋类型PURPOSE:房屋用途RENT_FLAG:房屋状态OWNER_NAME:房主姓名OWNER_PHONE:房主电话OWNER_ID_CARD:房主身份证
*/
private String changeCol;
/**
* 变更前
*/
private String changeBefore;
/**
* 变更后
*/
private String changeAfter;
}

74
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseChangeRecordEntity.java

@ -0,0 +1,74 @@
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-05-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_house_change_record")
public class IcHouseChangeRecordEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 小区ID
*/
private String neighborHoodId;
/**
* 楼栋ID
*/
private String buildingId;
/**
* 楼栋单元ID
*/
private String buildingUnitId;
/**
* 房屋ID
*/
private String houseId;
/**
* 变更前
*/
private String changeBefore;
/**
* 变更后
*/
private String changeAfter;
/**
* 组织ID的所有上级
*/
private String pids;
}

10
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java

@ -11,6 +11,7 @@ import com.epmet.constant.CustomerGridConstant;
import com.epmet.constant.ImportErrorMsgConstants;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcBuildingDao;
import com.epmet.dto.IcHouseDTO;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.ImportInfoFormDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO;
@ -22,6 +23,7 @@ import com.epmet.enums.HouseRentFlagEnums;
import com.epmet.enums.HouseTypeEnums;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.redis.IcHouseRedis;
import com.epmet.service.HouseService;
import com.epmet.service.IcHouseService;
import com.epmet.service.IcNeighborHoodService;
import lombok.extern.slf4j.Slf4j;
@ -83,9 +85,10 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
private IcHouseRedis icHouseRedis;
private IcNeighborHoodService neighborHoodService;
private IcHouseService icHouseService;
private HouseService houseService;
private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient;
public ImportHouseInfoListener(ImportInfoFormDTO formDTO,IcBuildingDao icBuildingDao, IcHouseRedis icHouseRedis,IcNeighborHoodService neighborHoodService, IcHouseService icHouseService, EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient,String tId){
public ImportHouseInfoListener(ImportInfoFormDTO formDTO,IcBuildingDao icBuildingDao, IcHouseRedis icHouseRedis,IcNeighborHoodService neighborHoodService, IcHouseService icHouseService, EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient,String tId,HouseService houseService){
this.formDTO = formDTO;
this.icBuildingDao = icBuildingDao;
this.icHouseRedis = icHouseRedis;
@ -93,6 +96,7 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
this.icHouseService = icHouseService;
this.epmetCommonServiceOpenFeignClient = epmetCommonServiceOpenFeignClient;
this.taskId = tId;
this.houseService = houseService;
}
@Override
@ -629,6 +633,10 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
@Transactional(rollbackFor = Exception.class)
public void houseUpdate(List<ImportGeneralDTO> houses){
if (!CollectionUtils.isEmpty(houses)){
houses.forEach(h -> {
IcHouseDTO icHouseDTO = ConvertUtils.sourceToTarget(h, IcHouseDTO.class);
houseService.houseChangeRecord(h.getHouseId(), h.getCustomerId(), icHouseDTO);
});
icHouseService.houseUpdate(houses);
// buildingIdSet.addAll(houses.stream().map(ImportGeneralDTO::getBuildingId).collect(Collectors.toSet()));
}

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java

@ -19,6 +19,7 @@ package com.epmet.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.IcHouseDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
@ -40,6 +41,16 @@ public interface HouseService {
void updateHouse(String customerId, IcHouseAddFormDTO formDTO);
/**
* Desc: 房屋变更记录
* @param houseId
* @param customerId
* @param houseDTO
* @author zxc
* @date 2022/5/10 10:57
*/
void houseChangeRecord(String houseId, String customerId, IcHouseDTO houseDTO);
/**
* 小寨子社区-合同签订后变更成出租状态
*

78
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseChangeDetailService.java

@ -0,0 +1,78 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcHouseChangeDetailDTO;
import com.epmet.entity.IcHouseChangeDetailEntity;
import java.util.List;
import java.util.Map;
/**
* 房屋变更详情表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
public interface IcHouseChangeDetailService extends BaseService<IcHouseChangeDetailEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcHouseChangeDetailDTO>
* @author generator
* @date 2022-05-09
*/
PageData<IcHouseChangeDetailDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcHouseChangeDetailDTO>
* @author generator
* @date 2022-05-09
*/
List<IcHouseChangeDetailDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcHouseChangeDetailDTO
* @author generator
* @date 2022-05-09
*/
IcHouseChangeDetailDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-09
*/
void save(IcHouseChangeDetailDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-09
*/
void update(IcHouseChangeDetailDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-05-09
*/
void delete(String[] ids);
}

89
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseChangeRecordService.java

@ -0,0 +1,89 @@
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.IcHouseChangeRecordDTO;
import com.epmet.dto.form.HouseChangeListFormDTO;
import com.epmet.entity.IcHouseChangeRecordEntity;
import java.util.List;
import java.util.Map;
/**
* 房屋变更记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
public interface IcHouseChangeRecordService extends BaseService<IcHouseChangeRecordEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcHouseChangeRecordDTO>
* @author generator
* @date 2022-05-09
*/
PageData<IcHouseChangeRecordDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcHouseChangeRecordDTO>
* @author generator
* @date 2022-05-09
*/
List<IcHouseChangeRecordDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcHouseChangeRecordDTO
* @author generator
* @date 2022-05-09
*/
IcHouseChangeRecordDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-09
*/
void save(IcHouseChangeRecordDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-09
*/
void update(IcHouseChangeRecordDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-05-09
*/
void delete(String[] ids);
/**
* Desc: 查询房屋变更记录
* @param tokenDto
* @param formDTO
* @author zxc
* @date 2022/5/10 14:32
*/
PageData list(TokenDto tokenDto, HouseChangeListFormDTO formDTO);
}

106
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java

@ -1,4 +1,5 @@
package com.epmet.service.impl;
import java.util.Date;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import com.alibaba.excel.EasyExcel;
@ -24,8 +25,12 @@ import com.epmet.dao.*;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.IcHouseChangeDetailEntity;
import com.epmet.entity.IcHouseChangeRecordEntity;
import com.epmet.entity.IcHouseEntity;
import com.epmet.enums.HouseChangeEnums;
import com.epmet.enums.HousePurposeEnums;
import com.epmet.enums.HouseRentFlagEnums;
import com.epmet.enums.HouseTypeEnums;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
@ -91,6 +96,12 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
private CustomerAgencyDao customerAgencyDao;
@Autowired
private CustomerGridDao customerGridDao;
@Autowired
private IcHouseChangeRecordService changeRecordService;
@Autowired
private IcHouseChangeDetailService changeDetailService;
@Autowired
private HouseService houseService;
@Override
@ -134,13 +145,106 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
icHouseDTO.setId(formDTO.getHouseId());
icHouseDTO.setCustomerId(customerId);
icHouseDTO.setRentFlag(formDTO.getRentFlag());
icHouseDTO.setHouseTypeName(HouseTypeEnums.getTypeValue(formDTO.getHouseType()));
icHouseDTO.setPurposeName(HousePurposeEnums.getTypeValue(formDTO.getPurpose()));
icHouseDTO.setRentName(HouseRentFlagEnums.getTypeValue(formDTO.getRentFlag()));
//设置
icHouseDTO.setHouseName(getHouseName(formDTO));
houseChangeRecord(formDTO.getHouseId(), customerId, icHouseDTO);
icHouseService.update(icHouseDTO);
//删除房屋缓存
icHouseRedis.delHouseInfo(formDTO.getHouseId(),customerId);
}
/**
* Desc: 房屋变更记录
* @param houseId
* @param customerId
* @param houseDTO
* @author zxc
* @date 2022/5/10 10:57
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void houseChangeRecord(String houseId, String customerId, IcHouseDTO houseDTO){
IcHouseEntity entity = icHouseService.selectById(houseId);
if (null == entity){
throw new EpmetException("不存在此房屋...");
}
StringBuilder sbBefore = new StringBuilder();
StringBuilder sbAfter = new StringBuilder();
List<IcHouseChangeDetailEntity> entityList = new ArrayList<>();
if (!houseDTO.getHouseType().equals(entity.getHouseType())){
sbAfter.append(HouseChangeEnums.HOUSE_TYPE.getColumnName()).append(":").append(null == houseDTO.getHouseTypeName() ? HouseTypeEnums.getTypeValue(houseDTO.getHouseType()) : houseDTO.getHouseTypeName()).append(";");
sbBefore.append(HouseChangeEnums.HOUSE_TYPE.getColumnName()).append(":").append(HouseTypeEnums.getTypeValue(entity.getHouseType())).append(";");
IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity();
e.setChangeCol(HouseChangeEnums.HOUSE_TYPE.getColumn());
e.setChangeBefore(HouseTypeEnums.getTypeValue(entity.getHouseType()));
e.setChangeAfter(null == houseDTO.getHouseTypeName() ? HouseTypeEnums.getTypeValue(houseDTO.getHouseType()) : houseDTO.getHouseTypeName());
entityList.add(e);
}
if (!houseDTO.getPurpose().equals(entity.getPurpose())){
sbAfter.append(HouseChangeEnums.PURPOSE.getColumnName()).append(":").append(null == houseDTO.getPurposeName() ? HousePurposeEnums.getTypeValue(houseDTO.getPurpose()) : houseDTO.getPurposeName()).append(";");
sbBefore.append(HouseChangeEnums.PURPOSE.getColumnName()).append(":").append(HousePurposeEnums.getTypeValue(entity.getPurpose())).append(";");
IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity();
e.setChangeCol(HouseChangeEnums.PURPOSE.getColumn());
e.setChangeAfter(null == houseDTO.getPurposeName() ? HousePurposeEnums.getTypeValue(houseDTO.getPurpose()) : houseDTO.getPurposeName());
e.setChangeBefore(HousePurposeEnums.getTypeValue(entity.getPurpose()));
entityList.add(e);
}
if (!houseDTO.getRentFlag().equals(entity.getRentFlag())){
sbAfter.append(HouseChangeEnums.RENT_FLAG.getColumnName()).append(":").append(null == houseDTO.getRentName() ? HouseRentFlagEnums.getTypeValue(houseDTO.getRentFlag()) : houseDTO.getRentName()).append(";");
sbBefore.append(HouseChangeEnums.RENT_FLAG.getColumnName()).append(":").append(HouseRentFlagEnums.getTypeValue(entity.getRentFlag())).append(";");
IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity();
e.setChangeCol(HouseChangeEnums.RENT_FLAG.getColumn());
e.setChangeAfter(null == houseDTO.getRentName() ? HouseRentFlagEnums.getTypeValue(houseDTO.getRentFlag()) : houseDTO.getRentName());
e.setChangeBefore(HouseRentFlagEnums.getTypeValue(entity.getRentFlag()));
entityList.add(e);
}
if (!houseDTO.getOwnerName().equals(entity.getOwnerName())){
sbAfter.append(HouseChangeEnums.OWNER_NAME.getColumnName()).append(":").append(StringUtils.isNotBlank(houseDTO.getOwnerName()) ? houseDTO.getOwnerName() : "无").append(";");
sbBefore.append(HouseChangeEnums.OWNER_NAME.getColumnName()).append(":").append(StringUtils.isNotBlank(entity.getOwnerName()) ? entity.getOwnerName() : "无").append(";");
IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity();
e.setChangeCol(HouseChangeEnums.OWNER_NAME.getColumn());
e.setChangeAfter(StringUtils.isNotBlank(houseDTO.getOwnerName()) ? houseDTO.getOwnerName() : "无");
e.setChangeBefore(StringUtils.isNotBlank(entity.getOwnerName()) ? entity.getOwnerName() : "无");
entityList.add(e);
}
if (!houseDTO.getOwnerPhone().equals(entity.getOwnerPhone())){
sbAfter.append(HouseChangeEnums.OWNER_PHONE.getColumnName()).append(":").append(StringUtils.isNotBlank(houseDTO.getOwnerPhone()) ? houseDTO.getOwnerPhone() : "无").append(";");
sbBefore.append(HouseChangeEnums.OWNER_PHONE.getColumnName()).append(":").append(StringUtils.isNotBlank(entity.getOwnerPhone()) ? entity.getOwnerPhone() : "无").append(";");
IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity();
e.setChangeCol(HouseChangeEnums.OWNER_PHONE.getColumn());
e.setChangeAfter(StringUtils.isNotBlank(houseDTO.getOwnerPhone()) ? houseDTO.getOwnerPhone() : "无");
e.setChangeBefore(StringUtils.isNotBlank(entity.getOwnerPhone()) ? entity.getOwnerPhone() : "无");
entityList.add(e);
}
if (!houseDTO.getOwnerIdCard().equals(entity.getOwnerIdCard())){
sbAfter.append(HouseChangeEnums.OWNER_ID_CARD.getColumnName()).append(":").append(StringUtils.isNotBlank(houseDTO.getOwnerIdCard()) ? houseDTO.getOwnerIdCard() : "无").append(";");
sbBefore.append(HouseChangeEnums.OWNER_ID_CARD.getColumnName()).append(":").append(StringUtils.isNotBlank(entity.getOwnerIdCard()) ? entity.getOwnerIdCard() : "无").append(";");
IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity();
e.setChangeCol(HouseChangeEnums.OWNER_ID_CARD.getColumn());
e.setChangeAfter(StringUtils.isNotBlank(houseDTO.getOwnerIdCard()) ? houseDTO.getOwnerIdCard() : "无");
e.setChangeBefore(StringUtils.isNotBlank(entity.getOwnerIdCard()) ? entity.getOwnerIdCard() : "无");
entityList.add(e);
}
if (StringUtils.isNotBlank(sbAfter)){
String before = sbBefore.substring(NumConstant.ZERO, sbBefore.length() - NumConstant.ONE);
String after = sbAfter.substring(NumConstant.ZERO, sbAfter.length() - NumConstant.ONE);
HouseAgencyInfoResultDTO houseAgencyInfo = icHouseDao.getHouseAgencyInfo(houseId);
IcHouseChangeRecordEntity recordEntity = ConvertUtils.sourceToTarget(houseAgencyInfo, IcHouseChangeRecordEntity.class);
recordEntity.setCustomerId(customerId);
recordEntity.setChangeBefore(before);
recordEntity.setChangeAfter(after);
changeRecordService.insert(recordEntity);
entityList.forEach(e -> {
e.setCustomerId(customerId);
e.setRecordId(recordEntity.getId());
});
changeDetailService.insertBatch(entityList);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update2Rent(RentHouseFormDTO formDTO) {
@ -244,7 +348,7 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
excelReader = EasyExcel.read(inputStream).build();
// 这里为了简单 所以注册了 同样的head 和Listener 自己使用功能必须不同的Listener
ReadSheet readSheet = EasyExcel.readSheet(0).head(HouseInfoModel.class)
.registerReadListener(new ImportHouseInfoListener(formDTO,icBuildingDao,icHouseRedis,neighborHoodService,icHouseService,epmetCommonServiceOpenFeignClient,importTask.getData().getTaskId()))
.registerReadListener(new ImportHouseInfoListener(formDTO,icBuildingDao,icHouseRedis,neighborHoodService,icHouseService,epmetCommonServiceOpenFeignClient,importTask.getData().getTaskId(),houseService))
.build();
excelReader.read(readSheet);
} catch (Exception e){

83
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseChangeDetailServiceImpl.java

@ -0,0 +1,83 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IcHouseChangeDetailDao;
import com.epmet.dto.IcHouseChangeDetailDTO;
import com.epmet.entity.IcHouseChangeDetailEntity;
import com.epmet.service.IcHouseChangeDetailService;
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 2022-05-09
*/
@Service
public class IcHouseChangeDetailServiceImpl extends BaseServiceImpl<IcHouseChangeDetailDao, IcHouseChangeDetailEntity> implements IcHouseChangeDetailService {
@Override
public PageData<IcHouseChangeDetailDTO> page(Map<String, Object> params) {
IPage<IcHouseChangeDetailEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcHouseChangeDetailDTO.class);
}
@Override
public List<IcHouseChangeDetailDTO> list(Map<String, Object> params) {
List<IcHouseChangeDetailEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcHouseChangeDetailDTO.class);
}
private QueryWrapper<IcHouseChangeDetailEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcHouseChangeDetailEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcHouseChangeDetailDTO get(String id) {
IcHouseChangeDetailEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcHouseChangeDetailDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcHouseChangeDetailDTO dto) {
IcHouseChangeDetailEntity entity = ConvertUtils.sourceToTarget(dto, IcHouseChangeDetailEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcHouseChangeDetailDTO dto) {
IcHouseChangeDetailEntity entity = ConvertUtils.sourceToTarget(dto, IcHouseChangeDetailEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

120
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseChangeRecordServiceImpl.java

@ -0,0 +1,120 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
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.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IcHouseChangeRecordDao;
import com.epmet.dto.IcHouseChangeRecordDTO;
import com.epmet.dto.form.HouseChangeListFormDTO;
import com.epmet.dto.result.HouseChangeListResultDTO;
import com.epmet.entity.IcHouseChangeRecordEntity;
import com.epmet.service.IcHouseChangeRecordService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
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.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 房屋变更记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
@Service
public class IcHouseChangeRecordServiceImpl extends BaseServiceImpl<IcHouseChangeRecordDao, IcHouseChangeRecordEntity> implements IcHouseChangeRecordService {
@Override
public PageData<IcHouseChangeRecordDTO> page(Map<String, Object> params) {
IPage<IcHouseChangeRecordEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcHouseChangeRecordDTO.class);
}
@Override
public List<IcHouseChangeRecordDTO> list(Map<String, Object> params) {
List<IcHouseChangeRecordEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcHouseChangeRecordDTO.class);
}
private QueryWrapper<IcHouseChangeRecordEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcHouseChangeRecordEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcHouseChangeRecordDTO get(String id) {
IcHouseChangeRecordEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcHouseChangeRecordDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcHouseChangeRecordDTO dto) {
IcHouseChangeRecordEntity entity = ConvertUtils.sourceToTarget(dto, IcHouseChangeRecordEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcHouseChangeRecordDTO dto) {
IcHouseChangeRecordEntity entity = ConvertUtils.sourceToTarget(dto, IcHouseChangeRecordEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* Desc: 查询房屋变更记录
* @param tokenDto
* @param formDTO
* @author zxc
* @date 2022/5/10 14:32
*/
@Override
public PageData list(TokenDto tokenDto, HouseChangeListFormDTO formDTO) {
PageData<HouseChangeListResultDTO> pageData = new PageData<>(new ArrayList<>(), NumConstant.ZERO);
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfo){
throw new EpmetException("未查询到此工作人员"+tokenDto.getUserId());
}
formDTO.setAgencyId(staffInfo.getAgencyId());
if (formDTO.getIsPage()){
PageInfo<HouseChangeListResultDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.getHouseChangeList(formDTO));
pageData.setList(pageInfo.getList());
pageData.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal())));
}else {
List<HouseChangeListResultDTO> houseChangeList = baseDao.getHouseChangeList(formDTO);
pageData.setList(houseChangeList);
pageData.setTotal(houseChangeList.size());
}
return pageData;
}
}

37
epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.19__house_change_record_and_detail.sql

@ -0,0 +1,37 @@
CREATE TABLE `ic_house_change_record` (
`ID` varchar(64) NOT NULL COMMENT 'ID',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
`AGENCY_ID` varchar(64) NOT NULL COMMENT '组织ID',
`GRID_ID` varchar(64) NOT NULL COMMENT '网格ID',
`NEIGHBOR_HOOD_ID` varchar(64) NOT NULL COMMENT '小区ID',
`BUILDING_ID` varchar(64) NOT NULL COMMENT '楼栋ID',
`BUILDING_UNIT_ID` varchar(64) NOT NULL COMMENT '楼栋单元ID',
`HOUSE_ID` varchar(64) NOT NULL COMMENT '房屋ID',
`CHANGE_BEFORE` varchar(255) NOT NULL COMMENT '变更前',
`CHANGE_AFTER` varchar(255) NOT NULL COMMENT '变更后',
`PIDS` varchar(255) NOT NULL COMMENT '组织ID的所有上级',
`DEL_FLAG` int(11) NOT NULL,
`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`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='房屋变更记录表';
CREATE TABLE `ic_house_change_detail` (
`ID` varchar(64) NOT NULL COMMENT 'ID',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id',
`RECORD_ID` varchar(64) NOT NULL COMMENT '记录ID',
`CHANGE_COL` varchar(64) NOT NULL COMMENT '变更字段,HOUSE_TYPE:房屋类型,PURPOSE:房屋用途,RENT_FLAG:房屋状态,OWNER_NAME:房主姓名,OWNER_PHONE:房主电话,OWNER_ID_CARD:房主身份证',
`CHANGE_BEFORE` varchar(255) NOT NULL COMMENT '变更前',
`CHANGE_AFTER` varchar(255) NOT NULL COMMENT '变更后',
`DEL_FLAG` int(1) NOT NULL,
`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,
KEY `recordId` (`RECORD_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='房屋变更详情表';

6
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseChangeDetailDao.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcHouseChangeDetailDao">
</mapper>

46
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseChangeRecordDao.xml

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcHouseChangeRecordDao">
<!-- 获取房屋变更记录 -->
<select id="getHouseChangeList" resultType="com.epmet.dto.result.HouseChangeListResultDTO">
SELECT
CONCAT(a.ORGANIZATION_NAME,'-',g.GRID_NAME) AS gridName,
CONCAT(h.NEIGHBOR_HOOD_NAME,'-',house.HOUSE_NAME) AS houseName,
change_after,
change_before,
DATE_FORMAT(r.CREATED_TIME,'%Y-%m-%d') AS changeTime
FROM ic_house_change_record r
LEFT JOIN customer_grid g ON (r.GRID_ID = g.ID AND g.DEL_FLAG = 0)
LEFT JOIN customer_agency a ON (g.PID = a.ID AND a.DEL_FLAG = '0')
INNER JOIN ic_neighbor_hood h ON (r.NEIGHBOR_HOOD_ID = h.ID AND h.DEL_FLAG = '0')
INNER JOIN ic_house house ON (house.ID = r.HOUSE_ID AND house.DEL_FLAG = '0')
WHERE r.DEL_FLAG = 0
<if test='null != startDate and startDate != "" '>
AND DATE_FORMAT(r.CREATED_TIME,'%Y%m%d') >= #{startDate}
</if>
<if test='null != endDate and endDate != "" '>
AND DATE_FORMAT(r.CREATED_TIME,'%Y%m%d') <![CDATA[<=]]> #{endDate}
</if>
<if test='null != houseId and houseId != "" '>
AND r.HOUSE_ID = #{houseId}
</if>
<if test='null != buildingUnitId and buildingUnitId != "" '>
AND r.BUILDING_UNIT_ID = #{buildingUnitId}
</if>
<if test='null != buildingId and buildingId != "" '>
AND r.BUILDING_ID = #{buildingId}
</if>
<if test='null != neighborHoodId and neighborHoodId != "" '>
AND r.NEIGHBOR_HOOD_ID = #{neighborHoodId}
</if>
<if test='null != gridId and gridId != "" '>
AND r.GRID_ID = #{gridId}
</if>
<if test='null != agencyId and agencyId != "" '>
AND CONCAT(r.PIDS,':',r.AGENCY_ID) LIKE CONCAT('%',#{agencyId},'%')
</if>
ORDER BY r.CREATED_TIME DESC,r.HOUSE_ID
</select>
</mapper>

15
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

@ -344,4 +344,19 @@
GROUP BY rent_flag
</select>
<!-- 根据房屋ID获取房屋信息 -->
<select id="getHouseAgencyInfo" resultType="com.epmet.dto.result.HouseAgencyInfoResultDTO">
SELECT
h.ID AS houseId,
h.NEIGHBOR_HOOD_ID,
h.BUILDING_ID,
h.BUILDING_UNIT_ID,
nh.AGENCY_ID,
nh.GRID_ID,
nh.AGENCY_PIDS AS pids
FROM ic_house h
INNER JOIN ic_neighbor_hood nh ON (nh.ID = h.NEIGHBOR_HOOD_ID AND nh.DEL_FLAG = '0')
WHERE h.ID = #{houseId}
</select>
</mapper>

131
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeDeathDTO.java

@ -0,0 +1,131 @@
package com.epmet.dto;
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 2022-05-05
*/
@Data
public class ChangeDeathDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* epmet用户主键
*/
@NotBlank(message = "用户ID不能为空")
private String userId;
/**
* epmet网格ID
*/
private String gridId;
/**
* 姓名
*/
@NotBlank(message = "姓名不能为空")
private String name;
/**
* 身份证
*/
@NotBlank(message = "身份证不能为空")
private String idCard;
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空")
private String mobile;
/**
* 性别 0女 1男
*/
@NotBlank(message = "性别不能为空")
private String gender;
/**
* 类型 0 租客 1 房东
*/
private String type;
/**
* 加入时间
*/
private String joinDate;
/**
* 加入原因
*/
private String joinReason;
/**
* 移除时间
*/
private String removeDate;
/**
* 移除原因
*/
private String removeReason;
/**
* 删除标记 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 客户ID
*/
private String customerId;
/**
* 是否保存为福利人员
*/
private Boolean welfareFlag;
/**
* 当前登录用户id
*/
private String staffId;
}

214
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeRelocationDTO.java

@ -0,0 +1,214 @@
package com.epmet.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* 合同表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-06
*/
@Data
public class ChangeRelocationDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 姓名
*/
private String name;
/**
* 性别
*/
private String gender;
/**
* 年龄
*/
private String age;
/**
* 组织PID
*/
private String pid;
/**
* 组织ID
*/
private String agencyId;
/**
* 组织名
*/
private String agencyName;
/**
* 组织ID
*/
private String gridId;
/**
* 组织名
*/
private String gridName;
/**
* 房屋小区ID
*/
private String villageId;
/**
* 房屋小区
*/
private String villageName;
/**
* 楼号ID
*/
private String buildId;
/**
* 楼号
*/
private String buildName;
/**
* 单元ID
*/
private String unitId;
/**
* 单元
*/
private String unitName;
/**
* 房屋ID
*/
private String homeId;
/**
* 房屋
*/
private String homeName;
/**
* 外迁详细地址
*/
private String address;
/**
* 操作类型客户外out,客户内in
*/
private String type;
/**
* 原房主姓名
*/
private String ownerName;
/**
* 原网格信息
*/
private String oldDept;
/**
* 原房屋信息
*/
private String oldAddress;
/**
* 原房间号
*/
private String oldHome;
/**
* 浅出原因
*/
private String reason;
/**
* 删除标记 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 客户ID
*/
private String customerId;
/**
* 迁出时间
*/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JSONField(format = "yyyy-MM-dd")
private Date outOfTime;
/**
* 身份证号
*/
private String idCard;
/**
* 手机号
*/
private String mobile;
/**
* epmet用户主键
*/
private String icUserId;
/**
* 是否保存为福利人员
*/
private Boolean welfareFlag;
/**
* 当前登录用户id
*/
private String staffId;
/**
* 调动时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date transferTime;
}

115
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeWelfareDTO.java

@ -0,0 +1,115 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 福利表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
@Data
public class ChangeWelfareDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* epmet用户主键
*/
private String userId;
/**
* epmet网格ID
*/
private String gridId;
/**
* 姓名
*/
private String name;
/**
* 身份证
*/
private String idCard;
/**
* 手机号
*/
private String mobile;
/**
* 性别 0女 1男
*/
private String gender;
/**
* 类型
*/
private String type;
/**
* 加入时间
*/
private String joinDate;
/**
* 加入原因
*/
private String joinReason;
/**
* 移除时间
*/
private String removeDate;
/**
* 移除原因
*/
private String removeReason;
/**
* 删除标记 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 客户ID
*/
private String customerId;
}

20
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CheckWelfareByIdCardDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @program: epmet-plugins
* @description:
* @author: wangtong
* @create: 2022-05-09 13:52
**/
@Data
public class CheckWelfareByIdCardDTO implements Serializable {
@NotBlank(message = "身份证不能为空")
private String idCard;
}

169
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcMoveInRecordDTO.java

@ -0,0 +1,169 @@
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-05-09
*/
@Data
public class IcMoveInRecordDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 客户Id customer.id
*/
private String customerId;
/**
* 组织Id
*/
private String agencyId;
/**
* 组织的pids
*/
private String pids;
/**
* 网格ID
*/
private String gridId;
/**
* 所属小区ID
*/
private String villageId;
/**
* 所属楼宇Id
*/
private String buildId;
/**
* 单元id
*/
private String unitId;
/**
* 所属家庭Id
*/
private String homeId;
/**
* 姓名
*/
private String name;
/**
* 是否享受福利:0 :1
*/
private String isWeifare;
/**
* 手机号
*/
private String mobile;
/**
* 身份证号
*/
private String idCard;
/**
* 性别1男2女0未知
*/
private String gender;
/**
* 年龄
*/
private Integer age;
/**
* 迁入时间
*/
private Date inTime;
/**
* 迁入原因
*/
private String inReason;
/**
* 来源地区编码
*/
private String sourceAddressCode;
/**
* 来源地区编码全路径
*/
private String sourceAddressPathCode;
/**
* 来源地区地址
*/
private String sourceAddress;
/**
* 详细地址
*/
private String address;
/**
* 迁移证号码
*/
private String moveNumber;
/**
* 户主姓名
*/
private String householderName;
/**
* 与户主关系[字典表]
*/
private String householderRelation;
/**
* 删除标识 0.未删除 1.已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

11
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java

@ -17,9 +17,10 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
@ -449,10 +450,16 @@ public class IcResiUserDTO implements Serializable {
private String jtxxRemakes;
/**
* 用户状态0:正常 1:转出
* 用户状态0:正常;1:迁出;2:注销
*/
private String status;
/**
* 用户详细状态01新增02导入03迁入04新生11迁出21死亡
*/
private String subStatus;
/**
* 删除标识 0.未删除 1.已删除
*/

4
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeDetailedDTO.java

@ -90,12 +90,12 @@ public class IcUserChangeDetailedDTO implements Serializable {
private String icUserId;
/**
* 操作类型add:新增 category:类别变动 in:迁入 out:迁出
* 操作类型add:新增 category:类别 in:迁入 out:迁出;死亡:die
*/
private String type;
/**
* 操作类型名称add:新增 category:类别变动 in:迁入 out:迁出
* 操作类型名称add:新增 category:类别 in:迁入 out:迁出;死亡:die
*/
private String typeName;

20
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeRecordDTO.java

@ -17,9 +17,11 @@
package com.epmet.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
@ -69,12 +71,12 @@ public class IcUserChangeRecordDTO implements Serializable {
private String icUserName;
/**
* 操作类型add:新增 category:类别 transfer:调动
* 操作类型add:新增 category:类别 transfer:调动;logout注销
*/
private String type;
/**
* 操作类型名称add:新增 category:类别 transfer:调动
* 操作类型名称add:新增 category:类别 transfer:调动;logout注销
*/
private String typeName;
@ -89,10 +91,16 @@ public class IcUserChangeRecordDTO implements Serializable {
private String afterChangeName;
/**
* 调整时间
* 变更时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date changeTime;
/**
* 原因迁入原因/迁出原因等
*/
private String reason;
/**
* 备注说明
*/
@ -114,8 +122,10 @@ public class IcUserChangeRecordDTO implements Serializable {
private String createdBy;
/**
* 创建时间
* 创建时间
* 调整时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date createdTime;
/**

13
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserTransferFormDTO.java

@ -63,9 +63,22 @@ public class IcResiUserTransferFormDTO implements Serializable {
*/
private String remark;
/**
* 原因迁入原因/迁出原因等
*/
private String reason;
//标识,默认为true,为false表示是居民信息修改调用了人员调动的接口,只需要生成调动记录,不涉及修改基础信息
private Boolean idEdit = true;
//token中信息
private String customerId;
private String staffId;
/**
* out:迁出这个入参是迁出管理新增迁入人员内部方法调用
* died:死亡:这个入参是新增死亡人员内部方法调用
* birth:出生
* in迁入
*/
private String moveType;
}

20
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseHolderResDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
*
* 房屋的户主信息
*/
@Data
public class HouseHolderResDTO implements Serializable {
private static final long serialVersionUID = 8849057608809731937L;
/**
* 户主姓名取的是家庭信息-与户主关系-本人的居民
*/
private String name;
private String id;
}

3
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseUserDTO.java

@ -10,6 +10,9 @@ import java.io.Serializable;
@Data
public class HouseUserDTO implements Serializable {
private static final long serialVersionUID = -5307147522738642535L;
/**
* 屋内成员的用户id
*/
private String icResiUserId;
private String icUserName;
}

67
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/SyncResiResDTO.java

@ -0,0 +1,67 @@
package com.epmet.dto.result;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 迁入管理出生管理,勾选了补充居民信息输入身份证号后调用接口校验是否可继续执行
*/
@Data
public class SyncResiResDTO implements Serializable {
private static final long serialVersionUID = 673439146165836938L;
public interface FormShow extends CustomerClientShowGroup {
}
public interface FormInternal {
}
/**
* 身份证号
*/
@NotBlank(message = "身份证号不能为空", groups = FormShow.class)
private String idCard;
/**
* 当前登录用户所属的组织id
*/
@NotBlank(message = "当前登录用户所属组织不能为空", groups = FormInternal.class)
private String agencyId;
private String customerId;
/**
* true可以迁入flase:不可迁入
*/
private Boolean moveInstatus;
/**
* 身份证号已存在的居民返回其所属社区名称
*/
private String resiAgencyName;
/**
* 身份证号已存在的居民返回其所属社区id
*/
private String resiAgencyId;
/**
* 身份证号已存在的居民返回其房屋id
*/
private String resiHomeId;
private String status;
private String icResiUserId;
public SyncResiResDTO(String customerId, String idCard, String agencyId) {
this.idCard = idCard;
this.customerId = customerId;
this.agencyId = agencyId;
this.moveInstatus = true;
this.resiAgencyId = StrConstant.EPMETY_STR;
this.resiAgencyName = StrConstant.EPMETY_STR;
this.resiHomeId = StrConstant.EPMETY_STR;
this.status=StrConstant.EPMETY_STR;
this.icResiUserId=StrConstant.EPMETY_STR;
}
}

84
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeDeathController.java

@ -0,0 +1,84 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
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.ChangeDeathDTO;
import com.epmet.excel.ChangeDeathExcel;
import com.epmet.service.ChangeDeathService;
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 2022-05-05
*/
@RestController
@RequestMapping("rentDeath")
public class ChangeDeathController {
@Autowired
private ChangeDeathService changeDeathService;
@RequestMapping("page")
public Result<PageData<ChangeDeathDTO>> page(@RequestParam Map<String, Object> params){
PageData<ChangeDeathDTO> page = changeDeathService.page(params);
return new Result<PageData<ChangeDeathDTO>>().ok(page);
}
@RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
public Result<ChangeDeathDTO> get(@PathVariable("id") String id){
ChangeDeathDTO data = changeDeathService.get(id);
return new Result<ChangeDeathDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@LoginUser TokenDto tokenDto, @RequestBody ChangeDeathDTO dto){
dto.setStaffId(tokenDto.getUserId());
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
return changeDeathService.save(dto);
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody ChangeDeathDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
changeDeathService.update(dto);
return new Result();
}
@RequestMapping(value = "delete", method = {RequestMethod.POST, RequestMethod.DELETE})
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
changeDeathService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<ChangeDeathDTO> list = changeDeathService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, ChangeDeathExcel.class);
}
}

98
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeRelocationController.java

@ -0,0 +1,98 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
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.ChangeRelocationDTO;
import com.epmet.excel.ChangeRelocationExcel;
import com.epmet.service.ChangeRelocationService;
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 2022-05-06
*/
@RestController
@RequestMapping("changeRelocation")
public class ChangeRelocationController {
@Autowired
private ChangeRelocationService changeRelocationService;
@RequestMapping("page")
public Result<PageData<ChangeRelocationDTO>> page(@RequestParam Map<String, Object> params){
PageData<ChangeRelocationDTO> page = changeRelocationService.page(params);
return new Result<PageData<ChangeRelocationDTO>>().ok(page);
}
@RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
public Result<ChangeRelocationDTO> get(@PathVariable("id") String id){
ChangeRelocationDTO data = changeRelocationService.get(id);
return new Result<ChangeRelocationDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody ChangeRelocationDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
changeRelocationService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody ChangeRelocationDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
changeRelocationService.update(dto);
return new Result();
}
@RequestMapping(value = "delete", method = {RequestMethod.POST, RequestMethod.DELETE})
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
changeRelocationService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<ChangeRelocationDTO> list = changeRelocationService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, ChangeRelocationExcel.class);
}
/**
* @describe: 保存迁出信息
* @author wangtong
* @date 2022/5/7 9:49
* @params [dto]
* @return com.epmet.commons.tools.utils.Result
*/
@NoRepeatSubmit
@PostMapping("saveOutOfInfo")
public Result saveOutOfInfo(@LoginUser TokenDto tokenDto, @RequestBody ChangeRelocationDTO dto){
dto.setStaffId(tokenDto.getUserId());
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
return changeRelocationService.saveOutOfInfo(dto);
}
}

109
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeWelfareController.java

@ -0,0 +1,109 @@
package com.epmet.controller;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
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.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.ChangeWelfareDTO;
import com.epmet.dto.CheckWelfareByIdCardDTO;
import com.epmet.excel.ChangeWelfareExcel;
import com.epmet.service.ChangeWelfareService;
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 2022-05-09
*/
@RestController
@RequestMapping("changeWelfare")
public class ChangeWelfareController {
@Autowired
private ChangeWelfareService changeWelfareService;
@RequestMapping("page")
public Result<PageData<ChangeWelfareDTO>> page(@RequestParam Map<String, Object> params){
PageData<ChangeWelfareDTO> page = changeWelfareService.page(params);
return new Result<PageData<ChangeWelfareDTO>>().ok(page);
}
@RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
public Result<ChangeWelfareDTO> get(@PathVariable("id") String id){
ChangeWelfareDTO data = changeWelfareService.get(id);
return new Result<ChangeWelfareDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody ChangeWelfareDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
return changeWelfareService.save(dto);
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody ChangeWelfareDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
changeWelfareService.update(dto);
return new Result();
}
@RequestMapping(value = "delete", method = {RequestMethod.POST, RequestMethod.DELETE})
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
changeWelfareService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<ChangeWelfareDTO> list = changeWelfareService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, ChangeWelfareExcel.class);
}
/**
* @describe: 移除福利人员
* @author wangtong
* @date 2022/5/9 11:11
* @params [dto]
* @return com.epmet.commons.tools.utils.Result
*/
@NoRepeatSubmit
@PostMapping("removeWelfare")
public Result removeWelfare(@RequestBody ChangeWelfareDTO dto){
return changeWelfareService.removeWelfare(dto);
}
/**
* @describe: 通过身份证号查询是否属于福利人员-true-false
* @author wangtong
* @date 2022/5/9 13:52
* @params [dto]
* @return com.epmet.commons.tools.utils.Result
*/
@NoRepeatSubmit
@GetMapping("checkWelfareByIdCard")
public Boolean checkWelfareByIdCard(CheckWelfareByIdCardDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
return changeWelfareService.checkWelfareByIdCard(dto);
}
}

83
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcMoveInRecordController.java

@ -0,0 +1,83 @@
package com.epmet.controller;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
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.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IcMoveInRecordDTO;
import com.epmet.excel.IcMoveInRecordExcel;
import com.epmet.service.IcMoveInRecordService;
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 2022-05-09
*/
@RestController
@RequestMapping("icMoveIn")
public class IcMoveInRecordController {
@Autowired
private IcMoveInRecordService icMoveInRecordService;
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<IcMoveInRecordDTO> get(@PathVariable("id") String id){
IcMoveInRecordDTO data = icMoveInRecordService.get(id);
return new Result<IcMoveInRecordDTO>().ok(data);
}
@RequestMapping("list")
public Result<PageData<IcMoveInRecordDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcMoveInRecordDTO> page = icMoveInRecordService.page(params);
return new Result<PageData<IcMoveInRecordDTO>>().ok(page);
}
@NoRepeatSubmit
@PostMapping("add")
public Result save(@RequestBody IcMoveInRecordDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icMoveInRecordService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("edit")
public Result update(@RequestBody IcMoveInRecordDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icMoveInRecordService.update(dto);
return new Result();
}
@PostMapping("delete")
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icMoveInRecordService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<IcMoveInRecordDTO> list = icMoveInRecordService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, IcMoveInRecordExcel.class);
}
}

29
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -1016,4 +1016,33 @@ public class IcResiUserController implements ResultDataResolver {
// });
// return new Result();
// }
/**
* 根据房屋id,查询居民信息表中-家庭信息-本人 的居民如果有多个返回最近一个
* @param homeId
* @param loginUser
* @return
*/
@PostMapping("queryhousehold/{homeId}")
public Result<HouseHolderResDTO> queryHouseHold(@PathVariable("homeId") String homeId, @LoginUser TokenDto loginUser) {
String customerId = loginUser.getCustomerId();
HouseHolderResDTO res = icResiUserService.queryHouseHold(homeId, customerId);
return new Result().ok(res);
}
/**
* 迁入管理出生管理,勾选了补充居民信息输入身份证号后调用接口校验是否可继续执行
*
* @param tokenDto
* @param formDto
* @return
*/
@PostMapping("checkuser")
public Result<SyncResiResDTO> checkUser(@LoginUser TokenDto tokenDto, @RequestBody SyncResiResDTO formDto) {
ValidatorUtils.validateEntity(formDto, SyncResiResDTO.FormShow.class, SyncResiResDTO.FormInternal.class);
return new Result<SyncResiResDTO>().ok(icResiUserService.checkUser(tokenDto.getCustomerId(), formDto.getIdCard(), formDto.getAgencyId()));
}
}

16
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ChangeDeathDao.java

@ -0,0 +1,16 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.ChangeDeathEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 死亡名单表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-05
*/
@Mapper
public interface ChangeDeathDao extends BaseDao<ChangeDeathEntity> {
}

16
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ChangeRelocationDao.java

@ -0,0 +1,16 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.ChangeRelocationEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 合同表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-06
*/
@Mapper
public interface ChangeRelocationDao extends BaseDao<ChangeRelocationEntity> {
}

35
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ChangeWelfareDao.java

@ -0,0 +1,35 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ChangeWelfareDTO;
import com.epmet.entity.ChangeWelfareEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 福利表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
@Mapper
public interface ChangeWelfareDao extends BaseDao<ChangeWelfareEntity> {
/**
* @describe: 通过身份证号查询福利人员
* @author wangtong
* @date 2022/5/9 13:59
* @params [idCard]
* @return com.epmet.plugin.power.modules.change.entity.ChangeWelfareEntity
*/
ChangeWelfareEntity selectByIdCard(@Param("idCard") String idCard);
/**
* @describe: 移除福利人员
* @author wangtong
* @date 2022/5/9 14:36
* @params [dto]
* @return com.epmet.commons.tools.utils.Result
*/
void removeWelfare(ChangeWelfareDTO dto);
}

16
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcMoveInRecordDao.java

@ -0,0 +1,16 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IcMoveInRecordEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 迁入管理记录
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
@Mapper
public interface IcMoveInRecordDao extends BaseDao<IcMoveInRecordEntity> {
}

81
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/ChangeDeathEntity.java

@ -0,0 +1,81 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 死亡名单表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-05
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("pli_change_death")
public class ChangeDeathEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* epmet用户主键
*/
private String userId;
/**
* epmet网格ID
*/
private String gridId;
/**
* 姓名
*/
private String name;
/**
* 身份证
*/
private String idCard;
/**
* 手机号
*/
private String mobile;
/**
* 性别 0女 1男
*/
private String gender;
/**
* 类型 0 租客 1 房东
*/
private String type;
/**
* 加入时间
*/
private String joinDate;
/**
* 加入原因
*/
private String joinReason;
/**
* 移除时间
*/
private String removeDate;
/**
* 移除原因
*/
private String removeReason;
/**
* 客户ID
*/
private String customerId;
}

153
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/ChangeRelocationEntity.java

@ -0,0 +1,153 @@
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-05-06
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("pli_change_relocation")
public class ChangeRelocationEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 姓名
*/
private String name;
/**
* 性别
*/
private String gender;
/**
* 年龄
*/
private String age;
/**
* 组织PID
*/
private String pid;
/**
* 组织ID
*/
private String agencyId;
/**
* 组织名
*/
private String agencyName;
/**
* 房屋小区ID
*/
private String villageId;
/**
* 房屋小区
*/
private String villageName;
/**
* 楼号ID
*/
private String buildId;
/**
* 楼号
*/
private String buildName;
/**
* 单元ID
*/
private String unitId;
/**
* 单元
*/
private String unitName;
/**
* 房屋ID
*/
private String homeId;
/**
* 房屋
*/
private String homeName;
/**
* 外迁详细地址
*/
private String address;
/**
* 操作类型客户外out,客户内in
*/
private String type;
/**
* 原房主姓名
*/
private String ownerName;
/**
* 原网格信息
*/
private String oldDept;
/**
* 原房屋信息
*/
private String oldAddress;
/**
* 原房间号
*/
private String oldHome;
/**
* 浅出原因
*/
private String reason;
/**
* 客户ID
*/
private String customerId;
/**
* 迁出时间
*/
private Date outOfTime;
/**
* 身份证号
*/
private String idCard;
/**
* 手机号
*/
private String mobile;
/**
* epmet用户主键
*/
private String icUserId;
}

81
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/ChangeWelfareEntity.java

@ -0,0 +1,81 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 福利表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("pli_change_welfare")
public class ChangeWelfareEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* epmet用户主键
*/
private String userId;
/**
* epmet网格ID
*/
private String gridId;
/**
* 姓名
*/
private String name;
/**
* 身份证
*/
private String idCard;
/**
* 手机号
*/
private String mobile;
/**
* 性别 0女 1男
*/
private String gender;
/**
* 类型
*/
private String type;
/**
* 加入时间
*/
private String joinDate;
/**
* 加入原因
*/
private String joinReason;
/**
* 移除时间
*/
private String removeDate;
/**
* 移除原因
*/
private String removeReason;
/**
* 客户ID
*/
private String customerId;
}

138
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcMoveInRecordEntity.java

@ -0,0 +1,138 @@
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-05-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_move_in_record")
public class IcMoveInRecordEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id customer.id
*/
private String customerId;
/**
* 组织Id
*/
private String agencyId;
/**
* 组织的pids
*/
private String pids;
/**
* 网格ID
*/
private String gridId;
/**
* 所属小区ID
*/
private String villageId;
/**
* 所属楼宇Id
*/
private String buildId;
/**
* 单元id
*/
private String unitId;
/**
* 所属家庭Id
*/
private String homeId;
/**
* 姓名
*/
private String name;
/**
* 是否享受福利:0 :1
*/
private String isWeifare;
/**
* 手机号
*/
private String mobile;
/**
* 身份证号
*/
private String idCard;
/**
* 性别1男2女0未知
*/
private String gender;
/**
* 年龄
*/
private Integer age;
/**
* 迁入时间
*/
private Date inTime;
/**
* 迁入原因
*/
private String inReason;
/**
* 来源地区编码
*/
private String sourceAddressCode;
/**
* 来源地区编码全路径
*/
private String sourceAddressPathCode;
/**
* 来源地区地址
*/
private String sourceAddress;
/**
* 详细地址
*/
private String address;
/**
* 迁移证号码
*/
private String moveNumber;
/**
* 户主姓名
*/
private String householderName;
/**
* 与户主关系[字典表]
*/
private String householderRelation;
}

7
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java

@ -441,10 +441,15 @@ public class IcResiUserEntity extends BaseEpmetEntity {
private String jtxxRemakes;
/**
* 用户状态0:正常 1:转出
* 用户状态0:正常;1:迁出;2:注销
*/
private String status;
/**
* 用户详细状态01新增02导入03迁入04新生11迁出21死亡
*/
private String subStatus;
/**
* 预留字段1
*/

4
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeDetailedEntity.java

@ -87,12 +87,12 @@ public class IcUserChangeDetailedEntity extends BaseEpmetEntity {
private String icUserId;
/**
* 操作类型add:新增 category:类别变动 in:迁入 out:迁出
* 操作类型add:新增 category:类别 in:迁入 out:迁出;死亡:die
*/
private String type;
/**
* 操作类型名称add:新增 category:类别变动 in:迁入 out:迁出
* 操作类型名称add:新增 category:类别 in:迁入 out:迁出;死亡:die
*/
private String typeName;

9
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeRecordEntity.java

@ -68,12 +68,12 @@ public class IcUserChangeRecordEntity extends BaseEpmetEntity {
private String icUserName;
/**
* 操作类型add:新增 category:类别 transfer:调动
* 操作类型add:新增 category:类别 transfer:调动;logout注销
*/
private String type;
/**
* 操作类型名称add:新增 category:类别 transfer:调动
* 操作类型名称add:新增 category:类别 transfer:调动;logout注销
*/
private String typeName;
@ -92,6 +92,11 @@ public class IcUserChangeRecordEntity extends BaseEpmetEntity {
*/
private Date changeTime;
/**
* 原因迁入原因/迁出原因等
*/
private String reason;
/**
* 备注说明
*/

72
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeDeathExcel.java

@ -0,0 +1,72 @@
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 2022-05-05
*/
@Data
public class ChangeDeathExcel {
// @Excel(name = "主键")
// private String id;
// @Excel(name = "epmet用户主键")
// private String userId;
@Excel(name = "姓名")
private String name;
@Excel(name = "身份证")
private String idCard;
@Excel(name = "手机号")
private String mobile;
@Excel(name = "性别",replace = { "男_1", "女_0"} )
private String gender;
@Excel(name = "类型",replace = { "房东_1", "租客_0"} )
private String type;
@Excel(name = "加入时间")
private String joinDate;
@Excel(name = "加入原因")
private String joinReason;
// @Excel(name = "移除时间")
// private String removeDate;
//
// @Excel(name = "移除原因")
// private String removeReason;
// @Excel(name = "删除标记 0:未删除,1:已删除")
// private String delFlag;
//
// @Excel(name = "乐观锁")
// private Integer revision;
//
// @Excel(name = "创建人")
// private String createdBy;
@Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss")
private Date createdTime;
// @Excel(name = "更新人")
// private String updatedBy;
//
// @Excel(name = "更新时间")
// private Date updatedTime;
// @Excel(name = "客户ID")
// private String customerId;
}

127
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeRelocationExcel.java

@ -0,0 +1,127 @@
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 2022-05-06
*/
@Data
public class ChangeRelocationExcel {
// @Excel(name = "主键")
// private String id;
@Excel(name = "姓名")
private String name;
@Excel(name = "所属网格")
private String agencyName;
@Excel(name = "所属房屋")
private String oldAddress;
@Excel(name = "手机号")
private String mobile;
@Excel(name = "身份证号")
private String idCard;
@Excel(name = "性别")
private String gender;
@Excel(name = "年龄")
private String age;
@Excel(name = "迁出时间", format = "yyyy-MM-dd")
private Date outOfTime;
@Excel(name = "迁出原因")
private String reason;
@Excel(name = "迁往何地")
private String address;
@Excel(name = "户主姓名")
private String ownerName;
// @Excel(name = "组织PID")
// private String pid;
// @Excel(name = "组织ID")
// private String agencyId;
// @Excel(name = "房屋小区ID")
// private String villageId;
// @Excel(name = "房屋小区")
// private String villageName;
// @Excel(name = "楼号ID")
// private String buildId;
// @Excel(name = "楼号")
// private String buildName;
// @Excel(name = "单元ID")
// private String unitId;
// @Excel(name = "单元")
// private String unitName;
// @Excel(name = "房屋ID")
// private String homeId;
// @Excel(name = "房屋")
// private String homeName;
// @Excel(name = "操作类型",replace = { "客户外_out", "客户内_in"} )
// private String type;
//
//
//
// @Excel(name = "原网格信息")
// private String oldDept;
//
// @Excel(name = "原房间号")
// private String oldHome;
// @Excel(name = "删除标记 0:未删除,1:已删除")
// private String delFlag;
//
// @Excel(name = "乐观锁")
// private Integer revision;
//
// @Excel(name = "创建人")
// private String createdBy;
// @Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss")
// private Date createdTime;
// @Excel(name = "更新人")
// private String updatedBy;
//
// @Excel(name = "更新时间")
// private Date updatedTime;
//
// @Excel(name = "客户ID")
// private String customerId;
}

75
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeWelfareExcel.java

@ -0,0 +1,75 @@
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 2022-05-09
*/
@Data
public class ChangeWelfareExcel {
@Excel(name = "主键")
private String id;
@Excel(name = "epmet用户主键")
private String userId;
@Excel(name = "epmet网格ID")
private String gridId;
@Excel(name = "姓名")
private String name;
@Excel(name = "身份证")
private String idCard;
@Excel(name = "手机号")
private String mobile;
@Excel(name = "性别 0女 1男")
private String gender;
@Excel(name = "类型")
private String type;
@Excel(name = "加入时间")
private String joinDate;
@Excel(name = "加入原因")
private String joinReason;
@Excel(name = "移除时间")
private String removeDate;
@Excel(name = "移除原因")
private String removeReason;
@Excel(name = "删除标记 0:未删除,1:已删除")
private String delFlag;
@Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "创建人")
private String createdBy;
@Excel(name = "创建时间")
private Date createdTime;
@Excel(name = "更新人")
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
@Excel(name = "客户ID")
private String customerId;
}

102
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcMoveInRecordExcel.java

@ -0,0 +1,102 @@
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 2022-05-09
*/
@Data
public class IcMoveInRecordExcel {
@Excel(name = "唯一标识")
private String id;
@Excel(name = "客户Id customer.id")
private String customerId;
@Excel(name = "组织Id")
private String agencyId;
@Excel(name = "组织的pids")
private String pids;
@Excel(name = "网格ID")
private String gridId;
@Excel(name = "所属小区ID")
private String villageId;
@Excel(name = "所属楼宇Id")
private String buildId;
@Excel(name = "单元id")
private String unitId;
@Excel(name = "所属家庭Id")
private String homeId;
@Excel(name = "姓名")
private String name;
@Excel(name = "是否享受福利【否:0 是:1】")
private String isWeifare;
@Excel(name = "手机号")
private String mobile;
@Excel(name = "身份证号")
private String idCard;
@Excel(name = "性别(1男2女0未知)")
private String gender;
@Excel(name = "年龄")
private Integer age;
@Excel(name = "迁入时间")
private Date inTime;
@Excel(name = "迁入原因")
private String inReason;
@Excel(name = "来源地")
private String source;
@Excel(name = "详细地址")
private String address;
@Excel(name = "迁移证号码")
private String moveNumber;
@Excel(name = "户主姓名")
private String houseName;
@Excel(name = "与户主关系[字典表]")
private String houseRelation;
@Excel(name = "删除标识 0.未删除 1.已删除")
private Integer delFlag;
@Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "创建人")
private String createdBy;
@Excel(name = "创建时间")
private Date createdTime;
@Excel(name = "更新人")
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
}

30
epmet-user/epmet-user-server/src/main/java/com/epmet/redis/ChangeDeathRedis.java

@ -0,0 +1,30 @@
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 2022-05-05
*/
@Component
public class ChangeDeathRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

30
epmet-user/epmet-user-server/src/main/java/com/epmet/redis/ChangeRelocationRedis.java

@ -0,0 +1,30 @@
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 2022-05-06
*/
@Component
public class ChangeRelocationRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

30
epmet-user/epmet-user-server/src/main/java/com/epmet/redis/ChangeWelfareRedis.java

@ -0,0 +1,30 @@
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 2022-05-09
*/
@Component
public class ChangeWelfareRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

79
epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeDeathService.java

@ -0,0 +1,79 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.ChangeDeathDTO;
import com.epmet.entity.ChangeDeathEntity;
import java.util.List;
import java.util.Map;
/**
* 死亡名单表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-05
*/
public interface ChangeDeathService extends BaseService<ChangeDeathEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<ChangeDeathDTO>
* @author generator
* @date 2022-05-05
*/
PageData<ChangeDeathDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<ChangeDeathDTO>
* @author generator
* @date 2022-05-05
*/
List<ChangeDeathDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return ChangeDeathDTO
* @author generator
* @date 2022-05-05
*/
ChangeDeathDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-05
*/
Result save(ChangeDeathDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-05
*/
void update(ChangeDeathDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-05-05
*/
void delete(String[] ids);
}

88
epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeRelocationService.java

@ -0,0 +1,88 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.ChangeRelocationDTO;
import com.epmet.entity.ChangeRelocationEntity;
import java.util.List;
import java.util.Map;
/**
* 合同表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-06
*/
public interface ChangeRelocationService extends BaseService<ChangeRelocationEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<ChangeRelocationDTO>
* @author generator
* @date 2022-05-06
*/
PageData<ChangeRelocationDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<ChangeRelocationDTO>
* @author generator
* @date 2022-05-06
*/
List<ChangeRelocationDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return ChangeRelocationDTO
* @author generator
* @date 2022-05-06
*/
ChangeRelocationDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-06
*/
void save(ChangeRelocationDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-06
*/
void update(ChangeRelocationDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-05-06
*/
void delete(String[] ids);
/**
* @describe: 保存迁出信息
* @author wangtong
* @date 2022/5/7 9:49
* @params [dto]
* @return com.epmet.commons.tools.utils.Result
*/
Result saveOutOfInfo(ChangeRelocationDTO dto);
}

107
epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeWelfareService.java

@ -0,0 +1,107 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.ChangeWelfareDTO;
import com.epmet.dto.CheckWelfareByIdCardDTO;
import com.epmet.entity.ChangeWelfareEntity;
import java.util.List;
import java.util.Map;
/**
* 福利表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
public interface ChangeWelfareService extends BaseService<ChangeWelfareEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<ChangeWelfareDTO>
* @author generator
* @date 2022-05-09
*/
PageData<ChangeWelfareDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<ChangeWelfareDTO>
* @author generator
* @date 2022-05-09
*/
List<ChangeWelfareDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return ChangeWelfareDTO
* @author generator
* @date 2022-05-09
*/
ChangeWelfareDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-09
*/
Result save(ChangeWelfareDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-09
*/
void update(ChangeWelfareDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-05-09
*/
void delete(String[] ids);
/**
* @describe: 移除福利人员
* @author wangtong
* @date 2022/5/9 11:11
* @params [dto]
* @return com.epmet.commons.tools.utils.Result
*/
Result removeWelfare(ChangeWelfareDTO dto);
/**
* @describe: 通过身份证号查询是否属于福利人员-true-false
* @author wangtong
* @date 2022/5/9 13:54
* @params [dto]
* @return java.lang.Boolean
*/
Boolean checkWelfareByIdCard(CheckWelfareByIdCardDTO dto);
/**
* @describe: 保存福利人员
* @author wangtong
* @date 2022/5/9 14:10
* @params []
* @return com.epmet.commons.tools.utils.Result
*/
Result saveWelfareInfo(ChangeWelfareDTO dto);
}

78
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcMoveInRecordService.java

@ -0,0 +1,78 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcMoveInRecordDTO;
import com.epmet.entity.IcMoveInRecordEntity;
import java.util.List;
import java.util.Map;
/**
* 迁入管理记录
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
public interface IcMoveInRecordService extends BaseService<IcMoveInRecordEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcMoveInRecordDTO>
* @author generator
* @date 2022-05-09
*/
PageData<IcMoveInRecordDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcMoveInRecordDTO>
* @author generator
* @date 2022-05-09
*/
List<IcMoveInRecordDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcMoveInRecordDTO
* @author generator
* @date 2022-05-09
*/
IcMoveInRecordDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-09
*/
void save(IcMoveInRecordDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-09
*/
void update(IcMoveInRecordDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-05-09
*/
void delete(String[] ids);
}

23
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java

@ -307,16 +307,25 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
* @author zhy
* @date 2022/4/26 10:48
*/
String updateImage(RentTenantFormDTO formDTO);
String updateImage(TokenDto tokenDto, RentTenantFormDTO formDTO);
/**
* 租客房东根据身份证更新头像
* 根据房屋id,查询居民信息表中-家庭信息-本人 的居民如果有多个返回最近一个
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author zhy
* @date 2022/4/26 10:48
* @param homeId
* @param customerId
* @return
*/
String updateImage(TokenDto tokenDto, RentTenantFormDTO formDTO);
HouseHolderResDTO queryHouseHold(String homeId, String customerId);
/**
* 迁入管理出生管理,勾选了补充居民信息输入身份证号后调用接口校验是否可继续执行
* moveInstatus=false: 如果不是本社区下居民但是本客户下居民且未从其他社区下迁出则提示请联系**社区迁出该居民后操作填写完整信息后提交也进行该提示并且不生成出生记录
*
* @param customerId
* @param idCard
* @param agencyId 当前登录用户所属的组织id
* @return
*/
SyncResiResDTO checkUser(String customerId, String idCard, String agencyId);
}

6
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserTransferRecordService.java

@ -35,4 +35,10 @@ public interface IcUserTransferRecordService extends BaseService<IcUserTransferR
**/
void add(IcResiUserTransferFormDTO formDTO);
/**
* 迁出管理新增迁出人员时插入调动记录插入变更主表明细表
* 死亡管理新增死亡人员时插入变更主表明细表
* @param formDTO
*/
void moveOutResi(IcResiUserTransferFormDTO formDTO);
}

177
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java

@ -0,0 +1,177 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dao.ChangeDeathDao;
import com.epmet.dto.ChangeDeathDTO;
import com.epmet.dto.ChangeWelfareDTO;
import com.epmet.dto.form.IcResiUserTransferFormDTO;
import com.epmet.dto.form.RentTenantDataFormDTO;
import com.epmet.dto.result.RentTenantDataResultDTO;
import com.epmet.entity.ChangeDeathEntity;
import com.epmet.entity.IcResiUserEntity;
import com.epmet.redis.ChangeDeathRedis;
import com.epmet.service.ChangeDeathService;
import com.epmet.service.ChangeWelfareService;
import com.epmet.service.IcResiUserService;
import com.epmet.service.IcUserTransferRecordService;
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.*;
/**
* 死亡名单表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-05
*/
@Service
public class ChangeDeathServiceImpl extends BaseServiceImpl<ChangeDeathDao, ChangeDeathEntity> implements ChangeDeathService {
@Autowired
private ChangeDeathRedis changeDeathRedis;
@Autowired
private IcResiUserServiceImpl icResiUserServiceImpl;
@Autowired
LoginUserUtil loginUserUtil;
@Autowired
private ChangeWelfareService changeWelfareService;
@Autowired
private IcResiUserService icResiUserService;
@Autowired
private ChangeRelocationServiceImpl changeRelocationServiceImpl;
@Override
public PageData<ChangeDeathDTO> page(Map<String, Object> params) {
IPage<ChangeDeathEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, ChangeDeathDTO.class);
}
@Override
public List<ChangeDeathDTO> list(Map<String, Object> params) {
List<ChangeDeathEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, ChangeDeathDTO.class);
}
private QueryWrapper<ChangeDeathEntity> getWrapper(Map<String, Object> params){
String id = (String) params.get(FieldConstant.ID_HUMP);
String name = (String) params.get("name");
String idCard = (String) params.get("idCard");
String mobile = (String) params.get("mobile");
String startTime = (String) params.get("startTime");
String endTime = (String) params.get("endTime");
QueryWrapper<ChangeDeathEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(StringUtils.isNotBlank(name), "NAME", name);
wrapper.eq(StringUtils.isNotBlank(idCard), "ID_CARD", idCard);
wrapper.eq(StringUtils.isNotBlank(mobile), "MOBILE", mobile);
wrapper.ge(StringUtils.isNotBlank(startTime), "JOIN_DATE", startTime);
wrapper.le(StringUtils.isNotBlank(endTime), "JOIN_DATE", endTime);
return wrapper;
}
@Override
public ChangeDeathDTO get(String id) {
ChangeDeathEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, ChangeDeathDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result save(ChangeDeathDTO dto) {
RentTenantDataFormDTO formDTO = new RentTenantDataFormDTO();
formDTO.setUserId(dto.getUserId());
formDTO.setCustomerId(loginUserUtil.getLoginUserCustomerId());
ValidatorUtils.validateEntity(formDTO, UpdateGroup.class, DefaultGroup.class);
RentTenantDataResultDTO result = icResiUserServiceImpl.getRentResiUserInfo(formDTO);
dto.setIdCard(result.getIdCard());
dto.setMobile(result.getMobile());
dto.setGridId(result.getGridId());
Map<String, Object> params = new HashMap<>(4);
params.put("idCard", dto.getIdCard());
if (!list(params).isEmpty()) {
return new Result().error("该人员已经迁入死亡人口");
}
dto.setJoinDate(DateUtils.format(new Date()));
ChangeDeathEntity entity = ConvertUtils.sourceToTarget(dto, ChangeDeathEntity.class);
entity.setCustomerId(loginUserUtil.getLoginUserCustomerId());
insert(entity);
if(dto.getWelfareFlag() != null && dto.getWelfareFlag()){
ChangeWelfareDTO formDto = new ChangeWelfareDTO();
formDto.setUserId(dto.getUserId());
formDto.setName(dto.getName());
formDto.setIdCard(result.getIdCard());
formDto.setMobile(result.getMobile());
formDto.setGridId(result.getGridId());
formDto.setGender(dto.getGender());
formDto.setJoinReason("迁入死亡人口选定");
formDto.setCustomerId(dto.getCustomerId());
formDto.setCustomerId(formDTO.getCustomerId());
changeWelfareService.saveWelfareInfo(formDto);
}
//更新epmet用户状态
IcResiUserEntity userEntity = new IcResiUserEntity();
userEntity.setId(dto.getUserId());
userEntity.setStatus("2");//死亡
userEntity.setSubStatus("21");//死亡
icResiUserService.updateById(userEntity);
//变更主表、变更明细表
IcResiUserTransferFormDTO icResiUserTransferFormDTO=new IcResiUserTransferFormDTO();
icResiUserTransferFormDTO.setIcUserId(dto.getUserId());
icResiUserTransferFormDTO.setType("out");
icResiUserTransferFormDTO.setCustomerId(dto.getCustomerId());
icResiUserTransferFormDTO.setStaffId(dto.getStaffId());
//死亡日期即为取当前时间,视作变更时间 todo 待确认
icResiUserTransferFormDTO.setTransferTime(new Date());
icResiUserTransferFormDTO.setMoveType("died");
//死亡原因
icResiUserTransferFormDTO.setReason(dto.getJoinReason());
SpringContextUtils.getBean(IcUserTransferRecordService.class).moveOutResi(icResiUserTransferFormDTO);
//推送MQ事件
changeRelocationServiceImpl.editResiMq(formDTO.getCustomerId(), dto.getUserId());
return new Result();
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(ChangeDeathDTO dto) {
ChangeDeathEntity entity = ConvertUtils.sourceToTarget(dto, ChangeDeathEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

222
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeRelocationServiceImpl.java

@ -0,0 +1,222 @@
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.rocketmq.messages.IcResiUserAddMQMsg;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.enums.IcResiUserSubStatusEnum;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.commons.tools.validator.IdCardNoValidatorUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.constant.SystemMessageType;
import com.epmet.dao.ChangeRelocationDao;
import com.epmet.dto.ChangeRelocationDTO;
import com.epmet.dto.ChangeWelfareDTO;
import com.epmet.dto.form.IcResiUserTransferFormDTO;
import com.epmet.dto.form.RentTenantDataFormDTO;
import com.epmet.dto.form.SystemMsgFormDTO;
import com.epmet.dto.result.RentTenantDataResultDTO;
import com.epmet.entity.ChangeRelocationEntity;
import com.epmet.entity.IcResiUserEntity;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.redis.ChangeRelocationRedis;
import com.epmet.service.ChangeRelocationService;
import com.epmet.service.ChangeWelfareService;
import com.epmet.service.IcResiUserService;
import com.epmet.service.IcUserTransferRecordService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 合同表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-06
*/
@Slf4j
@Service
public class ChangeRelocationServiceImpl extends BaseServiceImpl<ChangeRelocationDao, ChangeRelocationEntity> implements ChangeRelocationService {
@Autowired
private ChangeRelocationRedis changeRelocationRedis;
@Autowired
LoginUserUtil loginUserUtil;
@Autowired
private IcResiUserServiceImpl icResiUserServiceImpl;
@Autowired
private ChangeWelfareService changeWelfareService;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private IcResiUserService icResiUserService;
@Override
public PageData<ChangeRelocationDTO> page(Map<String, Object> params) {
IPage<ChangeRelocationEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, ChangeRelocationDTO.class);
}
@Override
public List<ChangeRelocationDTO> list(Map<String, Object> params) {
List<ChangeRelocationEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, ChangeRelocationDTO.class);
}
private QueryWrapper<ChangeRelocationEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
String name = (String) params.get("name");
String idCard = (String) params.get("idCard");
String mobile = (String) params.get("mobile");
String startTime = (String) params.get("startTime");
String endTime = (String) params.get("endTime");
String gridId = (String) params.get("gridId");
String villageId = (String) params.get("villageId");
String buildId = (String) params.get("buildId");
String unitId = (String) params.get("unitId");
String homeId = (String) params.get("homeId");
QueryWrapper<ChangeRelocationEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(StringUtils.isNotBlank(name), "NAME", name);
wrapper.eq(StringUtils.isNotBlank(idCard), "ID_CARD", idCard);
wrapper.eq(StringUtils.isNotBlank(mobile), "MOBILE", mobile);
wrapper.ge(StringUtils.isNotBlank(startTime), "OUT_OF_TIME", startTime);
wrapper.le(StringUtils.isNotBlank(endTime), "OUT_OF_TIME", endTime);
wrapper.eq(StringUtils.isNotBlank(gridId), "AGENCY_ID", gridId);
wrapper.eq(StringUtils.isNotBlank(villageId), "VILLAGE_ID", villageId);
wrapper.eq(StringUtils.isNotBlank(buildId), "BUILD_ID", buildId);
wrapper.eq(StringUtils.isNotBlank(unitId), "UNIT_ID", unitId);
wrapper.eq(StringUtils.isNotBlank(homeId), "HOME_ID", homeId);
return wrapper;
}
@Override
public ChangeRelocationDTO get(String id) {
ChangeRelocationEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, ChangeRelocationDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(ChangeRelocationDTO dto) {
ChangeRelocationEntity entity = ConvertUtils.sourceToTarget(dto, ChangeRelocationEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(ChangeRelocationDTO dto) {
ChangeRelocationEntity entity = ConvertUtils.sourceToTarget(dto, ChangeRelocationEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public Result saveOutOfInfo(ChangeRelocationDTO dto) {
RentTenantDataFormDTO formDTO = new RentTenantDataFormDTO();
formDTO.setUserId(dto.getIcUserId());
formDTO.setCustomerId(loginUserUtil.getLoginUserCustomerId());
ValidatorUtils.validateEntity(formDTO, UpdateGroup.class, DefaultGroup.class);
//当前居民信息
RentTenantDataResultDTO result = icResiUserServiceImpl.getRentResiUserInfo(formDTO);
dto.setIdCard(result.getIdCard());
dto.setMobile(result.getMobile());
ChangeRelocationEntity entity = ConvertUtils.sourceToTarget(dto, ChangeRelocationEntity.class);
entity.setPid(dto.getAgencyId());
entity.setAgencyId(dto.getGridId());
entity.setAgencyName(dto.getGridName());
entity.setAge(IdCardNoValidatorUtils.getAge(result.getIdCard()).toString());
entity.setAddress(dto.getVillageName()+dto.getBuildName()+dto.getUnitName()+dto.getHomeName());
insert(entity);
//享受福利
if(dto.getWelfareFlag() != null && dto.getWelfareFlag()){
ChangeWelfareDTO formDto = new ChangeWelfareDTO();
formDto.setUserId(dto.getIcUserId());
formDto.setName(dto.getName());
formDto.setIdCard(result.getIdCard());
formDto.setMobile(result.getMobile());
formDto.setGridId(result.getGridId());
if(StringUtils.isNotBlank(dto.getGender())){
if("女".equals(dto.getGender())){
formDto.setGender("0");
}else if("男".equals(dto.getGender())){
formDto.setGender("1");
}
}
formDto.setJoinReason("迁出人员选定");
formDto.setCustomerId(dto.getCustomerId());
formDto.setCustomerId(formDTO.getCustomerId());
changeWelfareService.saveWelfareInfo(formDto);
}
//更新epmet用户状态
IcResiUserEntity userEntity = new IcResiUserEntity();
userEntity.setId(dto.getIcUserId());
userEntity.setStatus("1");//转出(迁出)
userEntity.setSubStatus(IcResiUserSubStatusEnum.MOVE_OUT.getSubStatus());//迁出
icResiUserService.updateById(userEntity);
//插入一条调动(迁出)记录、变更主表、变更明细表
IcResiUserTransferFormDTO icResiUserTransferFormDTO=ConvertUtils.sourceToTarget(dto,IcResiUserTransferFormDTO.class);
icResiUserTransferFormDTO.setNewAgencyId(dto.getAgencyId());
icResiUserTransferFormDTO.setNewGridId(dto.getGridId());
icResiUserTransferFormDTO.setNewNeighborHoodId(dto.getVillageId());
icResiUserTransferFormDTO.setNewBuildingId(dto.getBuildId());
icResiUserTransferFormDTO.setNewBuildingUnitId(dto.getUnitId());
icResiUserTransferFormDTO.setNewHouseId(dto.getHomeId());
icResiUserTransferFormDTO.setMoveType("out");
SpringContextUtils.getBean(IcUserTransferRecordService.class).moveOutResi(icResiUserTransferFormDTO);
//推送MQ事件
editResiMq(dto.getCustomerId(), dto.getIcUserId());
return new Result();
}
public void editResiMq(String customerId, String userId) {
//推送MQ事件
IcResiUserAddMQMsg mqMsg = new IcResiUserAddMQMsg();
mqMsg.setCustomerId(customerId);
log.info("customer id is {}", customerId);
mqMsg.setIcResiUser(userId);
SystemMsgFormDTO form = new SystemMsgFormDTO();
form.setMessageType(SystemMessageType.IC_RESI_USER_EDIT);
form.setContent(mqMsg);
epmetMessageOpenFeignClient.sendSystemMsgByMQ(form);
}
}

158
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeWelfareServiceImpl.java

@ -0,0 +1,158 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dao.ChangeWelfareDao;
import com.epmet.dto.ChangeWelfareDTO;
import com.epmet.dto.CheckWelfareByIdCardDTO;
import com.epmet.dto.form.RentTenantDataFormDTO;
import com.epmet.dto.result.RentTenantDataResultDTO;
import com.epmet.entity.ChangeWelfareEntity;
import com.epmet.redis.ChangeWelfareRedis;
import com.epmet.service.ChangeWelfareService;
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.*;
/**
* 福利表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
@Service
public class ChangeWelfareServiceImpl extends BaseServiceImpl<ChangeWelfareDao, ChangeWelfareEntity> implements ChangeWelfareService {
@Autowired
private ChangeWelfareRedis changeWelfareRedis;
@Autowired
LoginUserUtil loginUserUtil;
@Autowired
private IcResiUserServiceImpl icResiUserServiceImpl;
@Override
public PageData<ChangeWelfareDTO> page(Map<String, Object> params) {
IPage<ChangeWelfareEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, ChangeWelfareDTO.class);
}
@Override
public List<ChangeWelfareDTO> list(Map<String, Object> params) {
List<ChangeWelfareEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, ChangeWelfareDTO.class);
}
private QueryWrapper<ChangeWelfareEntity> getWrapper(Map<String, Object> params){
String id = (String) params.get(FieldConstant.ID_HUMP);
String name = (String) params.get("name");
String idCard = (String) params.get("idCard");
String mobile = (String) params.get("mobile");
String startTime = (String) params.get("startTime");
String endTime = (String) params.get("endTime");
QueryWrapper<ChangeWelfareEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(StringUtils.isNotBlank(name), "NAME", name);
wrapper.eq(StringUtils.isNotBlank(idCard), "ID_CARD", idCard);
wrapper.eq(StringUtils.isNotBlank(mobile), "MOBILE", mobile);
wrapper.ge(StringUtils.isNotBlank(startTime), "JOIN_DATE", startTime);
wrapper.le(StringUtils.isNotBlank(endTime), "JOIN_DATE", endTime);
return wrapper;
}
@Override
public ChangeWelfareDTO get(String id) {
ChangeWelfareEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, ChangeWelfareDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result save(ChangeWelfareDTO dto) {
RentTenantDataFormDTO formDTO = new RentTenantDataFormDTO();
formDTO.setUserId(dto.getUserId());
formDTO.setCustomerId(loginUserUtil.getLoginUserCustomerId());
ValidatorUtils.validateEntity(formDTO, UpdateGroup.class, DefaultGroup.class);
RentTenantDataResultDTO result = icResiUserServiceImpl.getRentResiUserInfo(formDTO);
dto.setIdCard(result.getIdCard());
dto.setMobile(result.getMobile());
dto.setGridId(result.getGridId());
Map<String, Object> params = new HashMap<>(4);
params.put("idCard", dto.getIdCard());
if (!list(params).isEmpty()) {
return new Result().error("该人员已经迁入福利人口");
}
dto.setJoinDate(DateUtils.format(new Date()));
ChangeWelfareEntity entity = ConvertUtils.sourceToTarget(dto, ChangeWelfareEntity.class);
entity.setCustomerId(loginUserUtil.getLoginUserCustomerId());
insert(entity);
return new Result();
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(ChangeWelfareDTO dto) {
ChangeWelfareEntity entity = ConvertUtils.sourceToTarget(dto, ChangeWelfareEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public Result removeWelfare(ChangeWelfareDTO dto) {
if(StringUtils.isBlank(dto.getId())){
return new Result().error("id不可为空");
}
dto.setRemoveDate(DateUtils.format(new Date()));
baseDao.removeWelfare(dto);
return new Result().ok("移除成功");
}
@Override
public Boolean checkWelfareByIdCard(CheckWelfareByIdCardDTO dto) {
ChangeWelfareEntity entity = baseDao.selectByIdCard(dto.getIdCard());
return entity == null? false: true;
}
@Override
public Result saveWelfareInfo(ChangeWelfareDTO dto) {
Map<String, Object> params = new HashMap<>(4);
params.put("idCard", dto.getIdCard());
if (!list(params).isEmpty()) {
return new Result().error("该人员已经迁入福利人口");
}
dto.setJoinDate(DateUtils.format(new Date()));
ChangeWelfareEntity entity = ConvertUtils.sourceToTarget(dto, ChangeWelfareEntity.class);
insert(entity);
return new Result();
}
}

83
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcMoveInRecordServiceImpl.java

@ -0,0 +1,83 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcMoveInRecordDao;
import com.epmet.dto.IcMoveInRecordDTO;
import com.epmet.entity.IcMoveInRecordEntity;
import com.epmet.service.IcMoveInRecordService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 迁入管理记录
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-09
*/
@Service
public class IcMoveInRecordServiceImpl extends BaseServiceImpl<IcMoveInRecordDao, IcMoveInRecordEntity> implements IcMoveInRecordService {
@Override
public PageData<IcMoveInRecordDTO> page(Map<String, Object> params) {
IPage<IcMoveInRecordEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcMoveInRecordDTO.class);
}
@Override
public List<IcMoveInRecordDTO> list(Map<String, Object> params) {
List<IcMoveInRecordEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcMoveInRecordDTO.class);
}
private QueryWrapper<IcMoveInRecordEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcMoveInRecordEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcMoveInRecordDTO get(String id) {
IcMoveInRecordEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcMoveInRecordDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcMoveInRecordDTO dto) {
IcMoveInRecordEntity entity = ConvertUtils.sourceToTarget(dto, IcMoveInRecordEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcMoveInRecordDTO dto) {
IcMoveInRecordEntity entity = ConvertUtils.sourceToTarget(dto, IcMoveInRecordEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

9
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java

@ -15,6 +15,7 @@ import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.enums.IcResiUserSubStatusEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
@ -23,7 +24,10 @@ import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.*;
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.IcResiUserDao;
import com.epmet.dao.IcUserChangeDetailedDao;
@ -451,7 +455,8 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
// 执行指定的检查以及数据补充
execSpecifiedCheckAndFill(columnAndValues);
//默认新增
columnAndValues.put("SUB_STATUS", IcResiUserSubStatusEnum.IMPORT.getSubStatus());
String idCard = columnAndValues.get("ID_CARD");
Map<String, String> existingResiMap = icResiUserDao.selectResiInfoMap(idCard, null);

93
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -203,6 +203,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
map.put("customer_id", tokenDto.getCustomerId());
map.put("created_by", tokenDto.getUserId());
map.put("updated_by", tokenDto.getUserId());
//默认新增
map.put("SUB_STATUS", IcResiUserSubStatusEnum.ADD.getSubStatus());
if (!map.containsKey("AGENCY_ID")) {
throw new RenException("新增居民信息--入参AGENCY_ID为空");
}
@ -1734,33 +1736,6 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
return baseDao.dynamicQuery(customerId, resultTableName, conditions, map.get("finalSubTables"), showSqlColumns, currentStaffAgencyId, staffOrgPath, map.get("groupByTables"));
}
@Override
@Transactional(rollbackFor = Exception.class)
public String updateImage(RentTenantFormDTO formDTO) {
String resiUserId = "";
IcResiUserDTO userDTO = baseDao.getResiUserByIdCard(formDTO.getIdCard(), formDTO.getCustomerId());
if (null != userDTO) {
resiUserId = userDTO.getId();
// 插入附件头像(只有一张)
List<IcResiUserAttachmentDTO> images = formDTO.getImages();
images.forEach(item -> item.setUserId(userDTO.getId()));
images.forEach(item-> icResiUserAttachmentService.save(item));
} else if (NumConstant.ONE_STR.equals(formDTO.getType())) {
// 如果是新增的租客,需要新增一条信息,不存在的房东就不管了
IcResiUserEntity entity = ConvertUtils.sourceToTarget(formDTO.getUser(), IcResiUserEntity.class);
insert(entity);
resiUserId = entity.getId();
// 新增用户后保存头像信息
List<IcResiUserAttachmentDTO> images = formDTO.getImages();
images.forEach(item -> item.setUserId(entity.getId()));
images.forEach(item -> icResiUserAttachmentService.save(item));
}
return resiUserId;
}
@Override
public RentTenantDataResultDTO getRentResiUserInfo(RentTenantDataFormDTO formDTO) {
IcResiUserEntity entity = baseDao.selectById(formDTO.getUserId());
@ -1804,4 +1779,68 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
return resiUserId;
}
/**
* 根据房屋id,查询居民信息表中-家庭信息-本人 的居民如果有多个返回最近一个
*
* @param homeId
* @param customerId
* @return
*/
@Override
public HouseHolderResDTO queryHouseHold(String homeId, String customerId) {
LambdaQueryWrapper<IcResiUserEntity> lqw = new LambdaQueryWrapper<>();
lqw.eq(IcResiUserEntity::getCustomerId, customerId)
.eq(IcResiUserEntity::getHomeId, homeId)
.eq(IcResiUserEntity::getYhzgx,RelationshipEnum.SELF.getCode())
.select(
IcResiUserEntity::getId,
IcResiUserEntity::getName
)
.orderByDesc(IcResiUserEntity::getCreatedTime).last("limit 1");
IcResiUserEntity resiEntity = baseDao.selectOne(lqw);
return ConvertUtils.sourceToTarget(resiEntity, HouseHolderResDTO.class);
}
/**
* 迁入管理出生管理,勾选了补充居民信息输入身份证号后调用接口校验是否可继续执行
* moveInstatus=false: 如果不是本社区下居民但是本客户下居民且未从其他社区下迁出则提示请联系**社区迁出该居民后操作填写完整信息后提交也进行该提示并且不生成出生记录
*
* @param customerId
* @param idCard
* @return
*/
@Override
public SyncResiResDTO checkUser(String customerId, String idCard, String agencyId) {
SyncResiResDTO resiResDTO = new SyncResiResDTO(customerId, idCard, agencyId);
IcResiUserDTO icResiUserDTO = baseDao.selectIdByIdCard(customerId, idCard, StrConstant.EPMETY_STR);
if (null == icResiUserDTO) {
// 3.不是本社区居民的在客户下不存在的直接新增居民新增迁入记录
return resiResDTO;
}
//当前客户下,存在同身份证号的居民
resiResDTO.setIcResiUserId(icResiUserDTO.getId());
resiResDTO.setStatus(icResiUserDTO.getStatus());
resiResDTO.setResiAgencyId(icResiUserDTO.getAgencyId());
resiResDTO.setResiHomeId(icResiUserDTO.getHomeId());
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(resiResDTO.getResiAgencyId());
if (null == agencyInfo) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询组织信息异常", EpmetErrorCode.SERVER_ERROR.getMsg());
}
resiResDTO.setResiAgencyName(agencyInfo.getOrganizationName());
// 1.判断是否本社区居民,是的在判断是正常还是游离,正常的判断房屋跟之前是否一样,不一样的给提示是否更新,一样的直接更新居民信息,生成迁入记录,游离的直接更新居民信息,生成迁入记录
// 1.留给调用者去判断;
// 2.判断不是本社区居民的,在判断是正常还是游离,正常的直接停止程序操作,游离的直接更新居民信息,生成迁入记录;
if (!icResiUserDTO.getAgencyId().equals(agencyId) && !NumConstant.ONE_STR.equals(icResiUserDTO.getStatus())) {
resiResDTO.setMoveInstatus(false);
}
return resiResDTO;
}
}

197
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java

@ -18,17 +18,20 @@
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.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.enums.IcResiUserSubStatusEnum;
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.commons.tools.validator.ValidatorUtils;
import com.epmet.dao.IcResiUserDao;
import com.epmet.dao.IcUserTransferRecordDao;
import com.epmet.dto.IcResiCategoryStatsConfigDTO;
import com.epmet.dto.IcResiCategoryWarnConfigDTO;
import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.form.IcResiUserOrgMsgFormDTO;
import com.epmet.dto.form.IcResiUserTransferFormDTO;
@ -82,27 +85,9 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl<IcUserTrans
@Transactional(rollbackFor = Exception.class)
public void add(IcResiUserTransferFormDTO formDTO) {
//1.判断被调动人员是否有效
IcResiUserDTO resiUserDTO = icResiUserDao.selectIdByIdCard(formDTO.getCustomerId(), null, formDTO.getIcUserId());
if (null == resiUserDTO) {
throw new RenException("9000", "人员调动失败,被调动人不存在!");
}
IcResiUserDTO resiUserDTO=getIcResiUserDTO(formDTO.getCustomerId(),formDTO.getIcUserId());
//2.查询人员调动前的组织、网格、小区、楼栋、单元、房屋信息
IcResiUserOrgMsgFormDTO orgMsgFormDTO1 = new IcResiUserOrgMsgFormDTO();
orgMsgFormDTO1.setCustomerId(resiUserDTO.getCustomerId());
orgMsgFormDTO1.setAgencyId(resiUserDTO.getAgencyId());
orgMsgFormDTO1.setGridId(resiUserDTO.getGridId());
orgMsgFormDTO1.setNeighborHoodId(resiUserDTO.getVillageId());
orgMsgFormDTO1.setBuildingId(resiUserDTO.getBuildId());
orgMsgFormDTO1.setBuildingUnitId(resiUserDTO.getUnitId());
orgMsgFormDTO1.setHouseId(resiUserDTO.getHomeId());
Result<IcResiUserOrgMsgResultDTO> result1 = govOrgOpenFeignClient.icResiUserOrgMsg(orgMsgFormDTO1);
if (!result1.success() || null == result1.getData().getAgencyDTO() || null == result1.getData().getGridDTO() || null == result1.getData().getNeighborHoodDTO()
|| null == result1.getData().getBuildingDTO() || null == result1.getData().getBuildingUnitDTO() || null == result1.getData().getHouseDTO()) {
log.warn("查找被调动人调动前的组织、网格、小区、楼栋、单元、房屋信息失败");
throw new RenException("9000", "获取被调动人基础信息失败");
}
IcResiUserOrgMsgResultDTO icResiUserOrgMsgResultDTO=getIcResiUserOrgMsgResultDTO(resiUserDTO);
//3.查询人员调动后的组织、网格、小区、楼栋、单元、房屋信息
Result<IcResiUserOrgMsgResultDTO> result2 = new Result<>();
if("in".equals(formDTO.getType())){
@ -129,6 +114,8 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl<IcUserTrans
if ("out".equals(formDTO.getType())) {
//4-1.转到客户外修改基础信息表人员信息状态
userEntity.setStatus("1");
//用户详细状态:01:新增、02:导入、03:迁入、04:新生、11:迁出、21死亡
userEntity.setSubStatus(IcResiUserSubStatusEnum.MOVE_OUT.getSubStatus());
} else {
//4-2.客户内部流转修改所属各维度信息
userEntity.setAgencyId(formDTO.getNewAgencyId());
@ -143,7 +130,7 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl<IcUserTrans
//5.生成调动记录
CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId());
IcUserTransferRecordEntity recordEntity = saveTransferRecord(staffInfoCache, formDTO, resiUserDTO, result1.getData(), result2.getData());
IcUserTransferRecordEntity recordEntity = saveTransferRecord(staffInfoCache, formDTO, resiUserDTO, icResiUserOrgMsgResultDTO, result2.getData());
insert(recordEntity);
//6.生成调动前后的变更记录、变更明细
@ -160,9 +147,9 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl<IcUserTrans
changeRecordEntity.setType("transfer");
changeRecordEntity.setTypeName("调动");
StringBuffer beforeName = new StringBuffer();
beforeName.append(result1.getData().getAgencyDTO().getOrganizationName()).append("-").append(result1.getData().getGridDTO().getGridName()).append("-")
.append(result1.getData().getNeighborHoodDTO().getNeighborHoodName()).append("-").append(result1.getData().getBuildingDTO().getBuildingName()).append("-")
.append(result1.getData().getBuildingUnitDTO().getUnitName()).append("-").append(result1.getData().getHouseDTO().getHouseName());
beforeName.append(icResiUserOrgMsgResultDTO.getAgencyDTO().getOrganizationName()).append("-").append(icResiUserOrgMsgResultDTO.getGridDTO().getGridName()).append("-")
.append(icResiUserOrgMsgResultDTO.getNeighborHoodDTO().getNeighborHoodName()).append("-").append(icResiUserOrgMsgResultDTO.getBuildingDTO().getBuildingName()).append("-")
.append(icResiUserOrgMsgResultDTO.getBuildingUnitDTO().getUnitName()).append("-").append(icResiUserOrgMsgResultDTO.getHouseDTO().getHouseName());
changeRecordEntity.setBeforeChangeName(beforeName.toString());
StringBuffer afterName = new StringBuffer();
if ("in".equals(formDTO.getType())) {
@ -172,6 +159,7 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl<IcUserTrans
}
changeRecordEntity.setAfterChangeName(StringUtils.isEmpty(afterName.toString()) ? "-" : afterName.toString());
changeRecordEntity.setChangeTime(formDTO.getTransferTime());
changeRecordEntity.setReason(formDTO.getReason());
changeRecordEntity.setRemark(formDTO.getRemark());
icUserChangeRecordService.insert(changeRecordEntity);
//6-2.变更明细【类别明细迁出组织的-1,迁入组织的1】
@ -183,7 +171,7 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl<IcUserTrans
}
List<String> columns = categoryListResult.getData().stream().map(IcResiCategoryStatsConfigDTO::getColumnName).collect(Collectors.toList());
Map<String, String> map = icResiUserDao.getCategoryListMap(columns, formDTO.getIcUserId());
List<IcUserChangeDetailedEntity> changeDetailedEntityList = saveChangeDetailed(categoryListResult.getData(), map, changeRecordEntity.getId(), formDTO, resiUserDTO);
List<IcUserChangeDetailedEntity> changeDetailedEntityList = saveChangeDetailed(categoryListResult.getData(), map, changeRecordEntity.getId(), formDTO, resiUserDTO, NumConstant.ONE_STR);
icUserChangeDetailedService.insertBatch(changeDetailedEntityList);
}
@ -233,10 +221,16 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl<IcUserTrans
}
/**
* @param origin 1:变动2迁出3死亡
* @Author sun
* @Description 变更明细
**/
private List<IcUserChangeDetailedEntity> saveChangeDetailed(List<IcResiCategoryStatsConfigDTO> configList, Map<String, String> map, String icUserChangeRecordId, IcResiUserTransferFormDTO formDTO, IcResiUserDTO resiUserDTO) {
private List<IcUserChangeDetailedEntity> saveChangeDetailed(List<IcResiCategoryStatsConfigDTO> configList,
Map<String, String> map,
String icUserChangeRecordId,
IcResiUserTransferFormDTO formDTO,
IcResiUserDTO resiUserDTO,
String origin) {
List<IcUserChangeDetailedEntity> list = new ArrayList<>();
IcUserChangeDetailedEntity outEntity = null;
IcUserChangeDetailedEntity inEntity = null;
@ -265,13 +259,18 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl<IcUserTrans
outEntity.setBuildingUnitId(resiUserDTO.getUnitId());
outEntity.setHouseId(resiUserDTO.getHomeId());
outEntity.setIcUserId(formDTO.getIcUserId());
outEntity.setType("out");
outEntity.setTypeName("迁出");
if (NumConstant.ONE_STR.equals(origin) || NumConstant.TWO_STR.equals(origin)) {
outEntity.setType("out");
outEntity.setTypeName("迁出");
}else if( NumConstant.THREE_STR.equals(origin)){
outEntity.setType("die");
outEntity.setTypeName("死亡");
}
outEntity.setFieldName(cf.getColumnName());
outEntity.setValue(-1);
list.add(outEntity);
//迁入
if ("in".equals(formDTO.getType())) {
//原来的变动,并且是迁入到同客户内走下面的流程
if ("in".equals(formDTO.getType()) && NumConstant.ONE_STR.equals(origin)) {
inEntity = new IcUserChangeDetailedEntity();
inEntity.setCustomerId(formDTO.getCustomerId());
inEntity.setIcUserChangeRecordId(icUserChangeRecordId);
@ -294,4 +293,140 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl<IcUserTrans
return list;
}
/**
* 迁出管理新增迁出人员时插入调动记录
*
* @param formDTO
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void moveOutResi(IcResiUserTransferFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, IcResiUserTransferFormDTO.TransferAdd.class);
//1.判断被调动人员是否有效
IcResiUserDTO resiUserDTO = getIcResiUserDTO(formDTO.getCustomerId(), formDTO.getIcUserId());
//2.查询人员调动前的组织、网格、小区、楼栋、单元、房屋信息
IcResiUserOrgMsgResultDTO icResiUserOrgMsgResultDTO = getIcResiUserOrgMsgResultDTO(resiUserDTO);
//3.查询人员调动后的组织、网格、小区、楼栋、单元、房屋信息;
Result<IcResiUserOrgMsgResultDTO> result2 = getNewHouseInfo(formDTO);
CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId());
IcUserChangeRecordEntity changeRecordEntity = new IcUserChangeRecordEntity();
//5.生成调动记录: 只有迁出的才生成
if("out".equals(formDTO.getMoveType())){
IcUserTransferRecordEntity recordEntity = saveTransferRecord(staffInfoCache, formDTO, resiUserDTO, icResiUserOrgMsgResultDTO, result2.getData());
insert(recordEntity);
changeRecordEntity.setIcUserTransferRecordId(recordEntity.getId());
}
//6.生成调动前后的变更记录、变更明细
//6-1.变更记录
changeRecordEntity.setCustomerId(formDTO.getCustomerId());
changeRecordEntity.setOperatorId(formDTO.getStaffId());
changeRecordEntity.setIcUserId(formDTO.getIcUserId());
changeRecordEntity.setOperatorName(staffInfoCache.getRealName());
changeRecordEntity.setIcUserName(resiUserDTO.getName());
//迁出存调动,死亡存注销
if ("out".equals(formDTO.getMoveType())) {
changeRecordEntity.setType("transfer");
changeRecordEntity.setTypeName("调动");
} else if ("died".equals(formDTO.getMoveType())) {
changeRecordEntity.setType("logout");
changeRecordEntity.setTypeName("注销");
}
StringBuffer beforeName = new StringBuffer();
beforeName.append(icResiUserOrgMsgResultDTO.getAgencyDTO().getOrganizationName()).append("-").append(icResiUserOrgMsgResultDTO.getGridDTO().getGridName()).append("-")
.append(icResiUserOrgMsgResultDTO.getNeighborHoodDTO().getNeighborHoodName()).append("-").append(icResiUserOrgMsgResultDTO.getBuildingDTO().getBuildingName()).append("-")
.append(icResiUserOrgMsgResultDTO.getBuildingUnitDTO().getUnitName()).append("-").append(icResiUserOrgMsgResultDTO.getHouseDTO().getHouseName());
changeRecordEntity.setBeforeChangeName(beforeName.toString());
StringBuffer afterName = new StringBuffer();
if ("in".equals(formDTO.getType())) {
afterName.append(result2.getData().getAgencyDTO().getOrganizationName()).append("-").append(result2.getData().getGridDTO().getGridName()).append("-")
.append(result2.getData().getNeighborHoodDTO().getNeighborHoodName()).append("-").append(result2.getData().getBuildingDTO().getBuildingName()).append("-")
.append(result2.getData().getBuildingUnitDTO().getUnitName()).append("-").append(result2.getData().getHouseDTO().getHouseName());
}
changeRecordEntity.setAfterChangeName(StringUtils.isEmpty(afterName.toString()) ? "-" : afterName.toString());
changeRecordEntity.setChangeTime(formDTO.getTransferTime());
changeRecordEntity.setReason(formDTO.getReason());
changeRecordEntity.setRemark(formDTO.getRemark());
icUserChangeRecordService.insert(changeRecordEntity);
//6-2.变更明细【类别明细迁出组织的-1,迁入组织的1】
IcResiCategoryStatsConfigDTO dto = new IcResiCategoryStatsConfigDTO();
dto.setCustomerId(formDTO.getCustomerId());
Result<List<IcResiCategoryStatsConfigDTO>> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(dto);
if (!categoryListResult.success()) {
throw new RenException("人员调动,获取客户居民类别预警配置表数据失败");
}
List<String> columns = categoryListResult.getData().stream().map(IcResiCategoryStatsConfigDTO::getColumnName).collect(Collectors.toList());
Map<String, String> map = icResiUserDao.getCategoryListMap(columns, formDTO.getIcUserId());
List<IcUserChangeDetailedEntity> changeDetailedEntityList = saveChangeDetailed(categoryListResult.getData(), map, changeRecordEntity.getId(), formDTO, resiUserDTO, NumConstant.TWO_STR);
icUserChangeDetailedService.insertBatch(changeDetailedEntityList);
}
/**
* 根据userId查询ic_resi_user
*
* @param customerId
* @param icUserId
* @return
*/
private IcResiUserDTO getIcResiUserDTO(String customerId, String icUserId) {
IcResiUserDTO resiUserDTO = icResiUserDao.selectIdByIdCard(customerId, null, icUserId);
if (null == resiUserDTO) {
throw new RenException("9000", "人员调动失败,被调动人不存在!");
}
return resiUserDTO;
}
/**
* 校验居民调动前的基础信息
*
* @param resiUserDTO
* @return
*/
private IcResiUserOrgMsgResultDTO getIcResiUserOrgMsgResultDTO(IcResiUserDTO resiUserDTO) {
IcResiUserOrgMsgFormDTO orgMsgFormDTO1 = ConvertUtils.sourceToTarget(resiUserDTO, IcResiUserOrgMsgFormDTO.class);
orgMsgFormDTO1.setNeighborHoodId(resiUserDTO.getVillageId());
orgMsgFormDTO1.setBuildingId(resiUserDTO.getBuildId());
orgMsgFormDTO1.setBuildingUnitId(resiUserDTO.getUnitId());
orgMsgFormDTO1.setHouseId(resiUserDTO.getHomeId());
Result<IcResiUserOrgMsgResultDTO> result1 = govOrgOpenFeignClient.icResiUserOrgMsg(orgMsgFormDTO1);
if (!result1.success() || null == result1.getData().getAgencyDTO() || null == result1.getData().getGridDTO() || null == result1.getData().getNeighborHoodDTO()
|| null == result1.getData().getBuildingDTO() || null == result1.getData().getBuildingUnitDTO() || null == result1.getData().getHouseDTO()) {
log.warn("查找被调动人调动前的组织、网格、小区、楼栋、单元、房屋信息失败");
throw new RenException("9000", "获取被调动人基础信息失败");
}
return result1.getData();
}
/**
* 迁出管理的校验下拟迁入的房屋
* @param formDTO
* @return
*/
private Result<IcResiUserOrgMsgResultDTO> getNewHouseInfo(IcResiUserTransferFormDTO formDTO) {
Result<IcResiUserOrgMsgResultDTO> result2 = new Result<>();
if ("out".equals(formDTO.getMoveType())) {
IcResiUserOrgMsgFormDTO orgMsgFormDTO2 = new IcResiUserOrgMsgFormDTO();
orgMsgFormDTO2.setCustomerId(formDTO.getCustomerId());
orgMsgFormDTO2.setAgencyId(formDTO.getNewAgencyId());
orgMsgFormDTO2.setGridId(formDTO.getNewGridId());
orgMsgFormDTO2.setNeighborHoodId(formDTO.getNewNeighborHoodId());
orgMsgFormDTO2.setBuildingId(formDTO.getNewBuildingId());
orgMsgFormDTO2.setBuildingUnitId(formDTO.getNewBuildingUnitId());
orgMsgFormDTO2.setHouseId(formDTO.getNewHouseId());
result2 = govOrgOpenFeignClient.icResiUserOrgMsg(orgMsgFormDTO2);
if (!result2.success() || null == result2.getData().getAgencyDTO() || null == result2.getData().getGridDTO() || null == result2.getData().getNeighborHoodDTO()
|| null == result2.getData().getBuildingDTO() || null == result2.getData().getBuildingUnitDTO() || null == result2.getData().getHouseDTO()) {
log.warn("查找被调动人调动后的组织、网格、小区、楼栋、单元、房屋信息失败");
throw new RenException("9000", "获取被调动人基础信息失败");
}
}
return result2;
}
}

12
epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.42__add_die_substatus.sql

@ -0,0 +1,12 @@
-- 变更记录表:增加 原因一列,增加操作类型
alter table ic_user_change_record add COLUMN REASON VARCHAR(255) DEFAULT '' COMMENT '原因(迁入原因/迁出原因等)' after CHANGE_TIME;
alter table ic_user_change_record MODIFY COLUMN `TYPE` varchar(64) NOT NULL COMMENT '操作类型【add:新增 category:类别 transfer:调动;logout注销】';
alter table ic_user_change_record MODIFY COLUMN `TYPE_NAME` varchar(64) NOT NULL COMMENT '操作类型名称【add:新增 category:类别 transfer:调动;logout注销】';
-- 变更明细表,增加操作类型
alter table ic_user_change_detailed MODIFY COLUMN `TYPE` varchar(255) NOT NULL COMMENT '操作类型【add:新增 category:类别 in:迁入 out:迁出;死亡:die】';
alter table ic_user_change_detailed MODIFY COLUMN `TYPE_NAME` varchar(255) NOT NULL COMMENT '操作类型名称【add:新增 category:类别 in:迁入 out:迁出;死亡:die】';
-- 居民信息表:增加一种状态;添加一列详细状态
alter table ic_resi_user MODIFY COLUMN `STATUS` varchar(1) DEFAULT '0' COMMENT '用户状态【0:正常;1:迁出;2:注销】';
-- 01:新增、02:导入、03:迁入、04:新生、11:迁出、21死亡....;
alter table ic_resi_user ADD COLUMN `SUB_STATUS` varchar(10) DEFAULT NULL COMMENT '用户详细状态:01:新增、02:导入、03:迁入、04:新生、11:迁出、21死亡' AFTER `STATUS`;

85
epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.43__create_pli_death_welfare_relocation.sql

@ -0,0 +1,85 @@
CREATE TABLE `pli_change_death` (
`ID` varchar(32) NOT NULL COMMENT '主键',
`USER_ID` varchar(32) NOT NULL COMMENT 'epmet用户主键',
`GRID_ID` varchar(32) DEFAULT NULL COMMENT 'epmet网格ID',
`NAME` varchar(32) DEFAULT NULL COMMENT '姓名',
`ID_CARD` varchar(32) NOT NULL COMMENT '身份证',
`MOBILE` varchar(32) DEFAULT NULL COMMENT '手机号',
`GENDER` varchar(2) DEFAULT NULL COMMENT '性别 0女 1男',
`TYPE` varchar(2) DEFAULT NULL COMMENT '类型 0 租客 1 房东',
`JOIN_DATE` varchar(32) DEFAULT NULL COMMENT '加入时间',
`JOIN_REASON` varchar(255) DEFAULT NULL COMMENT '加入原因',
`REMOVE_DATE` varchar(32) DEFAULT NULL COMMENT '移除时间',
`REMOVE_REASON` varchar(255) DEFAULT NULL COMMENT '移除原因',
`DEL_FLAG` varchar(1) DEFAULT NULL COMMENT '删除标记 0:未删除,1:已删除',
`REVISION` int(11) DEFAULT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人',
`CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人',
`UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
PRIMARY KEY (`ID`) USING BTREE,
KEY `epdc_master_topic_USER_ID_IDX` (`USER_ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='死亡名单表';
CREATE TABLE `pli_change_relocation` (
`ID` varchar(32) NOT NULL COMMENT '主键',
`NAME` varchar(32) DEFAULT NULL COMMENT '姓名',
`ID_CARD` varchar(32) DEFAULT NULL COMMENT '身份证号',
`GENDER` varchar(32) DEFAULT NULL COMMENT '性别 0女 1男',
`AGE` varchar(32) DEFAULT NULL COMMENT '年龄',
`MOBILE` varchar(32) DEFAULT NULL COMMENT '手机号',
`PID` varchar(32) DEFAULT NULL COMMENT '组织PID',
`AGENCY_ID` varchar(32) DEFAULT NULL COMMENT '组织ID',
`AGENCY_NAME` varchar(32) DEFAULT NULL COMMENT '组织名',
`VILLAGE_ID` varchar(32) DEFAULT NULL COMMENT '房屋小区ID',
`VILLAGE_NAME` varchar(32) DEFAULT NULL COMMENT '房屋小区',
`BUILD_ID` varchar(32) DEFAULT NULL COMMENT '楼号ID',
`BUILD_NAME` varchar(32) DEFAULT NULL COMMENT '楼号',
`UNIT_ID` varchar(32) DEFAULT NULL COMMENT '单元ID',
`UNIT_NAME` varchar(32) DEFAULT NULL COMMENT '单元',
`HOME_ID` varchar(32) DEFAULT NULL COMMENT '房屋ID',
`HOME_NAME` varchar(32) DEFAULT NULL COMMENT '房屋',
`ADDRESS` varchar(32) DEFAULT NULL COMMENT '外迁详细地址',
`TYPE` varchar(5) DEFAULT '0' COMMENT '操作类型【客户外out,客户内in】',
`OWNER_NAME` varchar(32) DEFAULT NULL COMMENT '原房主姓名',
`OLD_DEPT` varchar(32) DEFAULT NULL COMMENT '原网格信息',
`OLD_ADDRESS` varchar(32) DEFAULT NULL COMMENT '原房屋信息',
`OLD_HOME` varchar(32) DEFAULT NULL COMMENT '原房间号',
`REASON` varchar(32) DEFAULT NULL COMMENT '迁出原因',
`DEL_FLAG` varchar(1) DEFAULT NULL COMMENT '删除标记 0:未删除,1:已删除',
`REVISION` int(11) DEFAULT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人',
`CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人',
`UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
`OUT_OF_TIME` date DEFAULT NULL COMMENT '迁出时间',
`IC_USER_ID` varchar(64) DEFAULT NULL COMMENT 'epmet用户主键',
PRIMARY KEY (`ID`) USING BTREE,
KEY `epdc_master_topic_USER_ID_IDX` (`HOME_NAME`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='迁出表';
CREATE TABLE `pli_change_welfare` (
`ID` varchar(32) NOT NULL COMMENT '主键',
`USER_ID` varchar(32) NOT NULL COMMENT 'epmet用户主键',
`GRID_ID` varchar(32) DEFAULT NULL COMMENT 'epmet网格ID',
`NAME` varchar(32) DEFAULT NULL COMMENT '姓名',
`ID_CARD` varchar(32) NOT NULL COMMENT '身份证',
`MOBILE` varchar(32) DEFAULT NULL COMMENT '手机号',
`GENDER` varchar(2) DEFAULT NULL COMMENT '性别 0女 1男',
`TYPE` varchar(2) DEFAULT NULL COMMENT '类型',
`JOIN_DATE` varchar(32) DEFAULT NULL COMMENT '加入时间',
`JOIN_REASON` varchar(255) DEFAULT NULL COMMENT '加入原因',
`REMOVE_DATE` varchar(32) DEFAULT NULL COMMENT '移除时间',
`REMOVE_REASON` varchar(255) DEFAULT NULL COMMENT '移除原因',
`DEL_FLAG` varchar(1) DEFAULT NULL COMMENT '删除标记 0:未删除,1:已删除',
`REVISION` int(11) DEFAULT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人',
`CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人',
`UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
PRIMARY KEY (`ID`) USING BTREE,
KEY `epdc_master_topic_USER_ID_IDX` (`USER_ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='福利表';

28
epmet-user/epmet-user-server/src/main/resources/mapper/ChangeDeathDao.xml

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.ChangeDeathDao">
<resultMap type="com.epmet.entity.ChangeDeathEntity" id="rentDeathMap">
<result property="id" column="ID"/>
<result property="userId" column="USER_ID"/>
<result property="name" column="NAME"/>
<result property="idCard" column="ID_CARD"/>
<result property="mobile" column="MOBILE"/>
<result property="gender" column="GENDER"/>
<result property="type" column="TYPE"/>
<result property="joinDate" column="JOIN_DATE"/>
<result property="joinReason" column="JOIN_REASON"/>
<result property="removeDate" column="REMOVE_DATE"/>
<result property="removeReason" column="REMOVE_REASON"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="customerId" column="CUSTOMER_ID"/>
</resultMap>
</mapper>

39
epmet-user/epmet-user-server/src/main/resources/mapper/ChangeRelocationDao.xml

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.ChangeRelocationDao">
<resultMap type="com.epmet.entity.ChangeRelocationEntity" id="changeRelocationMap">
<result property="id" column="ID"/>
<result property="name" column="NAME"/>
<result property="gender" column="GENDER"/>
<result property="age" column="AGE"/>
<result property="pid" column="PID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="agencyName" column="AGENCY_NAME"/>
<result property="villageId" column="VILLAGE_ID"/>
<result property="villageName" column="VILLAGE_NAME"/>
<result property="buildId" column="BUILD_ID"/>
<result property="buildName" column="BUILD_NAME"/>
<result property="unitId" column="UNIT_ID"/>
<result property="unitName" column="UNIT_NAME"/>
<result property="homeId" column="HOME_ID"/>
<result property="homeName" column="HOME_NAME"/>
<result property="address" column="ADDRESS"/>
<result property="type" column="TYPE"/>
<result property="ownerName" column="OWNER_NAME"/>
<result property="oldDept" column="OLD_DEPT"/>
<result property="oldAddress" column="OLD_ADDRESS"/>
<result property="oldHome" column="OLD_HOME"/>
<result property="reason" column="REASON"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="customerId" column="CUSTOMER_ID"/>
</resultMap>
</mapper>

41
epmet-user/epmet-user-server/src/main/resources/mapper/ChangeWelfareDao.xml

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.ChangeWelfareDao">
<resultMap type="com.epmet.entity.ChangeWelfareEntity" id="changeWelfareMap">
<result property="id" column="ID"/>
<result property="userId" column="USER_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="name" column="NAME"/>
<result property="idCard" column="ID_CARD"/>
<result property="mobile" column="MOBILE"/>
<result property="gender" column="GENDER"/>
<result property="type" column="TYPE"/>
<result property="joinDate" column="JOIN_DATE"/>
<result property="joinReason" column="JOIN_REASON"/>
<result property="removeDate" column="REMOVE_DATE"/>
<result property="removeReason" column="REMOVE_REASON"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="customerId" column="CUSTOMER_ID"/>
</resultMap>
<select id="selectByIdCard" resultType="com.epmet.entity.ChangeWelfareEntity">
select * from pli_change_welfare
where ID_CARD=#{idCard}
and del_flag='0'
</select>
<update id="removeWelfare">
update pli_change_welfare
set REMOVE_DATE=#{removeDate},
REMOVE_REASON=#{removeReason},
del_flag='1'
where id=#{id}
</update>
</mapper>

8
epmet-user/epmet-user-server/src/main/resources/mapper/IcMoveInRecordDao.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcMoveInRecordDao">
</mapper>

4
epmet-user/epmet-user-server/src/main/resources/mapper/IcUserChangeRecordDao.xml

@ -17,7 +17,9 @@
before_change_name,
after_change_name,
change_time,
remark
remark,
REASON,
CREATED_TIME
FROM
ic_user_change_record
WHERE

Loading…
Cancel
Save