|
@@ -195,59 +195,82 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
|
@Override
|
|
|
@Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Exception.class)
|
|
|
public int insertVaccineInfo(VaccineInfoOperation vaccineInfoOperation) {
|
|
|
- // 疫苗信息
|
|
|
+ //获取身份证
|
|
|
+ String idCard = vaccineInfoOperation.getIdCard();
|
|
|
+ //先去查询该身份证信息 是否存在
|
|
|
+ VaccineInfoOperation vaccineInfoOperationOld = vaccineInfoMapper.selectVaccineInfoByIdCard(idCard);
|
|
|
+ if (vaccineInfoOperationOld == null || vaccineInfoOperationOld.getId() == null) {
|
|
|
+ // 疫苗信息
|
|
|
// genNowIn(vaccineInfoOperation);
|
|
|
- vaccineInfoOperation.setCreateTime(DateUtils.getNowDate());
|
|
|
- //提取出用户接种疫苗信息列表
|
|
|
- List<VaccineInfoUser> vaccineInfoUserList = vaccineInfoOperation.getVaccineInfoUserList();
|
|
|
- //最后一次接种时间
|
|
|
- Date vaccinationTime = null;
|
|
|
- String vaccineName = "";
|
|
|
- String jiCi = "";
|
|
|
- if (vaccineInfoUserList != null && vaccineInfoUserList.size() > 0) {
|
|
|
- for (VaccineInfoUser vaccineInfoUser : vaccineInfoUserList) {
|
|
|
- if (StringUtils.isNotBlank(vaccineInfoUser.getVaccineName()) || vaccineInfoUser.getVaccinationTime() != null || StringUtils.isNotBlank(vaccineInfoUser.getVaccinationPlace()) || StringUtils.isNotBlank(vaccineInfoUser.getJici()) || StringUtils.isNotBlank(vaccineInfoUser.getProgress())) {
|
|
|
- if (vaccineInfoUser.getVaccinationTime() != null && vaccineInfoUser.getVaccinationTime().compareTo(vaccinationTime) > 0) {
|
|
|
- vaccinationTime = vaccineInfoUser.getVaccinationTime();
|
|
|
- }
|
|
|
- //剂次可能是 "加强针"
|
|
|
- String jici = vaccineInfoUser.getJici();
|
|
|
- if (isNumeric(jici) && isNumeric(jiCi)) {
|
|
|
- if (Integer.parseInt(jici) > Integer.parseInt(jiCi)) {
|
|
|
+ vaccineInfoOperation.setCreateTime(DateUtils.getNowDate());
|
|
|
+ //提取出用户接种疫苗信息列表
|
|
|
+ List<VaccineInfoUser> vaccineInfoUserList = vaccineInfoOperation.getVaccineInfoUserList();
|
|
|
+ //最后一次接种时间
|
|
|
+ Date vaccinationTime = null;
|
|
|
+ String vaccineName = "";
|
|
|
+ String jiCi = "";
|
|
|
+ if (vaccineInfoUserList != null && vaccineInfoUserList.size() > 0) {
|
|
|
+ for (VaccineInfoUser vaccineInfoUser : vaccineInfoUserList) {
|
|
|
+ if (StringUtils.isNotBlank(vaccineInfoUser.getVaccineName()) || vaccineInfoUser.getVaccinationTime() != null || StringUtils.isNotBlank(vaccineInfoUser.getVaccinationPlace()) || StringUtils.isNotBlank(vaccineInfoUser.getJici()) || StringUtils.isNotBlank(vaccineInfoUser.getProgress())) {
|
|
|
+ if (vaccineInfoUser.getVaccinationTime() != null && vaccineInfoUser.getVaccinationTime().compareTo(vaccinationTime) > 0) {
|
|
|
+ vaccinationTime = vaccineInfoUser.getVaccinationTime();
|
|
|
+ }
|
|
|
+ //剂次可能是 "加强针"
|
|
|
+ String jici = vaccineInfoUser.getJici();
|
|
|
+ if (isNumeric(jici) && isNumeric(jiCi)) {
|
|
|
+ if (Integer.parseInt(jici) > Integer.parseInt(jiCi)) {
|
|
|
+ jiCi = vaccineInfoUser.getJici();
|
|
|
+ }
|
|
|
+ } else if (!isNumeric(jici)) {
|
|
|
jiCi = vaccineInfoUser.getJici();
|
|
|
}
|
|
|
- } else if (!isNumeric(jici)) {
|
|
|
- jiCi = vaccineInfoUser.getJici();
|
|
|
+ vaccineInfoUser.setIdCard(vaccineInfoOperation.getIdCard());
|
|
|
+ vaccineInfoUser.setCreateBy(SecurityUtils.getUsername());
|
|
|
+ vaccineName = vaccineInfoUser.getVaccineName();
|
|
|
+ vaccineInfoUserMapper.insertVaccineInfoUser(vaccineInfoUser);
|
|
|
}
|
|
|
- vaccineInfoUser.setIdCard(vaccineInfoOperation.getIdCard());
|
|
|
- vaccineInfoUser.setCreateBy(SecurityUtils.getUsername());
|
|
|
- vaccineName = vaccineInfoUser.getVaccineName();
|
|
|
- vaccineInfoUserMapper.insertVaccineInfoUser(vaccineInfoUser);
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- //是否完成
|
|
|
- String isSuccess = getIsSuccess(vaccineName, jiCi);
|
|
|
- vaccineInfoOperation.setVaccinationTime(vaccinationTime);
|
|
|
- vaccineInfoOperation.setVaccineName(vaccineName);
|
|
|
- vaccineInfoOperation.setJici(jiCi);
|
|
|
- vaccineInfoOperation.setProgress(isSuccess);
|
|
|
- //只针对第一针
|
|
|
- //应种未种:死亡(包含里面的选项)-禁忌症(包含里面的选项)-已经接种的-缓种-其他,只针对第一针
|
|
|
- //应续未续:只打了一针(总共2针),智飞打了一次和二次都是应续未续,只要一样禁忌症和暂缓就都不算
|
|
|
- VaccineInfoOperation vaccineInfoOperationNew = shouldSlow(vaccineInfoOperation);
|
|
|
+ //是否完成
|
|
|
+ String isSuccess = getIsSuccess(vaccineName, jiCi);
|
|
|
+ vaccineInfoOperation.setVaccinationTime(vaccinationTime);
|
|
|
+ vaccineInfoOperation.setVaccineName(vaccineName);
|
|
|
+ vaccineInfoOperation.setJici(jiCi);
|
|
|
+ vaccineInfoOperation.setProgress(isSuccess);
|
|
|
+ //只针对第一针
|
|
|
+ //应种未种:死亡(包含里面的选项)-禁忌症(包含里面的选项)-已经接种的-缓种-其他,只针对第一针
|
|
|
+ //应续未续:只打了一针(总共2针),智飞打了一次和二次都是应续未续,只要一样禁忌症和暂缓就都不算
|
|
|
+ VaccineInfoOperation vaccineInfoOperationNew = shouldSlow(vaccineInfoOperation);
|
|
|
|
|
|
|
|
|
- int info = vaccineInfoMapper.insertVaccineInfo(vaccineInfoOperationNew);
|
|
|
+ int info = vaccineInfoMapper.insertVaccineInfo(vaccineInfoOperationNew);
|
|
|
|
|
|
- // 疫苗信息新增操作记录
|
|
|
- vaccineInfoOperationNew.setOperationType(INSERT);
|
|
|
- vaccineInfoOperationNew.setVaccineInfoId(vaccineInfoOperation.getId());
|
|
|
- vaccineInfoOperationNew.setCreateBy(SecurityUtils.getUsername());
|
|
|
- vaccineInfoOperationNew.setVaccinationTime(vaccinationTime);
|
|
|
- vaccineInfoOperationNew.setVaccineName(vaccineName);
|
|
|
- vaccineInfoOperationMapper.insertVaccineInfoOperation(vaccineInfoOperationNew);
|
|
|
- return info;
|
|
|
+ // 疫苗信息新增操作记录
|
|
|
+ vaccineInfoOperationNew.setOperationType(INSERT);
|
|
|
+ vaccineInfoOperationNew.setVaccineInfoId(vaccineInfoOperation.getId());
|
|
|
+ vaccineInfoOperationNew.setCreateBy(SecurityUtils.getUsername());
|
|
|
+ vaccineInfoOperationNew.setVaccinationTime(vaccinationTime);
|
|
|
+ vaccineInfoOperationNew.setVaccineName(vaccineName);
|
|
|
+ vaccineInfoOperationMapper.insertVaccineInfoOperation(vaccineInfoOperationNew);
|
|
|
+ return info;
|
|
|
+ }else {
|
|
|
+ //查询出来的用户疫苗信息
|
|
|
+ List<VaccineInfoUser> vaccineInfoUserListOld = vaccineInfoOperationOld.getVaccineInfoUserList();
|
|
|
+ //提取出用户接种疫苗信息列表
|
|
|
+ List<VaccineInfoUser> vaccineInfoUserList = vaccineInfoOperation.getVaccineInfoUserList();
|
|
|
+ for (VaccineInfoUser vaccineInfoUser : vaccineInfoUserList) {
|
|
|
+ //新增的疫苗信息
|
|
|
+ String vaccineName = vaccineInfoUser.getVaccineName();
|
|
|
+ String jici = vaccineInfoUser.getJici();
|
|
|
+
|
|
|
+ for (VaccineInfoUser infoUser : vaccineInfoUserListOld) {
|
|
|
+ String vaccineName1 = infoUser.getVaccineName();
|
|
|
+ String jici1 = infoUser.getJici();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
|