diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/IcResiUserSubStatusEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/IcResiUserSubStatusEnum.java new file mode 100644 index 0000000000..56ea0e13b2 --- /dev/null +++ b/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; + } +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/IdCardNoValidatorUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/IdCardNoValidatorUtils.java index 2dc535fedd..13e0239d96 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/IdCardNoValidatorUtils.java +++ b/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; + } + } diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/HouseMemResDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/HouseMemResDTO.java index f8126473b5..3e12ce5de6 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/HouseMemResDTO.java +++ b/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; diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseChangeDetailDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseChangeDetailDTO.java new file mode 100644 index 0000000000..e667dc78bc --- /dev/null +++ b/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; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseChangeRecordDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseChangeRecordDTO.java new file mode 100644 index 0000000000..bfe7eaaabf --- /dev/null +++ b/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; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseChangeListFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseChangeListFormDTO.java new file mode 100644 index 0000000000..fed6624b73 --- /dev/null +++ b/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; + + /** + * 开始日期,eg:20220510 + */ + private String startDate; + + /** + * 结束日期,eg:20220510 + */ + private String endDate; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseAgencyInfoResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseAgencyInfoResultDTO.java new file mode 100644 index 0000000000..d5734e2791 --- /dev/null +++ b/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 = ""; + } +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChangeListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChangeListResultDTO.java new file mode 100644 index 0000000000..a1ea1007c2 --- /dev/null +++ b/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; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/enums/HouseChangeEnums.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/enums/HouseChangeEnums.java new file mode 100644 index 0000000000..bd8cd9a1be --- /dev/null +++ b/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; + } +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index 3e625e88c2..1d9903832b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -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(); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseChangeDetailController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseChangeDetailController.java new file mode 100644 index 0000000000..d6193984c1 --- /dev/null +++ b/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> page(@RequestParam Map params){ + PageData page = icHouseChangeDetailService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcHouseChangeDetailDTO data = icHouseChangeDetailService.get(id); + return new Result().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(); + } + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseChangeRecordController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseChangeRecordController.java new file mode 100644 index 0000000000..78a25c51e4 --- /dev/null +++ b/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> page(@RequestParam Map params){ + PageData page = icHouseChangeRecordService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcHouseChangeRecordDTO data = icHouseChangeRecordService.get(id); + return new Result().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 list(@LoginUser TokenDto tokenDto,@RequestBody HouseChangeListFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); + return new Result().ok(icHouseChangeRecordService.list(tokenDto, formDTO)); + } +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseChangeDetailDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseChangeDetailDao.java new file mode 100644 index 0000000000..7e8284b335 --- /dev/null +++ b/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 { + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseChangeRecordDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseChangeRecordDao.java new file mode 100644 index 0000000000..4f4d3c6552 --- /dev/null +++ b/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 { + + /** + * Desc: 获取房屋变更记录 + * @param formDTO + * @author zxc + * @date 2022/5/10 14:22 + */ + List getHouseChangeList(HouseChangeListFormDTO formDTO); + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java index 05d4c86990..e1cb4de562 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java @@ -93,4 +93,13 @@ public interface IcHouseDao extends BaseDao { * @Description 【人房】房屋总数饼图 **/ List 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); + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseChangeDetailEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseChangeDetailEntity.java new file mode 100644 index 0000000000..7c116935cb --- /dev/null +++ b/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; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseChangeRecordEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseChangeRecordEntity.java new file mode 100644 index 0000000000..920804fec2 --- /dev/null +++ b/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; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java index dad231ed5c..2203ca98a2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java @@ -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 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())); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java index 3ef5b4ca2a..b872a9fc8c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java @@ -19,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); + /** * 小寨子社区-合同签订后变更成出租状态 * diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseChangeDetailService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseChangeDetailService.java new file mode 100644 index 0000000000..eaf68a4cda --- /dev/null +++ b/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 { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-05-09 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-05-09 + */ + List list(Map 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); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseChangeRecordService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseChangeRecordService.java new file mode 100644 index 0000000000..0405fce0b0 --- /dev/null +++ b/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 { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-05-09 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-05-09 + */ + List list(Map 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); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index 2c2101e5b3..9949a8753c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -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 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){ diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseChangeDetailServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseChangeDetailServiceImpl.java new file mode 100644 index 0000000000..0e43ff2a95 --- /dev/null +++ b/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 implements IcHouseChangeDetailService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcHouseChangeDetailDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcHouseChangeDetailDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public 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)); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseChangeRecordServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseChangeRecordServiceImpl.java new file mode 100644 index 0000000000..f1ccb252aa --- /dev/null +++ b/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 implements IcHouseChangeRecordService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcHouseChangeRecordDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcHouseChangeRecordDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public 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 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 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 houseChangeList = baseDao.getHouseChangeList(formDTO); + pageData.setList(houseChangeList); + pageData.setTotal(houseChangeList.size()); + } + return pageData; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.19__house_change_record_and_detail.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.19__house_change_record_and_detail.sql new file mode 100644 index 0000000000..4646d335c4 --- /dev/null +++ b/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='房屋变更详情表'; \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseChangeDetailDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseChangeDetailDao.xml new file mode 100644 index 0000000000..edec579b62 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseChangeDetailDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseChangeRecordDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseChangeRecordDao.xml new file mode 100644 index 0000000000..67765b0c6e --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseChangeRecordDao.xml @@ -0,0 +1,46 @@ + + + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index 14ad186898..8e48d2e4d5 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -344,4 +344,19 @@ GROUP BY rent_flag + + + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeDeathDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeDeathDTO.java new file mode 100644 index 0000000000..9f77373ab4 --- /dev/null +++ b/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; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeRelocationDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeRelocationDTO.java new file mode 100644 index 0000000000..72914073bb --- /dev/null +++ b/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; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeWelfareDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeWelfareDTO.java new file mode 100644 index 0000000000..94e991c94a --- /dev/null +++ b/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; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CheckWelfareByIdCardDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CheckWelfareByIdCardDTO.java new file mode 100644 index 0000000000..0d704a2624 --- /dev/null +++ b/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; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcMoveInRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcMoveInRecordDTO.java new file mode 100644 index 0000000000..f68c93d372 --- /dev/null +++ b/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; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java index 72769ea31e..2cd1167802 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java +++ b/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.已删除 */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeDetailedDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeDetailedDTO.java index cc4ed1a405..81c3cd0780 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeDetailedDTO.java +++ b/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; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeRecordDTO.java index 5e4818d8f8..10b926ba35 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeRecordDTO.java +++ b/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; /** diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserTransferFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserTransferFormDTO.java index 7b840a83aa..82bcedfa66 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserTransferFormDTO.java +++ b/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; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseHolderResDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseHolderResDTO.java new file mode 100644 index 0000000000..143bc78027 --- /dev/null +++ b/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; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseUserDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseUserDTO.java index 7bf9978b48..ad44b7a13a 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseUserDTO.java +++ b/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; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/SyncResiResDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/SyncResiResDTO.java new file mode 100644 index 0000000000..8c127ed403 --- /dev/null +++ b/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; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeDeathController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeDeathController.java new file mode 100644 index 0000000000..ddbcbbb88d --- /dev/null +++ b/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> page(@RequestParam Map params){ + PageData page = changeDeathService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + ChangeDeathDTO data = changeDeathService.get(id); + return new Result().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 params, HttpServletResponse response) throws Exception { + List list = changeDeathService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, ChangeDeathExcel.class); + } + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeRelocationController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeRelocationController.java new file mode 100644 index 0000000000..99d25eaf03 --- /dev/null +++ b/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> page(@RequestParam Map params){ + PageData page = changeRelocationService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + ChangeRelocationDTO data = changeRelocationService.get(id); + return new Result().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 params, HttpServletResponse response) throws Exception { + List 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); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeWelfareController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeWelfareController.java new file mode 100644 index 0000000000..4b1fee6010 --- /dev/null +++ b/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> page(@RequestParam Map params){ + PageData page = changeWelfareService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + ChangeWelfareDTO data = changeWelfareService.get(id); + return new Result().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 params, HttpServletResponse response) throws Exception { + List 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); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcMoveInRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcMoveInRecordController.java new file mode 100644 index 0000000000..bc30dc17ba --- /dev/null +++ b/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 get(@PathVariable("id") String id){ + IcMoveInRecordDTO data = icMoveInRecordService.get(id); + return new Result().ok(data); + } + + @RequestMapping("list") + public Result> page(@RequestParam Map params){ + PageData page = icMoveInRecordService.page(params); + return new Result>().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 params, HttpServletResponse response) throws Exception { + List list = icMoveInRecordService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, IcMoveInRecordExcel.class); + } + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 1b923f19d5..1f8eb5ed51 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -1016,4 +1016,33 @@ public class IcResiUserController implements ResultDataResolver { // }); // return new Result(); // } + + /** + * 根据房屋id,查询居民信息表中-家庭信息-本人 的居民。如果有多个,返回最近一个 + * @param homeId + * @param loginUser + * @return + */ + @PostMapping("queryhousehold/{homeId}") + public Result 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 checkUser(@LoginUser TokenDto tokenDto, @RequestBody SyncResiResDTO formDto) { + ValidatorUtils.validateEntity(formDto, SyncResiResDTO.FormShow.class, SyncResiResDTO.FormInternal.class); + return new Result().ok(icResiUserService.checkUser(tokenDto.getCustomerId(), formDto.getIdCard(), formDto.getAgencyId())); + } + + + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ChangeDeathDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ChangeDeathDao.java new file mode 100644 index 0000000000..4688321e64 --- /dev/null +++ b/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 { + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ChangeRelocationDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ChangeRelocationDao.java new file mode 100644 index 0000000000..ee7a543e8e --- /dev/null +++ b/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 { + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ChangeWelfareDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ChangeWelfareDao.java new file mode 100644 index 0000000000..ba7aadeea2 --- /dev/null +++ b/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 { + + /** + * @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); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcMoveInRecordDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcMoveInRecordDao.java new file mode 100644 index 0000000000..4910ea8882 --- /dev/null +++ b/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 { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/ChangeDeathEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/ChangeDeathEntity.java new file mode 100644 index 0000000000..351c58e424 --- /dev/null +++ b/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; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/ChangeRelocationEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/ChangeRelocationEntity.java new file mode 100644 index 0000000000..d64287ed4e --- /dev/null +++ b/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; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/ChangeWelfareEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/ChangeWelfareEntity.java new file mode 100644 index 0000000000..2ddb43582a --- /dev/null +++ b/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; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcMoveInRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcMoveInRecordEntity.java new file mode 100644 index 0000000000..9ee125a348 --- /dev/null +++ b/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; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java index 4a25a479af..8b3b5ad283 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java +++ b/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 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeDetailedEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeDetailedEntity.java index f60a5d1e36..f985ea140a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeDetailedEntity.java +++ b/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; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeRecordEntity.java index 82b964d104..ee137984c9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeRecordEntity.java +++ b/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; + /** * 备注说明 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeDeathExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeDeathExcel.java new file mode 100644 index 0000000000..bb250db6b8 --- /dev/null +++ b/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; + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeRelocationExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeRelocationExcel.java new file mode 100644 index 0000000000..2ce20d1f49 --- /dev/null +++ b/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; + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeWelfareExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeWelfareExcel.java new file mode 100644 index 0000000000..909294dfa9 --- /dev/null +++ b/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; + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcMoveInRecordExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcMoveInRecordExcel.java new file mode 100644 index 0000000000..d1ec627c17 --- /dev/null +++ b/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; + + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/ChangeDeathRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/ChangeDeathRedis.java new file mode 100644 index 0000000000..b91b203810 --- /dev/null +++ b/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; + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/ChangeRelocationRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/ChangeRelocationRedis.java new file mode 100644 index 0000000000..7a1c4d28bc --- /dev/null +++ b/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; + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/ChangeWelfareRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/ChangeWelfareRedis.java new file mode 100644 index 0000000000..157d86e16f --- /dev/null +++ b/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; + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeDeathService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeDeathService.java new file mode 100644 index 0000000000..7be06b1436 --- /dev/null +++ b/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 { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-05-05 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-05-05 + */ + List list(Map 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); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeRelocationService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeRelocationService.java new file mode 100644 index 0000000000..4b74db40a5 --- /dev/null +++ b/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 { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-05-06 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-05-06 + */ + List list(Map 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); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeWelfareService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeWelfareService.java new file mode 100644 index 0000000000..ab13abb470 --- /dev/null +++ b/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 { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-05-09 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-05-09 + */ + List list(Map 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); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcMoveInRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcMoveInRecordService.java new file mode 100644 index 0000000000..3df4e7a2fd --- /dev/null +++ b/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 { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-05-09 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-05-09 + */ + List list(Map 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); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index 698156282f..9d16a16f21 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -307,16 +307,25 @@ public interface IcResiUserService extends BaseService { * @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); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserTransferRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserTransferRecordService.java index 4d1d25f952..228e88fb61 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserTransferRecordService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserTransferRecordService.java @@ -35,4 +35,10 @@ public interface IcUserTransferRecordService extends BaseService 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 page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, ChangeDeathDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, ChangeDeathDTO.class); + } + + private QueryWrapper getWrapper(Map 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 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 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)); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeRelocationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeRelocationServiceImpl.java new file mode 100644 index 0000000000..054db973b5 --- /dev/null +++ b/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 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 page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, ChangeRelocationDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, ChangeRelocationDTO.class); + } + + private QueryWrapper getWrapper(Map 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 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); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeWelfareServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeWelfareServiceImpl.java new file mode 100644 index 0000000000..301091af1f --- /dev/null +++ b/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 implements ChangeWelfareService { + + @Autowired + private ChangeWelfareRedis changeWelfareRedis; + + @Autowired + LoginUserUtil loginUserUtil; + + @Autowired + private IcResiUserServiceImpl icResiUserServiceImpl; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, ChangeWelfareDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, ChangeWelfareDTO.class); + } + + private QueryWrapper getWrapper(Map 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 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 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 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(); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcMoveInRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcMoveInRecordServiceImpl.java new file mode 100644 index 0000000000..c2501bfed0 --- /dev/null +++ b/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 implements IcMoveInRecordService { + + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcMoveInRecordDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcMoveInRecordDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public 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)); + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index c3ec181ef2..b9e5f9c098 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/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 existingResiMap = icResiUserDao.selectResiInfoMap(idCard, null); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 96793a6db8..f2e3a26a9b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -203,6 +203,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl 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 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 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; + } + + + + + + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java index 0cceb4b513..96f75da893 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java +++ b/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 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 result2 = new Result<>(); if("in".equals(formDTO.getType())){ @@ -129,6 +114,8 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl columns = categoryListResult.getData().stream().map(IcResiCategoryStatsConfigDTO::getColumnName).collect(Collectors.toList()); Map map = icResiUserDao.getCategoryListMap(columns, formDTO.getIcUserId()); - List changeDetailedEntityList = saveChangeDetailed(categoryListResult.getData(), map, changeRecordEntity.getId(), formDTO, resiUserDTO); + List changeDetailedEntityList = saveChangeDetailed(categoryListResult.getData(), map, changeRecordEntity.getId(), formDTO, resiUserDTO, NumConstant.ONE_STR); icUserChangeDetailedService.insertBatch(changeDetailedEntityList); } @@ -233,10 +221,16 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl saveChangeDetailed(List configList, Map map, String icUserChangeRecordId, IcResiUserTransferFormDTO formDTO, IcResiUserDTO resiUserDTO) { + private List saveChangeDetailed(List configList, + Map map, + String icUserChangeRecordId, + IcResiUserTransferFormDTO formDTO, + IcResiUserDTO resiUserDTO, + String origin) { List list = new ArrayList<>(); IcUserChangeDetailedEntity outEntity = null; IcUserChangeDetailedEntity inEntity = null; @@ -265,13 +259,18 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl 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> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(dto); + if (!categoryListResult.success()) { + throw new RenException("人员调动,获取客户居民类别预警配置表数据失败"); + } + List columns = categoryListResult.getData().stream().map(IcResiCategoryStatsConfigDTO::getColumnName).collect(Collectors.toList()); + Map map = icResiUserDao.getCategoryListMap(columns, formDTO.getIcUserId()); + List 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 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 getNewHouseInfo(IcResiUserTransferFormDTO formDTO) { + Result 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; + } + + + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.42__add_die_substatus.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.42__add_die_substatus.sql new file mode 100644 index 0000000000..8769f03118 --- /dev/null +++ b/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`; \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.43__create_pli_death_welfare_relocation.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.43__create_pli_death_welfare_relocation.sql new file mode 100644 index 0000000000..6910c2c7cb --- /dev/null +++ b/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='福利表'; diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/ChangeDeathDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/ChangeDeathDao.xml new file mode 100644 index 0000000000..f0b82bc672 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/ChangeDeathDao.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/ChangeRelocationDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/ChangeRelocationDao.xml new file mode 100644 index 0000000000..9f1dea222d --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/ChangeRelocationDao.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/ChangeWelfareDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/ChangeWelfareDao.xml new file mode 100644 index 0000000000..496518260b --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/ChangeWelfareDao.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + update pli_change_welfare + set REMOVE_DATE=#{removeDate}, + REMOVE_REASON=#{removeReason}, + del_flag='1' + where id=#{id} + + + + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcMoveInRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcMoveInRecordDao.xml new file mode 100644 index 0000000000..9e8c575fdd --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcMoveInRecordDao.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcUserChangeRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcUserChangeRecordDao.xml index 55e117c10d..cd04e8ddfa 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcUserChangeRecordDao.xml +++ b/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