Browse Source

核酸检测功能完善

origin/epidemic_user
zhangyuan 4 years ago
parent
commit
8bd3d4c6da
  1. 54
      epdc-cloud-custom/src/main/java/com/elink/esua/epdc/modules/epidemic/service/impl/PersonTestingServiceImpl.java
  2. 8
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dao/EpidemicUserInfoDao.java
  3. 2
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/service/impl/HouseResidentServiceImpl.java
  4. 10
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/service/impl/HousingInformationServiceImpl.java
  5. 1
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/service/impl/PopulationInformationServiceImpl.java
  6. 8
      epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInfoDao.xml

54
epdc-cloud-custom/src/main/java/com/elink/esua/epdc/modules/epidemic/service/impl/PersonTestingServiceImpl.java

@ -25,6 +25,7 @@ import com.elink.esua.epdc.commons.tools.enums.UserSexEnum;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.IdentityNoUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.PersonTestingDTO;
import com.elink.esua.epdc.dto.PersonTestingPageDTO;
@ -34,11 +35,10 @@ import com.elink.esua.epdc.modules.epidemic.entity.PersonTestingEntity;
import com.elink.esua.epdc.modules.epidemic.feign.OssFeignClient;
import com.elink.esua.epdc.modules.epidemic.redis.PersonTestingRedis;
import com.elink.esua.epdc.modules.epidemic.service.PersonTestingService;
import com.elink.esua.epdc.vaccine.house.dao.PopulationInformationDao;
import com.elink.esua.epdc.vaccine.house.entity.PopulationInformationEntity;
import com.elink.esua.epdc.vaccine.epidemic.dao.EpidemicUserInfoDao;
import com.elink.esua.epdc.vaccine.epidemic.dao.EpidemicUserInoutRecordDao;
import com.elink.esua.epdc.vaccine.epidemic.entity.EpidemicUserInfoEntity;
import com.elink.esua.epdc.vaccine.house.dao.PopulationInformationDao;
import com.elink.esua.epdc.vaccine.house.entity.PopulationInformationEntity;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -66,13 +66,9 @@ public class PersonTestingServiceImpl extends BaseServiceImpl<PersonTestingDao,
@Autowired
private EpidemicUserInfoDao epidemicUserInfoDao;
@Autowired
private EpidemicUserInoutRecordDao epidemicUserInoutRecordDao;
@Autowired
private PopulationInformationDao populationInformationDao;
@Override
public PageData<PersonTestingPageDTO> page(Map<String, Object> params) {
// IPage<PersonTestingEntity> page = baseDao.selectPage(
@ -193,7 +189,7 @@ public class PersonTestingServiceImpl extends BaseServiceImpl<PersonTestingDao,
//检测时间
Date date = new Date();
dto.setTestingTime(date);
saveScanningInfoForUserV2(dto);
saveScanningInfoForUserV1(dto);
PersonTestingEntity entity = ConvertUtils.sourceToTarget(dto, PersonTestingEntity.class);
entity.setTestingTime(date);
if (StringUtils.isNotBlank(dto.getImgCode())) {
@ -213,7 +209,7 @@ public class PersonTestingServiceImpl extends BaseServiceImpl<PersonTestingDao,
@Override
public Result getMobileByIdCard(PersonTestingDTO dto) {
String result = epidemicUserInoutRecordDao.getMobileByIdCard(dto.getIdcard());
String result = epidemicUserInfoDao.getMobileByIdCard(dto.getIdcard());
if (StringUtils.isBlank(result)) {
result = baseDao.getMobileByIdCard(dto.getIdcard());
@ -268,7 +264,7 @@ public class PersonTestingServiceImpl extends BaseServiceImpl<PersonTestingDao,
}
}
private void personTestingDTO2EpidemicUserInfoEntityTransfor(PersonTestingDTO sDto, PopulationInformationEntity dDto) {
private void personTestingDTO2PopulationInfomationEntityTransfor(PersonTestingDTO sDto, PopulationInformationEntity dDto) {
dDto.setResidentsName(sDto.getName());
dDto.setResidentsSex(sexTransfor(sDto.getSex()));
dDto.setResidentsNation(sDto.getNation());
@ -279,6 +275,22 @@ public class PersonTestingServiceImpl extends BaseServiceImpl<PersonTestingDao,
dDto.setCheckState("0");
}
private void personTestingDTO2EpidemicUserInfoEntityTransfor(PersonTestingDTO sDto, EpidemicUserInfoEntity dDto) {
dDto.setUserName(sDto.getName());
String result = IdentityNoUtils.IdentityNoVerification(sDto.getIdcard());
if (result != null) {
throw new RenException(result);
} else {
dDto.setGender(IdentityNoUtils.getSex(sDto.getIdcard()));
dDto.setBirthday(IdentityNoUtils.getBirthday(sDto.getIdcard()));
}
dDto.setNation(sDto.getNation());
dDto.setHouseholdRegisterDetail(sDto.getAddress());
dDto.setIdCard(sDto.getIdcard());
dDto.setCheckDate(sDto.getTestingTime());
dDto.setCheckState("0");
}
/**
* @return void
* @describe: 匹配到更新人员的核酸检测状态和最后一次核酸检测时间匹配不到用户新增一条人员信息
@ -294,11 +306,31 @@ public class PersonTestingServiceImpl extends BaseServiceImpl<PersonTestingDao,
populationInformationDao.updateById(en);
} else {
PopulationInformationEntity entity = new PopulationInformationEntity();
personTestingDTO2EpidemicUserInfoEntityTransfor(dto, entity);
personTestingDTO2PopulationInfomationEntityTransfor(dto, entity);
populationInformationDao.insert(entity);
}
}
/**
* @return void
* @describe: 匹配到更新人员的核酸检测状态和最后一次核酸检测时间匹配不到用户新增一条人员信息
* @author zhy
* @date 2021/9/15
* @params dto
*/
private void saveScanningInfoForUserV1(PersonTestingDTO dto) {
EpidemicUserInfoEntity entity = epidemicUserInfoDao.selectInfoByIdCard(dto.getIdcard());
if (entity != null) {
entity.setCheckDate(dto.getTestingTime());
entity.setCheckState("0");
epidemicUserInfoDao.updateById(entity);
} else {
entity = new EpidemicUserInfoEntity();
personTestingDTO2EpidemicUserInfoEntityTransfor(dto, entity);
epidemicUserInfoDao.insert(entity);
}
}
/**
* 根据生日计算年龄
* dateStr 这样格式的生日 1990-01-01

8
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dao/EpidemicUserInfoDao.java

@ -196,4 +196,12 @@ public interface EpidemicUserInfoDao extends BaseDao<EpidemicUserInfoEntity> {
**/
void setJionTimeToNull(@Param("id") String id);
/**
* @describe: 通过身份证号码查询手机号
* @author zhy
* @date 2021/8/23 17:56
* @params [idcard]
* @return java.lang.String
*/
String getMobileByIdCard(@Param("idcard") String idcard);
}

2
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/service/impl/HouseResidentServiceImpl.java

@ -390,6 +390,7 @@ public class HouseResidentServiceImpl extends BaseServiceImpl<HouseResidentDao,
epidemicUserInfoEntity.setRelation(dto.getHouseHeadRelation());
epidemicUserInfoEntity.setWorkUnits(dto.getCurrentEmployer());
epidemicUserInfoEntity.setLiveAddressName(dto.getCurrentAddress());
epidemicUserInfoEntity.setHouseholdRegisterDetail(dto.getCurrentAddress());
epidemicUserInfoService.updateById(epidemicUserInfoEntity);
HouseResidentEntity houseResidentEntity = new HouseResidentEntity();
houseResidentEntity.setHouseHeadRelation(dto.getHouseHeadRelation());
@ -449,6 +450,7 @@ public class HouseResidentServiceImpl extends BaseServiceImpl<HouseResidentDao,
entity.setPeopleCategories(informationEntity.getPeopleCategories());
entity.setRelation(NumConstant.ONE_STR);
entity.setLiveAddressName(informationEntity.getCurrentAddress());
entity.setHouseholdRegisterDetail(informationEntity.getCurrentAddress());
return entity;
}
}

10
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/service/impl/HousingInformationServiceImpl.java

@ -489,6 +489,7 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
check.setMobile(epidemicUserInfoEntity.getMobile());
check.setWorkUnits(epidemicUserInfoEntity.getWorkUnits());
check.setLiveAddressName(epidemicUserInfoEntity.getLiveAddressName());
check.setHouseholdRegisterDetail(epidemicUserInfoEntity.getLiveAddressName());
check.setPeopleCategories(epidemicUserInfoEntity.getPeopleCategories());
check.setSpecialCrowd(epidemicUserInfoEntity.getSpecialCrowd());
check.setPoliticsStatus(epidemicUserInfoEntity.getPoliticsStatus());
@ -697,7 +698,13 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
}
baseResidentInformationExcel.setResidentsIdentityNo(residentsIdentityNo);
}
if (StringUtils.isNotBlank(selfIdentityNo)) {
if (StringUtils.isBlank(selfIdentityNo)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("本人身份证号为空");
errorLineInfoDto.setSheetName("居住人信息");
errorLineInfoList.add(errorLineInfoDto);
} else if (StringUtils.isNotBlank(selfIdentityNo)) {
String result = IdentityNoUtils.IdentityNoVerification(selfIdentityNo);
if (result != null) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -1546,6 +1553,7 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
entity.setPeopleCategories(informationEntity.getPeopleCategories());
entity.setRelation(NumConstant.ONE_STR);
entity.setLiveAddressName(informationEntity.getCurrentAddress());
entity.setHouseholdRegisterDetail(informationEntity.getCurrentAddress());
return entity;
}

1
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/service/impl/PopulationInformationServiceImpl.java

@ -716,6 +716,7 @@ public class PopulationInformationServiceImpl extends BaseServiceImpl<Population
entity.setFamilyMemberOutMonth(informationEntity.getFamilyMemberOutMonth());
entity.setFamilyMemberOutReason(informationEntity.getFamilyMemberOutReason());
entity.setLiveAddressName(informationEntity.getCurrentAddress());
entity.setHouseholdRegisterDetail(informationEntity.getCurrentAddress());
entity.setSpecialCrowd(informationEntity.getSpecialCrowd());
entity.setPeopleCategories(informationEntity.getPeopleCategories());
return entity;

8
epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInfoDao.xml

@ -477,4 +477,12 @@
set JOIN_TIME = null
where ID = #{id}
</update>
<select id="getMobileByIdCard" resultType="java.lang.String">
select MOBILE
from epidemic_user_info
where DEL_FLAG='0'
and MOBILE is not null
and ID_CARD=#{idcard}
order by CREATED_TIME desc limit 1
</select>
</mapper>

Loading…
Cancel
Save