Browse Source

完善疫苗接种记录关系表数据同步逻辑

master
wanggongfeng 3 years ago
parent
commit
2998e63693
  1. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java
  2. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java
  3. 27
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  4. 4
      epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml
  5. 8
      epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml

2
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java

@ -89,4 +89,6 @@ public interface IcVaccineDao extends BaseDao<IcVaccineEntity> {
void deleteByIdCard(@Param("idCard") String idCard,@Param("customerId") String customerId);
List<String> setDeleteByIdCard(@Param("idCard") String idCard,@Param("customerId") String customerId);
}

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

@ -5,6 +5,8 @@ import com.epmet.entity.IcVaccineRelationEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 疫苗接种记录关系表
*
@ -17,5 +19,11 @@ public interface IcVaccineRelationDao extends BaseDao<IcVaccineRelationEntity> {
void updateRelationInfoByVaccineId(IcVaccineRelationEntity icVaccineRelationEntity);
/**
* 根据ID删除数据
* @param delList
*/
void deleteByIdList(@Param("delList")List<String> delList);
}

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

@ -181,7 +181,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
private IcVaccineDao icVaccineDao;
@Autowired
private IcVaccineService icVaccineService;
private IcVaccineRelationDao icVaccineRelationDao;
@ -2240,8 +2240,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 根据身份证号,客户ID删除旧记录
icVaccineDao.deleteByIdCard(user.getIdCard(),user.getCustomerId());
// 删除疫苗接种记录关系表数据
List<String> delList = icVaccineDao.setDeleteByIdCard(user.getIdCard(),user.getCustomerId());
icVaccineRelationDao.deleteByIdList(delList);
// 插入新数据
List<IcVaccineEntity> icVaccineEntityList = new ArrayList<>();
for(VaccineLogDetailDTO vaccineLogDetailDTO : vaccineLog){
IcVaccineEntity icVaccineEntity = new IcVaccineEntity();
icVaccineEntity.setCustomerId(user.getCustomerId());
@ -2253,9 +2255,26 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
icVaccineEntity.setUserId(resiUserId);
icVaccineEntity.setInoculateTime(sdf.parse(vaccineLogDetailDTO.getVacTime()));
icVaccineEntity.setInoculateAddress(vaccineLogDetailDTO.getVacSite());
icVaccineEntityList.add(icVaccineEntity);
icVaccineDao.insert(icVaccineEntity);
// 插入疫苗接种记录关系表数据
IcVaccineRelationEntity icVaccineRelationEntity = new IcVaccineRelationEntity();
icVaccineRelationEntity.setCustomerId(user.getCustomerId());
icVaccineRelationEntity.setAgencyId(formDTO.getUser().getAgencyId());
icVaccineRelationEntity.setPids(formDTO.getUser().getPids());
icVaccineRelationEntity.setIcVaccineId(icVaccineEntity.getId());
icVaccineRelationEntity.setUserType("synchro");
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfo) {
logger.warn("未查询到工作人员信息" + resiUserId);
}
if(staffInfo.getAgencyId().equals(formDTO.getUser().getAgencyId())){
icVaccineRelationEntity.setIsLocalResiUser("1");
}else{
icVaccineRelationEntity.setIsLocalResiUser("0");
}
icVaccineRelationDao.insert(icVaccineRelationEntity);
}
icVaccineService.insertBatch(icVaccineEntityList);
}

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

@ -248,4 +248,8 @@
update ic_vaccine set DEL_FLAG = '1' where CUSTOMER_ID = #{customerId} and ID_CARD = #{idCard}
</delete>
<select id="setDeleteByIdCard" resultType="java.lang.String">
select ID from ic_vaccine where CUSTOMER_ID = #{customerId} and ID_CARD = #{idCard}
</select>
</mapper>

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

@ -17,5 +17,13 @@
set CUSTOMER_ID = #{customerId},USER_TYPE = #{userType}
where IC_VACCINE_ID = #{icVaccineId}
</update>
<delete id="deleteByIdList">
update ic_vaccine_relation set DEL_FLAG = '1' where ID in
<foreach collection="delList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

Loading…
Cancel
Save