Browse Source

婚姻列表

master
lichao 2 years ago
parent
commit
0317ef64b8
  1. 33
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/DataSyncRecordMaritalPageFormDTO.java
  2. 72
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DataSyncRecordMaritalPageResultDTO.java
  3. 15
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordMaritalController.java
  4. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordMaritalDao.java
  5. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordMaritalService.java
  6. 172
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java
  7. 22
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordMaritalServiceImpl.java
  8. 28
      epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordMaritalDao.xml

33
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/DataSyncRecordMaritalPageFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.dto.form.dataSync;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
/**
* @Description
* @Author yzm
* @Date 2022/10/13 14:16
*/
@Data
public class DataSyncRecordMaritalPageFormDTO extends PageFormDTO {
/**
* 姓名
*/
private String name;
/**
* 身份证
*/
private String idCard;
private String customerId;
/**
* 当前工作人员id
*/
private String staffId;
/**
* 当前工作人员所属组织id
*/
private String agencyId;
}

72
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DataSyncRecordMaritalPageResultDTO.java

@ -0,0 +1,72 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 数据同步记录-居民婚姻信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-18
*/
@Data
public class DataSyncRecordMaritalPageResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户Id
*/
private String customerId;
/**
* 姓名
*/
private String name;
/**
* 身份证
*/
private String idCard;
/**
* 电话
*/
private String mobile;
/**
* 居民Idic_resi_user.id
*/
private String icResiUserId;
/**
* 婚姻状况
*/
private String maritalStatusName;
/**
* 婚姻状况
*/
private String maritalStatus;
/**
* 处理状态更新至居民信息 0:未处理1:处理成功2处理失败
*/
private Integer dealStatus;
private Integer dealStatusName;
/**
* 处理结果
*/
private String dealResult;
}

15
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordMaritalController.java

@ -1,7 +1,9 @@
package com.epmet.controller; package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData; 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.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
@ -9,6 +11,9 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.DataSyncRecordMaritalDTO; import com.epmet.dto.DataSyncRecordMaritalDTO;
import com.epmet.dto.form.dataSync.DataSyncRecordDeathPageFormDTO;
import com.epmet.dto.form.dataSync.DataSyncRecordMaritalPageFormDTO;
import com.epmet.dto.result.DataSyncRecordMaritalPageResultDTO;
import com.epmet.service.DataSyncRecordMaritalService; import com.epmet.service.DataSyncRecordMaritalService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -31,10 +36,12 @@ public class DataSyncRecordMaritalController {
@Autowired @Autowired
private DataSyncRecordMaritalService dataSyncRecordMaritalService; private DataSyncRecordMaritalService dataSyncRecordMaritalService;
@RequestMapping("page") @PostMapping("page")
public Result<PageData<DataSyncRecordMaritalDTO>> page(@RequestParam Map<String, Object> params){ public Result<PageData<DataSyncRecordMaritalPageResultDTO>> page(@LoginUser TokenDto tokenDto, @RequestBody DataSyncRecordMaritalPageFormDTO formDTO){
PageData<DataSyncRecordMaritalDTO> page = dataSyncRecordMaritalService.page(params); formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<PageData<DataSyncRecordMaritalDTO>>().ok(page); formDTO.setCustomerId(tokenDto.getCustomerId());;
PageData<DataSyncRecordMaritalPageResultDTO> page = dataSyncRecordMaritalService.page(formDTO);
return new Result<PageData<DataSyncRecordMaritalPageResultDTO>>().ok(page);
} }
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})

8
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordMaritalDao.java

@ -1,8 +1,13 @@
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.DataSyncRecordMaritalDTO;
import com.epmet.dto.result.DataSyncRecordMaritalPageResultDTO;
import com.epmet.entity.DataSyncRecordMaritalEntity; import com.epmet.entity.DataSyncRecordMaritalEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 数据同步记录-居民婚姻信息 * 数据同步记录-居民婚姻信息
@ -12,5 +17,6 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface DataSyncRecordMaritalDao extends BaseDao<DataSyncRecordMaritalEntity> { public interface DataSyncRecordMaritalDao extends BaseDao<DataSyncRecordMaritalEntity> {
List<DataSyncRecordMaritalPageResultDTO> pageSelect(@Param("customerId") String customerId, @Param("idCard") String idCard, @Param("name") String name, @Param("agencyId") String agencyId);
} }

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

@ -5,6 +5,8 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.DataSyncRecordDeathDTO; import com.epmet.dto.DataSyncRecordDeathDTO;
import com.epmet.dto.DataSyncRecordMaritalDTO; import com.epmet.dto.DataSyncRecordMaritalDTO;
import com.epmet.dto.form.dataSync.DataSyncRecordMaritalPageFormDTO;
import com.epmet.dto.result.DataSyncRecordMaritalPageResultDTO;
import com.epmet.entity.DataSyncRecordDeathEntity; import com.epmet.entity.DataSyncRecordDeathEntity;
import com.epmet.entity.DataSyncRecordMaritalEntity; import com.epmet.entity.DataSyncRecordMaritalEntity;
@ -22,12 +24,12 @@ public interface DataSyncRecordMaritalService extends BaseService<DataSyncRecord
/** /**
* 默认分页 * 默认分页
* *
* @param params * @param formDTO
* @return PageData<DataSyncRecordMaritalDTO> * @return PageData<DataSyncRecordMaritalDTO>
* @author generator * @author generator
* @date 2023-05-18 * @date 2023-05-18
*/ */
PageData<DataSyncRecordMaritalDTO> page(Map<String, Object> params); PageData<DataSyncRecordMaritalPageResultDTO> page(DataSyncRecordMaritalPageFormDTO formDTO);
/** /**
* 默认查询 * 默认查询

172
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java

@ -1674,101 +1674,105 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
List<NatUserInfoResultDTO> dbResiList = null; List<NatUserInfoResultDTO> dbResiList = null;
// String scope="";
List<DataSyncScopeDTO> allScope = new ArrayList<>();
for (DataSyncConfigDTO config : configData) { for (DataSyncConfigDTO config : configData) {
allScope.addAll(config.getScopeList());
}
String scope = config.getScopeList().stream().map(DataSyncScopeDTO::getId).collect(Collectors.joining(",")); // String scope = config.getScopeList().stream().map(DataSyncScopeDTO::getId).collect(Collectors.joining(","));
// 查询上一次定时任务 居民位置记录 // 查询上一次定时任务 居民位置记录
LambdaQueryWrapper<IcResiUserTaskLogEntity> logEntityLambdaQueryWrapper = new LambdaQueryWrapper<IcResiUserTaskLogEntity>().eq(IcResiUserTaskLogEntity::getDataScope,scope).eq(IcResiUserTaskLogEntity::getType,"hunyin").orderByDesc(IcResiUserTaskLogEntity::getCreatedTime).last("limit 1"); LambdaQueryWrapper<IcResiUserTaskLogEntity> logEntityLambdaQueryWrapper = new LambdaQueryWrapper<IcResiUserTaskLogEntity>().eq(IcResiUserTaskLogEntity::getType,"hunyin").orderByDesc(IcResiUserTaskLogEntity::getCreatedTime).last("limit 1");
IcResiUserTaskLogEntity logEntity = resiUserTaskLogDao.selectOne(logEntityLambdaQueryWrapper); // .eq(IcResiUserTaskLogEntity::getDataScope,scope)
// userInfoResultDTOS 待处理的数据存放 IcResiUserTaskLogEntity logEntity = resiUserTaskLogDao.selectOne(logEntityLambdaQueryWrapper);
List<NatUserInfoResultDTO> userInfoResultDTOS = new ArrayList<>(); // userInfoResultDTOS 待处理的数据存放
List<NatUserInfoResultDTO> userInfoResultDTOS = new ArrayList<>();
boolean isNum = false;
int start = 0; boolean isNum = false;
// 如果没有log数据 说明第一次进入循环 int start = 0;
if (logEntity == null){ // 如果没有log数据 说明第一次进入循环
// 从0开始 优先获取规定的几个社区 if (logEntity == null){
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000); // 从0开始 优先获取规定的几个社区
// 如果不满5000条数据 下面再从别的社区取 isNum = true userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000);
if (userInfoResultDTOS.size() < 50000){ // 如果不满5000条数据 下面再从别的社区取 isNum = true
isNum = true; if (userInfoResultDTOS.size() < 50000){
} isNum = true;
}else{ }
// 如果有log数据 判断一下上次停留在特殊数据还是普通数据 1是特殊数据(优先的几个社区) }else{
if (logEntity.getDataType() == 1){ // 如果有log数据 判断一下上次停留在特殊数据还是普通数据 1是特殊数据(优先的几个社区)
// 从上次停止的数据开始获取 if (logEntity.getDataType() == 1){
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(logEntity.getDataCount(),50000); // 从上次停止的数据开始获取
// 下面再从别的社区取 isNum = true 凑够50000 userInfoResultDTOS = getNatUserInfoFromDbForSiWang(logEntity.getDataCount(),50000);
isNum = true; // 下面再从别的社区取 isNum = true 凑够50000
}else if (logEntity.getDataType() == 0){ isNum = true;
// 如果是普通数据 直接从次停留在特殊数据获取 }else if (logEntity.getDataType() == 0){
start = logEntity.getDataCount(); // 如果是普通数据 直接从次停留在特殊数据获取
} start = logEntity.getDataCount();
} }
// 建立一个最后插入log的标志
IcResiUserTaskLogEntity newLog = new IcResiUserTaskLogEntity();
newLog.setCreatedTime(new Date());
newLog.setType("hunyin");
newLog.setDataScope(scope);
// 设置查询数据范围 }
formDTO.setOrgList(config.getScopeList()); // 建立一个最后插入log的标志
DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); IcResiUserTaskLogEntity newLog = new IcResiUserTaskLogEntity();
// 如果true 说明之前获取过特殊数据了 把50000补完普通数据 newLog.setCreatedTime(new Date());
if (isNum){ newLog.setType("hunyin");
formDTO.setStart(start); // newLog.setDataScope(scope);
formDTO.setEnd(50000-userInfoResultDTOS.size());
dbResiList = getNatUserInfoFromDbLimit(formDTO); // 设置查询数据范围
formDTO.setOrgList(allScope);
DataSyncEnum anEnum = DataSyncEnum.getEnum(EpidemicConstant.DATA_CODE_MARITAL);
// 如果true 说明之前获取过特殊数据了 把50000补完普通数据
if (isNum){
formDTO.setStart(start);
formDTO.setEnd(50000-userInfoResultDTOS.size());
dbResiList = getNatUserInfoFromDbLimit(formDTO);
dbResiList.addAll(userInfoResultDTOS);
newLog.setDataType(0);
newLog.setDataCount(50000-dbResiList.size());
}else{
// false 说明之前没有获取过特殊数据了
formDTO.setStart(start);
formDTO.setEnd(start+50000);
dbResiList = getNatUserInfoFromDbLimit(formDTO);
// 如果不够五万了 从头再来
if (dbResiList.size()<50000){
// 特殊数据
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000-dbResiList.size());
dbResiList.addAll(userInfoResultDTOS); dbResiList.addAll(userInfoResultDTOS);
newLog.setDataType(0); // 特殊数据不够 在获取普通数据
newLog.setDataCount(50000-dbResiList.size()); if (dbResiList.size() < 50000){
}else{ formDTO.setStart(0);
// false 说明之前没有获取过特殊数据了 formDTO.setEnd(50000-dbResiList.size());
formDTO.setStart(start); dbResiList.addAll(getNatUserInfoFromDbLimit(formDTO));
formDTO.setEnd(start+50000); newLog.setDataType(0);
dbResiList = getNatUserInfoFromDbLimit(formDTO); newLog.setDataCount(50000-dbResiList.size());
// 如果不够五万了 从头再来
if (dbResiList.size()<50000){
// 特殊数据
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000-dbResiList.size());
dbResiList.addAll(userInfoResultDTOS);
// 特殊数据不够 在获取普通数据
if (dbResiList.size() < 50000){
formDTO.setStart(0);
formDTO.setEnd(50000-dbResiList.size());
dbResiList.addAll(getNatUserInfoFromDbLimit(formDTO));
newLog.setDataType(0);
newLog.setDataCount(50000-dbResiList.size());
}else{
newLog.setDataType(1);
newLog.setDataCount(50000-dbResiList.size());
}
}else{ }else{
newLog.setDataType(0); newLog.setDataType(1);
newLog.setDataCount(start+50000); newLog.setDataCount(50000-dbResiList.size());
} }
}else{
newLog.setDataType(0);
newLog.setDataCount(start+50000);
} }
}
if (CollectionUtils.isEmpty(dbResiList)) { /* if (CollectionUtils.isEmpty(dbResiList)) {
continue; continue;
} }*/
switch (anEnum) { switch (anEnum) {
case HUN_YIN: case HUN_YIN:
try { try {
//查询正常状态的居民 //查询正常状态的居民
hunYin(dbResiList); hunYin(dbResiList);
resiUserTaskLogDao.insert(newLog); resiUserTaskLogDao.insert(newLog);
log.info("======hunyin信息拉取结束======"); log.info("======hunyin信息拉取结束======");
} catch (Exception e) { } catch (Exception e) {
log.error("marry thread execute exception", e); log.error("marry thread execute exception", e);
} }
default: default:
log.warn("没有要处理的数据"); log.warn("没有要处理的数据");
}
} }
} }

22
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordMaritalServiceImpl.java

@ -4,15 +4,21 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.DataSyncRecordMaritalDao; import com.epmet.dao.DataSyncRecordMaritalDao;
import com.epmet.dto.DataSyncRecordDeathDTO; import com.epmet.dto.DataSyncRecordDeathDTO;
import com.epmet.dto.DataSyncRecordMaritalDTO; import com.epmet.dto.DataSyncRecordMaritalDTO;
import com.epmet.dto.form.dataSync.DataSyncRecordMaritalPageFormDTO;
import com.epmet.dto.result.DataSyncRecordMaritalPageResultDTO;
import com.epmet.entity.DataSyncRecordDeathEntity; import com.epmet.entity.DataSyncRecordDeathEntity;
import com.epmet.entity.DataSyncRecordMaritalEntity; import com.epmet.entity.DataSyncRecordMaritalEntity;
import com.epmet.service.DataSyncRecordMaritalService; import com.epmet.service.DataSyncRecordMaritalService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -32,12 +38,16 @@ import java.util.Map;
public class DataSyncRecordMaritalServiceImpl extends BaseServiceImpl<DataSyncRecordMaritalDao, DataSyncRecordMaritalEntity> implements DataSyncRecordMaritalService { public class DataSyncRecordMaritalServiceImpl extends BaseServiceImpl<DataSyncRecordMaritalDao, DataSyncRecordMaritalEntity> implements DataSyncRecordMaritalService {
@Override @Override
public PageData<DataSyncRecordMaritalDTO> page(Map<String, Object> params) { public PageData<DataSyncRecordMaritalPageResultDTO> page(DataSyncRecordMaritalPageFormDTO formDTO) {
IPage<DataSyncRecordMaritalEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false), CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId());
getWrapper(params) formDTO.setAgencyId(null != staffInfoCacheResult ? staffInfoCacheResult.getAgencyId() : null);
); PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(),formDTO.getIsPage());
return getPageData(page, DataSyncRecordMaritalDTO.class); List<DataSyncRecordMaritalPageResultDTO> records = baseDao.pageSelect(formDTO.getCustomerId(),formDTO.getIdCard(), formDTO.getName(), formDTO.getAgencyId());
PageInfo<DataSyncRecordMaritalPageResultDTO> pi = new PageInfo<>(records);
return new PageData<>(records, pi.getTotal());
} }
@Override @Override

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

@ -24,5 +24,33 @@
<result property="updatedTime" column="UPDATED_TIME"/> <result property="updatedTime" column="UPDATED_TIME"/>
</resultMap> </resultMap>
<select id="pageSelect" resultType="com.epmet.dto.result.DataSyncRecordMaritalPageResultDTO">
select
d.NAME AS name,d.ID_CARD,
if(d.MARITAL_STATUS_NAME = 'IA:结婚','结婚',if(d.MARITAL_STATUS_NAME = 'IB:离婚','离婚','单身')) as maritalStatus,
if(d.DEAL_STATUS = 0,'未处理',if(d.DEAL_STATUS = 1,'已处理','')) as dealStatusName,
d.DEAL_RESULT
from
data_sync_record_marital d
where
d.DEL_FLAG = '0'
and
d.MARITAL_STATUS_NAME!='INR:匹配不成功'
and
d.MARITAL_STATUS_NAME!='null:null'
AND d.CUSTOMER_ID = #{customerId}
<if test="agencyId != null and agencyId != ''">
AND d.PIDS LIKE concat( '%', #{agencyId}, '%' )
</if>
<if test="idCard != null and idCard != ''">
AND d.ID_CARD LIKE concat('%',#{idCard},'%')
</if>
<if test="name != null and name != ''">
AND d.`NAME` LIKE concat('%',#{name},'%')
</if>
ORDER BY
d.CREATED_TIME DESC
</select>
</mapper> </mapper>
Loading…
Cancel
Save