Browse Source

73脚本修改

master
yinzuomei 3 years ago
parent
commit
37a054f419
  1. 29
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatCompareRecRelationDao.java
  2. 74
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatCompareRecRelationEntity.java
  3. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatCompareRecordEntity.java
  4. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java
  5. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatCompareRecordService.java
  6. 82
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java
  7. 39
      epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.73__datasync_config.sql
  8. 29
      epmet-user/epmet-user-server/src/main/resources/mapper/IcNatCompareRecRelationDao.xml

29
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatCompareRecRelationDao.java

@ -0,0 +1,29 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IcNatCompareRecRelationEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 核酸比对组织关系表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-09-27
*/
@Mapper
public interface IcNatCompareRecRelationDao extends BaseDao<IcNatCompareRecRelationEntity> {
/**
*
* @param customerId
* @param compareRecId
* @param agencyId
* @param importDate yyyyMMdd
* @return
*/
IcNatCompareRecRelationEntity selectExist(@Param("customerId") String customerId,
@Param("compareRecId") String compareRecId,
@Param("agencyId") String agencyId,
@Param("importDate") String importDate);
}

74
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatCompareRecRelationEntity.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-09-27
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_nat_compare_rec_relation")
public class IcNatCompareRecRelationEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* ic_nat_compare_record.id
*/
private String compareRecId;
/**
* 导入日期yyyyMMdd
*/
private String importDate;
/**
* 导入时间同一天内导入多次需要更新此列值
*/
private Date importTime;
/**
* 操作人员所属组织id
*/
private String agencyId;
/**
* agency_id的上级
*/
private String pid;
/**
* agency_id组织的所有上级
*/
private String pids;
/**
* 操作人
*/
private String staffId;
/**
* 操作人姓名
*/
private String staffName;
/**
* 是否本社区agency_id下居民(0: 1:)
*/
private String isAgencyUser;
}

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

@ -64,4 +64,8 @@ public class IcNatCompareRecordEntity extends BaseEpmetEntity {
* 联系地址接口填入
*/
private String contactAddress;
/**
* 最新一次导入时间对应ic_nat_compare_rec_relation.IMPORT_TIME
*/
private Date latestImportTime;
}

5
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java

@ -54,6 +54,9 @@ public class IcNatCompareRecordExcelImportListener implements ReadListener<IcNat
*/
private List<IcNatCompareRecordExcelData.ErrorRow> errorRows = new ArrayList<>();
private Date importTime;
/**
* 导入日期yyyyMMdd
*/
private String importDate;
public IcNatCompareRecordExcelImportListener(String customerId, CustomerStaffInfoCacheResult staffInfo,String importDate,Date importTime, IcNatCompareRecordServiceImpl icNatCompareRecordService) {
this.customerId = customerId;
@ -132,7 +135,7 @@ public class IcNatCompareRecordExcelImportListener implements ReadListener<IcNat
// ic_nat_compare_record、ic_nat_compare_rec_relation
try {
if (datas != null && datas.size() > 0) {
icNatCompareRecordService.batchPersist(datas, staffInfo, this);
icNatCompareRecordService.batchPersist(datas, staffInfo,importDate,importTime, this);
}
} finally {
datas.clear();

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatCompareRecordService.java

@ -19,7 +19,7 @@ public interface IcNatCompareRecordService extends BaseService<IcNatCompareRecor
/**
* 默认分页
*
* @param params
* @param formDTO
* @return PageData<IcNatCompareRecordDTO>
* @author generator
* @date 2022-09-26

82
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java

@ -9,15 +9,19 @@ import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.page.PageData;
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.*;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcNatCompareRecRelationDao;
import com.epmet.dao.IcNatCompareRecordDao;
import com.epmet.dto.IcNatCompareRecordDTO;
import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.form.yqfk.IcNatCompareRecordPageFormDTO;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.entity.IcNatCompareRecRelationEntity;
import com.epmet.entity.IcNatCompareRecordEntity;
import com.epmet.excel.data.IcNatCompareRecordExcelData;
import com.epmet.excel.handler.IcNatCompareRecordExcelImportListener;
@ -59,7 +63,8 @@ public class IcNatCompareRecordServiceImpl extends BaseServiceImpl<IcNatCompareR
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient;
@Autowired
private OssFeignClient ossFeignClient;
@Autowired
private IcNatCompareRecRelationDao icNatCompareRecRelationDao;
private CustomerStaffInfoCacheResult queryCurrentStaff(String customerId, String userId) {
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId);
@ -175,14 +180,18 @@ public class IcNatCompareRecordServiceImpl extends BaseServiceImpl<IcNatCompareR
}
public IcNatCompareRecordEntity getByIdCard(String customerId, String idCard) {
return baseDao.selectByIdCard(customerId,idCard);
}
public void batchPersist(List<IcNatCompareRecordEntity> datas,CustomerStaffInfoCacheResult staffInfo, IcNatCompareRecordExcelImportListener listener) {
/**
*
* @param datas
* @param staffInfo 当前操作人
* @param importDate yyyyMMdd
* @param importTime 导入时间yyyy-MM-dd HH:mm:ss
* @param listener
*/
public void batchPersist(List<IcNatCompareRecordEntity> datas,CustomerStaffInfoCacheResult staffInfo,String importDate,Date importTime, IcNatCompareRecordExcelImportListener listener) {
datas.forEach(entity -> {
try {
persisNat(entity, listener);
persisNat(entity, staffInfo,importDate,importTime);
} catch (Exception exception) {
String errorMsg = ExceptionUtils.getErrorStackTrace(exception);
log.error(errorMsg);
@ -198,21 +207,62 @@ public class IcNatCompareRecordServiceImpl extends BaseServiceImpl<IcNatCompareR
}
/**
*
* @param data
* @param staffInfo 当前操作人
* @param importDate yyyyMMdd
* @param importTime 导入时间yyyy-MM-dd HH:mm:ss
*/
@Transactional(rollbackFor = Exception.class)
public void persisNat(IcNatCompareRecordEntity data, IcNatCompareRecordExcelImportListener listener) {
//判断是否存在
public void persisNat(IcNatCompareRecordEntity data, CustomerStaffInfoCacheResult staffInfo, String importDate, Date importTime) {
// 查询是否本辖区居民
IcResiUserDTO icResiUserDTO = SpringContextUtils.getBean(IcResiUserService.class).getByIdCard(data.getCustomerId(), data.getIdCard(), null);
//根据身份证号判断是否存在基础信息
IcNatCompareRecordEntity existEntity=baseDao.selectByIdCard(data.getCustomerId(),data.getIdCard());
if (null == existEntity) {
//1、不存在该身份证的基础记录,直接插入ic_nat_compare_record 、ic_nat_compare_rec_relation 插入记录
// 1、不存在该身份证的基础记录,直接插入ic_nat_compare_record 、ic_nat_compare_rec_relation 插入记录
IcNatCompareRecordEntity compareRecordEntity = ConvertUtils.sourceToTarget(data, IcNatCompareRecordEntity.class);
//查询是否本辖区居民
IcResiUserDTO icResiUserDTO = SpringContextUtils.getBean(IcResiUserService.class).getByIdCard(data.getCustomerId(), data.getIdCard(), null);
compareRecordEntity.setIcResiUserId(null == icResiUserDTO ? StrConstant.EPMETY_STR : icResiUserDTO.getId());
//是否客户下居民(0:否 1:是)
// 是否客户下居民(0:否 1:是)
compareRecordEntity.setIsResiUser(StringUtils.isNotBlank(compareRecordEntity.getIcResiUserId()) ? NumConstant.ONE_STR : NumConstant.ZERO_STR);
// todo
}else{
// todo
compareRecordEntity.setLatestImportTime(importTime);
//插入基础信息
insert(compareRecordEntity);
IcNatCompareRecRelationEntity relationEntity = new IcNatCompareRecRelationEntity();
relationEntity.setCustomerId(data.getCustomerId());
relationEntity.setCompareRecId(compareRecordEntity.getId());
relationEntity.setImportDate(importDate);
relationEntity.setImportTime(importTime);
relationEntity.setAgencyId(staffInfo.getAgencyId());
AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(staffInfo.getAgencyId());
if (null != agencyInfoCache) {
relationEntity.setPid(agencyInfoCache.getPid());
relationEntity.setPids(agencyInfoCache.getPids());
}
relationEntity.setStaffId(staffInfo.getStaffId());
relationEntity.setStaffName(staffInfo.getRealName());
// 是否本社区(agency_id)下居民(0:否 1:是)
if (null != icResiUserDTO && icResiUserDTO.getAgencyId().equals(staffInfo.getAgencyId())) {
relationEntity.setIsAgencyUser(NumConstant.ONE_STR);
} else {
relationEntity.setIsAgencyUser(NumConstant.ZERO_STR);
}
//插入关系表
icNatCompareRecRelationDao.insert(relationEntity);
} else {
IcNatCompareRecordEntity origin = ConvertUtils.sourceToTarget(data, IcNatCompareRecordEntity.class);
origin.setId(existEntity.getId());
origin.setIcResiUserId(null == icResiUserDTO ? StrConstant.EPMETY_STR : icResiUserDTO.getId());
// 是否客户下居民(0:否 1:是)
origin.setIsResiUser(StringUtils.isNotBlank(origin.getIcResiUserId()) ? NumConstant.ONE_STR : NumConstant.ZERO_STR);
origin.setLatestImportTime(importTime);
baseDao.updateById(origin);
IcNatCompareRecRelationEntity existRelationEntity=icNatCompareRecRelationDao.selectExist(data.getCustomerId(),origin.getId(),staffInfo.getAgencyId(),importDate);
}

39
epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.73__datasync_config.sql

@ -34,42 +34,3 @@ CREATE TABLE `data_sync_scope` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数据更新范围表';
CREATE TABLE `ic_nat_compare_record` (
`ID` varchar(64) NOT NULL COMMENT '主键',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id',
`NAME` varchar(64) NOT NULL COMMENT '姓名',
`ID_CARD` varchar(64) NOT NULL COMMENT '身份证',
`MOBILE` varchar(32) DEFAULT NULL COMMENT '手机号',
`IS_RESI_USER` varchar(1) DEFAULT '0' COMMENT '是否客户下居民(0:否 1:是)',
`IC_RESI_USER_ID` varchar(64) DEFAULT NULL COMMENT '是本辖区的居民时候,ic_resi_user.id',
`LATEST_NAT_TIME` datetime DEFAULT NULL COMMENT '最近一次核酸时间:接口填入',
`NAT_RESULT` varchar(1) DEFAULT NULL COMMENT '检测结果(0:阴性 1:阳性):接口填入',
`NAT_ADDRESS` varchar(255) DEFAULT NULL COMMENT '检测地点:接口填入',
`DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除',
`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_nat_compare_rec_relation` (
`ID` varchar(64) NOT NULL COMMENT '主键(组织+compare_rec_id+导入日期唯一)',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id',
`COMPARE_REC_ID` varchar(64) NOT NULL COMMENT 'ic_nat_compare_record.id',
`IMPORT_DATE` date NOT NULL COMMENT '导入日期:yyyy-MM-dd',
`IMPORT_TIME` datetime NOT NULL COMMENT '导入时间',
`AGENCY_ID` varchar(64) NOT NULL COMMENT '操作人员所属组织id',
`PID` varchar(64) DEFAULT NULL COMMENT 'agency_id的上级',
`PIDS` varchar(255) DEFAULT NULL COMMENT 'agency_id组织的所有上级',
`STAFF_ID` varchar(64) NOT NULL COMMENT '操作人',
`STAFF_NAME` varchar(64) NOT NULL COMMENT '操作人姓名',
`DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除',
`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='核酸比对组织关系表';

29
epmet-user/epmet-user-server/src/main/resources/mapper/IcNatCompareRecRelationDao.xml

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcNatCompareRecRelationDao">
<resultMap type="com.epmet.entity.IcNatCompareRecRelationEntity" id="icNatCompareRecRelationMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="compareRecId" column="COMPARE_REC_ID"/>
<result property="importDate" column="IMPORT_DATE"/>
<result property="importTime" column="IMPORT_TIME"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="pid" column="PID"/>
<result property="pids" column="PIDS"/>
<result property="staffId" column="STAFF_ID"/>
<result property="staffName" column="STAFF_NAME"/>
<result property="isAgencyUser" column="IS_AGENCY_USER"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="selectExist" parameterType="map" resultType="com.epmet.entity.IcNatCompareRecRelationEntity">
</select>
</mapper>
Loading…
Cancel
Save