|
@@ -2,10 +2,7 @@ package com.boman.web.core.service.vaccineInfo.impl;
|
|
|
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
|
|
|
@@ -13,7 +10,9 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.boman.common.core.utils.DateUtils;
|
|
|
import com.boman.common.core.utils.SecurityUtils;
|
|
|
import com.boman.common.core.utils.StringUtils;
|
|
|
+import com.boman.common.core.utils.obj.ObjectUtils;
|
|
|
import com.boman.domain.SysDictData;
|
|
|
+import com.boman.domain.dto.AjaxResult;
|
|
|
import com.boman.web.core.domain.VaccineInfoOperation;
|
|
|
import com.boman.web.core.domain.VaccineInfoUser;
|
|
|
import com.boman.web.core.mapper.VaccineInfoOperationMapper;
|
|
@@ -193,7 +192,7 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Exception.class)
|
|
|
- public int insertVaccineInfo(VaccineInfoOperation vaccineInfoOperation) {
|
|
|
+ public AjaxResult insertVaccineInfo(VaccineInfoOperation vaccineInfoOperation) {
|
|
|
//获取身份证
|
|
|
String idCard = vaccineInfoOperation.getIdCard();
|
|
|
//先去查询该身份证信息 是否存在
|
|
@@ -219,13 +218,14 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
|
if (isNumeric(jici) && isNumeric(jiCi)) {
|
|
|
if (Integer.parseInt(jici) > Integer.parseInt(jiCi)) {
|
|
|
jiCi = vaccineInfoUser.getJici();
|
|
|
+ vaccineName = vaccineInfoUser.getVaccineName();
|
|
|
}
|
|
|
} else if (!isNumeric(jici)) {
|
|
|
jiCi = vaccineInfoUser.getJici();
|
|
|
+ vaccineName = vaccineInfoUser.getVaccineName();
|
|
|
}
|
|
|
vaccineInfoUser.setIdCard(vaccineInfoOperation.getIdCard());
|
|
|
vaccineInfoUser.setCreateBy(SecurityUtils.getUsername());
|
|
|
- vaccineName = vaccineInfoUser.getVaccineName();
|
|
|
vaccineInfoUserMapper.insertVaccineInfoUser(vaccineInfoUser);
|
|
|
}
|
|
|
}
|
|
@@ -242,7 +242,7 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
|
VaccineInfoOperation vaccineInfoOperationNew = shouldSlow(vaccineInfoOperation);
|
|
|
|
|
|
|
|
|
- int info = vaccineInfoMapper.insertVaccineInfo(vaccineInfoOperationNew);
|
|
|
+ int rows = vaccineInfoMapper.insertVaccineInfo(vaccineInfoOperationNew);
|
|
|
|
|
|
// 疫苗信息新增操作记录
|
|
|
vaccineInfoOperationNew.setOperationType(INSERT);
|
|
@@ -250,26 +250,66 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
|
vaccineInfoOperationNew.setCreateBy(SecurityUtils.getUsername());
|
|
|
vaccineInfoOperationNew.setVaccinationTime(vaccinationTime);
|
|
|
vaccineInfoOperationNew.setVaccineName(vaccineName);
|
|
|
- vaccineInfoOperationMapper.insertVaccineInfoOperation(vaccineInfoOperationNew);
|
|
|
- return info;
|
|
|
+ vaccineInfoOperationMapper.insertVaccineInfoOperation(vaccineInfoOperationNew);
|
|
|
+ return rows > 0 ? AjaxResult.success() : AjaxResult.error();
|
|
|
}else {
|
|
|
//查询出来的用户疫苗信息
|
|
|
List<VaccineInfoUser> vaccineInfoUserListOld = vaccineInfoOperationOld.getVaccineInfoUserList();
|
|
|
+ String jiCiOld = vaccineInfoOperationOld.getJici();
|
|
|
+ String vaccineNameOld = vaccineInfoOperationOld.getVaccineName();
|
|
|
+ Date vaccinationTime = vaccineInfoOperationOld.getVaccinationTime();
|
|
|
+ //组装一个map
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ if (vaccineInfoUserListOld != null && vaccineInfoUserListOld.size() > 0){
|
|
|
+ for (VaccineInfoUser infoUser : vaccineInfoUserListOld) {
|
|
|
+ //原始的疫苗信息
|
|
|
+ map.put(infoUser.getVaccineName()+infoUser.getJici(),infoUser);
|
|
|
+ }
|
|
|
+ }
|
|
|
//提取出用户接种疫苗信息列表
|
|
|
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();
|
|
|
+ if (vaccineInfoUserList != null && vaccineInfoUserList.size() > 0){
|
|
|
+ for (VaccineInfoUser vaccineInfoUser : vaccineInfoUserList) {
|
|
|
+ //新增的疫苗信息
|
|
|
+ String vaccineName = vaccineInfoUser.getVaccineName();
|
|
|
+ String jici = vaccineInfoUser.getJici();
|
|
|
+ Object vaccineInfoUserMap = map.get(vaccineName + jici);
|
|
|
+ if (ObjectUtils.isEmpty(vaccineInfoUserMap)){
|
|
|
+ //说明没有,则新增
|
|
|
+ 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();
|
|
|
+ }
|
|
|
+ //剂次可能是 "加强针"
|
|
|
+ if (isNumeric(jici) && isNumeric(jiCiOld)) {
|
|
|
+ if (Integer.parseInt(jici) > Integer.parseInt(jiCiOld)) {
|
|
|
+ jiCiOld = vaccineInfoUser.getJici();
|
|
|
+ vaccineNameOld = vaccineInfoUser.getVaccineName();
|
|
|
+ }
|
|
|
+ } else if (!isNumeric(jici)) {
|
|
|
+ jiCiOld = vaccineInfoUser.getJici();
|
|
|
+ vaccineNameOld = vaccineInfoUser.getVaccineName();
|
|
|
+ }
|
|
|
+ vaccineInfoUser.setIdCard(vaccineInfoOperationOld.getIdCard());
|
|
|
+ vaccineInfoUser.setCreateBy(SecurityUtils.getUsername());
|
|
|
+ vaccineInfoUserMapper.insertVaccineInfoUser(vaccineInfoUser);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ //是否完成
|
|
|
+ String isSuccess = getIsSuccess(vaccineNameOld, jiCiOld);
|
|
|
+ vaccineInfoOperationOld.setVaccineName(vaccineNameOld);
|
|
|
+ vaccineInfoOperationOld.setJici(jiCiOld);
|
|
|
+ vaccineInfoOperationOld.setVaccinationTime(vaccinationTime);
|
|
|
+ vaccineInfoOperation.setProgress(isSuccess);
|
|
|
+ vaccineInfoMapper.updateVaccineInfo(vaccineInfoOperationOld);
|
|
|
+ VaccineInfoOperation vaccineInfoOperation1 = vaccineInfoMapper.selectVaccineInfoById(vaccineInfoOperationOld.getId());
|
|
|
+ //判断应续未续
|
|
|
+ VaccineInfoOperation vaccineInfoOperationNew = shouldSlow(vaccineInfoOperation1);
|
|
|
+ int rows = vaccineInfoMapper.updateVaccineInfo(vaccineInfoOperationNew);
|
|
|
+ return rows > 0 ? AjaxResult.success() : AjaxResult.error();
|
|
|
}
|
|
|
- return 0;
|
|
|
}
|
|
|
|
|
|
|