|
@@ -6,6 +6,8 @@ import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.regex.Matcher;
|
|
|
|
+import java.util.regex.Pattern;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.boman.common.core.utils.DateUtils;
|
|
import com.boman.common.core.utils.DateUtils;
|
|
@@ -18,6 +20,7 @@ import com.boman.web.core.mapper.VaccineInfoOperationMapper;
|
|
import com.boman.web.core.mapper.VaccineInfoUserMapper;
|
|
import com.boman.web.core.mapper.VaccineInfoUserMapper;
|
|
import com.boman.web.core.service.vaccineInfo.IVaccineInfoService;
|
|
import com.boman.web.core.service.vaccineInfo.IVaccineInfoService;
|
|
|
|
|
|
|
|
+import io.swagger.models.auth.In;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import com.boman.web.core.mapper.VaccineInfoMapper;
|
|
import com.boman.web.core.mapper.VaccineInfoMapper;
|
|
import org.springframework.transaction.annotation.Isolation;
|
|
import org.springframework.transaction.annotation.Isolation;
|
|
@@ -55,7 +58,7 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
public VaccineInfoOperation selectVaccineInfoById(Long id) {
|
|
public VaccineInfoOperation selectVaccineInfoById(Long id) {
|
|
VaccineInfoOperation vaccineInfoOperation = vaccineInfoMapper.selectVaccineInfoById(id);
|
|
VaccineInfoOperation vaccineInfoOperation = vaccineInfoMapper.selectVaccineInfoById(id);
|
|
String vaccineName = vaccineInfoOperation.getVaccineName();
|
|
String vaccineName = vaccineInfoOperation.getVaccineName();
|
|
- if (StringUtils.isNotBlank(vaccineName)){
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(vaccineName)) {
|
|
String dictValue = vaccineInfoMapper.selectSysDictDataByDictLabel(vaccineName);
|
|
String dictValue = vaccineInfoMapper.selectSysDictDataByDictLabel(vaccineName);
|
|
vaccineInfoOperation.setDictValue(dictValue);
|
|
vaccineInfoOperation.setDictValue(dictValue);
|
|
}
|
|
}
|
|
@@ -72,11 +75,11 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
public List<VaccineInfoOperation> selectVaccineInfoList(VaccineInfoOperation vaccineInfoOperation) {
|
|
public List<VaccineInfoOperation> selectVaccineInfoList(VaccineInfoOperation vaccineInfoOperation) {
|
|
Map<String, Object> params = vaccineInfoOperation.getParams();
|
|
Map<String, Object> params = vaccineInfoOperation.getParams();
|
|
String age = params.get("age").toString();
|
|
String age = params.get("age").toString();
|
|
- if (StringUtils.isNotBlank(age)){
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(age)) {
|
|
String[] split = age.split("-");
|
|
String[] split = age.split("-");
|
|
- params.put("startAge",split[0]);
|
|
|
|
- if (split.length == 2){
|
|
|
|
- params.put("endAge",split[1]);
|
|
|
|
|
|
+ params.put("startAge", split[0]);
|
|
|
|
+ if (split.length == 2) {
|
|
|
|
+ params.put("endAge", split[1]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//疫苗名称
|
|
//疫苗名称
|
|
@@ -88,7 +91,7 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
//接种地点
|
|
//接种地点
|
|
String vaccinationPlace = vaccineInfoOperation.getVaccinationPlace();
|
|
String vaccinationPlace = vaccineInfoOperation.getVaccinationPlace();
|
|
List<String> idCardS = new ArrayList<>();
|
|
List<String> idCardS = new ArrayList<>();
|
|
- if (StringUtils.isNotBlank(vaccineName) || StringUtils.isNotBlank(jici) || vaccinationTime != null || StringUtils.isNotBlank(vaccinationPlace)){
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(vaccineName) || StringUtils.isNotBlank(jici) || vaccinationTime != null || StringUtils.isNotBlank(vaccinationPlace)) {
|
|
VaccineInfoUser vaccineInfoUser = new VaccineInfoUser();
|
|
VaccineInfoUser vaccineInfoUser = new VaccineInfoUser();
|
|
vaccineInfoUser.setVaccineName(vaccineName);
|
|
vaccineInfoUser.setVaccineName(vaccineName);
|
|
vaccineInfoUser.setJici(jici);
|
|
vaccineInfoUser.setJici(jici);
|
|
@@ -97,7 +100,55 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
idCardS = vaccineInfoUserMapper.selectIdCardList(vaccineInfoUser);
|
|
idCardS = vaccineInfoUserMapper.selectIdCardList(vaccineInfoUser);
|
|
vaccineInfoOperation.setIdCardS(idCardS);
|
|
vaccineInfoOperation.setIdCardS(idCardS);
|
|
}
|
|
}
|
|
- return vaccineInfoMapper.selectVaccineInfoList(vaccineInfoOperation);
|
|
|
|
|
|
+ List<VaccineInfoOperation> vaccineInfoOperations = vaccineInfoMapper.selectVaccineInfoList(vaccineInfoOperation);
|
|
|
|
+ StringBuilder sbDomicile = new StringBuilder();
|
|
|
|
+ StringBuilder sbNowIn = new StringBuilder();
|
|
|
|
+ if (vaccineInfoOperations != null && vaccineInfoOperations.size() > 0) {
|
|
|
|
+ for (VaccineInfoOperation infoOperation : vaccineInfoOperations) {
|
|
|
|
+ //省
|
|
|
|
+ String province = infoOperation.getProvince();
|
|
|
|
+ //市
|
|
|
|
+ String city = infoOperation.getCity();
|
|
|
|
+ //区
|
|
|
|
+ String region = infoOperation.getRegion();
|
|
|
|
+/* //乡镇
|
|
|
|
+ String villageTowns = infoOperation.getVillageTowns();
|
|
|
|
+ //村居
|
|
|
|
+ String village = infoOperation.getVillage();
|
|
|
|
+ //村民组(社区)
|
|
|
|
+ String villagerGroup = infoOperation.getVillagerGroup();*/
|
|
|
|
+ //户籍地
|
|
|
|
+ String domicile = infoOperation.getDomicile();
|
|
|
|
+ sbDomicile.append(province).append(city).append(region).append(domicile);
|
|
|
|
+ infoOperation.setDomicileSelect(sbDomicile.toString());
|
|
|
|
+ //现居地
|
|
|
|
+ String nowIn = infoOperation.getNowIn();
|
|
|
|
+ sbNowIn.append(province).append(city).append(region).append(nowIn);
|
|
|
|
+ infoOperation.setNowInSelect(sbNowIn.toString());
|
|
|
|
+ //最后一次的接种时间
|
|
|
|
+ Date vaccinationTimeLast = infoOperation.getVaccinationTime();
|
|
|
|
+ //接种的疫苗名称
|
|
|
|
+ String vaccineNameLast = infoOperation.getVaccineName();
|
|
|
|
+ Date date = vaccinationTimeNext(vaccinationTimeLast, vaccineNameLast);
|
|
|
|
+ infoOperation.setVaccinationTimeNext(date);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return vaccineInfoOperations;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private Date vaccinationTimeNext(Date vaccinationTime, String vaccineNameLast) {
|
|
|
|
+ Date date = new Date();
|
|
|
|
+ if ("科兴中维".equals(vaccineNameLast)) {
|
|
|
|
+ date = DateUtils.addDayOfDate(vaccinationTime, 14);
|
|
|
|
+ }else if ("北京生物".equals(vaccineNameLast)){
|
|
|
|
+ date = DateUtils.addDayOfDate(vaccinationTime, 21);
|
|
|
|
+ }else if ("深圳康泰".equals(vaccineNameLast)){
|
|
|
|
+ date = DateUtils.addDayOfDate(vaccinationTime, 28);
|
|
|
|
+ }else if ("安徽智飞".equals(vaccineNameLast)){
|
|
|
|
+ date = DateUtils.addDayOfDate(vaccinationTime, 28);
|
|
|
|
+ }
|
|
|
|
+ return date;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -112,26 +163,59 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
// 疫苗信息
|
|
// 疫苗信息
|
|
// genNowIn(vaccineInfoOperation);
|
|
// genNowIn(vaccineInfoOperation);
|
|
vaccineInfoOperation.setCreateTime(DateUtils.getNowDate());
|
|
vaccineInfoOperation.setCreateTime(DateUtils.getNowDate());
|
|
- int info = vaccineInfoMapper.insertVaccineInfo(vaccineInfoOperation);
|
|
|
|
//提取出用户接种疫苗信息列表
|
|
//提取出用户接种疫苗信息列表
|
|
List<VaccineInfoUser> vaccineInfoUserList = vaccineInfoOperation.getVaccineInfoUserList();
|
|
List<VaccineInfoUser> vaccineInfoUserList = vaccineInfoOperation.getVaccineInfoUserList();
|
|
- if (vaccineInfoUserList != null && vaccineInfoUserList.size() > 0){
|
|
|
|
|
|
+ //最后一次接种时间
|
|
|
|
+ Date vaccinationTime = new Date();
|
|
|
|
+ String VaccineName = "";
|
|
|
|
+ String jiCi = "";
|
|
|
|
+ if (vaccineInfoUserList != null && vaccineInfoUserList.size() > 0) {
|
|
for (VaccineInfoUser vaccineInfoUser : vaccineInfoUserList) {
|
|
for (VaccineInfoUser vaccineInfoUser : vaccineInfoUserList) {
|
|
|
|
+ if (vaccineInfoUser.getVaccinationTime().compareTo(vaccinationTime) > 0) {
|
|
|
|
+ vaccinationTime = vaccineInfoUser.getVaccinationTime();
|
|
|
|
+ }
|
|
|
|
+ //剂次可能是 "加强针"
|
|
|
|
+ String jici = vaccineInfoUser.getJici();
|
|
|
|
+ if (isNumeric(jici) && isNumeric(jiCi) && Integer.parseInt(jici) >Integer.parseInt(jiCi)){
|
|
|
|
+ jiCi = vaccineInfoUser.getJici();
|
|
|
|
+ }else if (!isNumeric(jici)){
|
|
|
|
+ jiCi = vaccineInfoUser.getJici();
|
|
|
|
+ }
|
|
vaccineInfoUser.setIdCard(vaccineInfoOperation.getIdCard());
|
|
vaccineInfoUser.setIdCard(vaccineInfoOperation.getIdCard());
|
|
vaccineInfoUser.setCreateBy(SecurityUtils.getUsername());
|
|
vaccineInfoUser.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
+ VaccineName = vaccineInfoUser.getVaccineName();
|
|
vaccineInfoUserMapper.insertVaccineInfoUser(vaccineInfoUser);
|
|
vaccineInfoUserMapper.insertVaccineInfoUser(vaccineInfoUser);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ vaccineInfoOperation.setVaccinationTime(vaccinationTime);
|
|
|
|
+ vaccineInfoOperation.setVaccineName(VaccineName);
|
|
|
|
+ vaccineInfoOperation.setJici(jiCi);
|
|
|
|
+ int info = vaccineInfoMapper.insertVaccineInfo(vaccineInfoOperation);
|
|
|
|
|
|
// 疫苗信息新增操作记录
|
|
// 疫苗信息新增操作记录
|
|
vaccineInfoOperation.setOperationType(INSERT);
|
|
vaccineInfoOperation.setOperationType(INSERT);
|
|
vaccineInfoOperation.setVaccineInfoId(vaccineInfoOperation.getId());
|
|
vaccineInfoOperation.setVaccineInfoId(vaccineInfoOperation.getId());
|
|
vaccineInfoOperation.setCreateBy(SecurityUtils.getUsername());
|
|
vaccineInfoOperation.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
+ vaccineInfoOperation.setVaccinationTime(vaccinationTime);
|
|
|
|
+ vaccineInfoOperation.setVaccineName(VaccineName);
|
|
vaccineInfoOperationMapper.insertVaccineInfoOperation(vaccineInfoOperation);
|
|
vaccineInfoOperationMapper.insertVaccineInfoOperation(vaccineInfoOperation);
|
|
-
|
|
|
|
return info;
|
|
return info;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 利用正则表达式判断字符串是否是数字
|
|
|
|
+ * @param str
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public boolean isNumeric(String str){
|
|
|
|
+ Pattern pattern = Pattern.compile("[0-9]*");
|
|
|
|
+ Matcher isNum = pattern.matcher(str);
|
|
|
|
+ if( !isNum.matches() ){
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
/**
|
|
/**
|
|
* 修改疫苗信息
|
|
* 修改疫苗信息
|
|
*
|
|
*
|
|
@@ -143,20 +227,52 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
public int updateVaccineInfo(VaccineInfoOperation vaccineInfo) {
|
|
public int updateVaccineInfo(VaccineInfoOperation vaccineInfo) {
|
|
vaccineInfo.setUpdateTime(DateUtils.getNowDate());
|
|
vaccineInfo.setUpdateTime(DateUtils.getNowDate());
|
|
// genNowIn(vaccineInfo);
|
|
// genNowIn(vaccineInfo);
|
|
- int info = vaccineInfoMapper.updateVaccineInfo(vaccineInfo);
|
|
|
|
List<VaccineInfoUser> vaccineInfoUserList = vaccineInfo.getVaccineInfoUserList();
|
|
List<VaccineInfoUser> vaccineInfoUserList = vaccineInfo.getVaccineInfoUserList();
|
|
- if (vaccineInfoUserList != null && vaccineInfoUserList.size() > 0){
|
|
|
|
|
|
+ //最后接种时间
|
|
|
|
+ Date vaccinationTime = vaccineInfo.getVaccinationTime();
|
|
|
|
+ //疫苗名称
|
|
|
|
+ String vaccineName = "";
|
|
|
|
+ //剂次
|
|
|
|
+ String jiCi = vaccineInfo.getJici();
|
|
|
|
+ if (vaccineInfoUserList != null && vaccineInfoUserList.size() > 0) {
|
|
for (VaccineInfoUser vaccineInfoUser : vaccineInfoUserList) {
|
|
for (VaccineInfoUser vaccineInfoUser : vaccineInfoUserList) {
|
|
- if (vaccineInfoUser.getId() != null){
|
|
|
|
|
|
+ if (vaccineInfoUser.getId() != null) {
|
|
vaccineInfoUser.setUpdateBy(SecurityUtils.getUsername());
|
|
vaccineInfoUser.setUpdateBy(SecurityUtils.getUsername());
|
|
|
|
+ if (vaccineInfoUser.getVaccinationTime().compareTo(vaccinationTime) > 0) {
|
|
|
|
+ vaccinationTime = vaccineInfoUser.getVaccinationTime();
|
|
|
|
+ }
|
|
|
|
+ //剂次可能是 "加强针"
|
|
|
|
+ String jici = vaccineInfoUser.getJici();
|
|
|
|
+ if (isNumeric(jici) && isNumeric(jiCi) && Integer.parseInt(jici) >Integer.parseInt(jiCi)){
|
|
|
|
+ jiCi = vaccineInfoUser.getJici();
|
|
|
|
+ }else if (!isNumeric(jici)){
|
|
|
|
+ jiCi = vaccineInfoUser.getJici();
|
|
|
|
+ }
|
|
|
|
+ vaccineName = vaccineInfoUser.getVaccineName();
|
|
vaccineInfoUserMapper.updateVaccineInfoUser(vaccineInfoUser);
|
|
vaccineInfoUserMapper.updateVaccineInfoUser(vaccineInfoUser);
|
|
- }else {
|
|
|
|
|
|
+ } else {
|
|
|
|
+ //判断接种时间是否是新
|
|
|
|
+ if (vaccineInfoUser.getVaccinationTime().compareTo(vaccinationTime) > 0) {
|
|
|
|
+ vaccinationTime = vaccineInfoUser.getVaccinationTime();
|
|
|
|
+ }
|
|
|
|
+ //剂次可能是 "加强针"
|
|
|
|
+ String jici = vaccineInfoUser.getJici();
|
|
|
|
+ if (isNumeric(jici) && isNumeric(jiCi) && Integer.parseInt(jici) >Integer.parseInt(jiCi)){
|
|
|
|
+ jiCi = vaccineInfoUser.getJici();
|
|
|
|
+ }else if (!isNumeric(jici)){
|
|
|
|
+ jiCi = vaccineInfoUser.getJici();
|
|
|
|
+ }
|
|
|
|
+ vaccineName = vaccineInfoUser.getVaccineName();
|
|
vaccineInfoUser.setIdCard(vaccineInfo.getIdCard());
|
|
vaccineInfoUser.setIdCard(vaccineInfo.getIdCard());
|
|
vaccineInfoUser.setCreateBy(SecurityUtils.getUsername());
|
|
vaccineInfoUser.setCreateBy(SecurityUtils.getUsername());
|
|
vaccineInfoUserMapper.insertVaccineInfoUser(vaccineInfoUser);
|
|
vaccineInfoUserMapper.insertVaccineInfoUser(vaccineInfoUser);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ vaccineInfo.setVaccineName(vaccineName);
|
|
|
|
+ vaccineInfo.setVaccinationTime(vaccinationTime);
|
|
|
|
+ vaccineInfo.setJici(jiCi);
|
|
|
|
+ int info = vaccineInfoMapper.updateVaccineInfo(vaccineInfo);
|
|
// 疫苗信息新增操作记录
|
|
// 疫苗信息新增操作记录
|
|
vaccineInfo.setOperationType(EDIT);
|
|
vaccineInfo.setOperationType(EDIT);
|
|
vaccineInfo.setCreateTime(new Date());
|
|
vaccineInfo.setCreateTime(new Date());
|
|
@@ -176,7 +292,7 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
public int deleteVaccineInfoByIds(Long[] ids) {
|
|
public int deleteVaccineInfoByIds(Long[] ids) {
|
|
List<VaccineInfoOperation> vaccineInfos = vaccineInfoMapper.selectVaccineInfoByIds(ids);
|
|
List<VaccineInfoOperation> vaccineInfos = vaccineInfoMapper.selectVaccineInfoByIds(ids);
|
|
String userName = SecurityUtils.getUsername();
|
|
String userName = SecurityUtils.getUsername();
|
|
- for(VaccineInfoOperation vaccineInfoOperation : vaccineInfos) {
|
|
|
|
|
|
+ for (VaccineInfoOperation vaccineInfoOperation : vaccineInfos) {
|
|
// 疫苗信息新增操作记录
|
|
// 疫苗信息新增操作记录
|
|
vaccineInfoOperation.setOperationType(DELETE);
|
|
vaccineInfoOperation.setOperationType(DELETE);
|
|
vaccineInfoOperation.setCreateTime(new Date());
|
|
vaccineInfoOperation.setCreateTime(new Date());
|
|
@@ -206,15 +322,16 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 根据身份证号查询用户信息
|
|
* 根据身份证号查询用户信息
|
|
|
|
+ *
|
|
* @param vaccineInfo
|
|
* @param vaccineInfo
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public VaccineInfoOperation findHjInfo(VaccineInfoOperation vaccineInfo) {
|
|
public VaccineInfoOperation findHjInfo(VaccineInfoOperation vaccineInfo) {
|
|
VaccineInfoOperation hjInfo = vaccineInfoMapper.findHjInfo(vaccineInfo);
|
|
VaccineInfoOperation hjInfo = vaccineInfoMapper.findHjInfo(vaccineInfo);
|
|
- if (hjInfo == null){
|
|
|
|
|
|
+ if (hjInfo == null) {
|
|
String idCard = vaccineInfo.getIdCard();
|
|
String idCard = vaccineInfo.getIdCard();
|
|
- if (StringUtils.isNotBlank(idCard)){
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(idCard)) {
|
|
//根据身份证提取出生日和性别,年龄
|
|
//根据身份证提取出生日和性别,年龄
|
|
String sex = getSex(idCard);
|
|
String sex = getSex(idCard);
|
|
Integer age = getAge(idCard);
|
|
Integer age = getAge(idCard);
|
|
@@ -232,30 +349,31 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
/**
|
|
/**
|
|
* 15位身份证号
|
|
* 15位身份证号
|
|
*/
|
|
*/
|
|
- private static final Integer FIFTEEN_ID_CARD=15;
|
|
|
|
|
|
+ private static final Integer FIFTEEN_ID_CARD = 15;
|
|
/**
|
|
/**
|
|
* 18位身份证号
|
|
* 18位身份证号
|
|
*/
|
|
*/
|
|
- private static final Integer EIGHTEEN_ID_CARD=18;
|
|
|
|
|
|
+ private static final Integer EIGHTEEN_ID_CARD = 18;
|
|
private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
|
/**
|
|
/**
|
|
* 根据身份证号获取性别
|
|
* 根据身份证号获取性别
|
|
|
|
+ *
|
|
* @param IDCard
|
|
* @param IDCard
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public static String getSex(String IDCard){
|
|
|
|
- String sex ="";
|
|
|
|
- if (StringUtils.isNotBlank(IDCard)){
|
|
|
|
|
|
+ public static String getSex(String IDCard) {
|
|
|
|
+ String sex = "";
|
|
|
|
+ if (StringUtils.isNotBlank(IDCard)) {
|
|
//15位身份证号
|
|
//15位身份证号
|
|
- if (IDCard.length() == FIFTEEN_ID_CARD){
|
|
|
|
|
|
+ if (IDCard.length() == FIFTEEN_ID_CARD) {
|
|
if (Integer.parseInt(IDCard.substring(14, 15)) % 2 == 0) {
|
|
if (Integer.parseInt(IDCard.substring(14, 15)) % 2 == 0) {
|
|
sex = "女";
|
|
sex = "女";
|
|
} else {
|
|
} else {
|
|
sex = "男";
|
|
sex = "男";
|
|
}
|
|
}
|
|
//18位身份证号
|
|
//18位身份证号
|
|
- }else if(IDCard.length() == EIGHTEEN_ID_CARD){
|
|
|
|
|
|
+ } else if (IDCard.length() == EIGHTEEN_ID_CARD) {
|
|
// 判断性别
|
|
// 判断性别
|
|
if (Integer.parseInt(IDCard.substring(16).substring(0, 1)) % 2 == 0) {
|
|
if (Integer.parseInt(IDCard.substring(16).substring(0, 1)) % 2 == 0) {
|
|
sex = "女";
|
|
sex = "女";
|
|
@@ -270,15 +388,16 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 根据身份证号获取年龄
|
|
* 根据身份证号获取年龄
|
|
|
|
+ *
|
|
* @param IDCard
|
|
* @param IDCard
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public static Integer getAge(String IDCard){
|
|
|
|
|
|
+ public static Integer getAge(String IDCard) {
|
|
Integer age = 0;
|
|
Integer age = 0;
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
- if (StringUtils.isNotBlank(IDCard)&& isValid(IDCard)){
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(IDCard) && isValid(IDCard)) {
|
|
//15位身份证号
|
|
//15位身份证号
|
|
- if (IDCard.length() == FIFTEEN_ID_CARD){
|
|
|
|
|
|
+ if (IDCard.length() == FIFTEEN_ID_CARD) {
|
|
// 身份证上的年份(15位身份证为1980年前的)
|
|
// 身份证上的年份(15位身份证为1980年前的)
|
|
String uyear = "19" + IDCard.substring(6, 8);
|
|
String uyear = "19" + IDCard.substring(6, 8);
|
|
// 身份证上的月份
|
|
// 身份证上的月份
|
|
@@ -294,7 +413,7 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
age = Integer.parseInt(fyear) - Integer.parseInt(uyear);
|
|
age = Integer.parseInt(fyear) - Integer.parseInt(uyear);
|
|
}
|
|
}
|
|
//18位身份证号
|
|
//18位身份证号
|
|
- }else if(IDCard.length() == EIGHTEEN_ID_CARD){
|
|
|
|
|
|
+ } else if (IDCard.length() == EIGHTEEN_ID_CARD) {
|
|
// 身份证上的年份
|
|
// 身份证上的年份
|
|
String year = IDCard.substring(6).substring(0, 4);
|
|
String year = IDCard.substring(6).substring(0, 4);
|
|
// 身份证上的月份
|
|
// 身份证上的月份
|
|
@@ -316,21 +435,21 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* 身份证验证
|
|
* 身份证验证
|
|
|
|
+ *
|
|
* @param id 号码内容
|
|
* @param id 号码内容
|
|
* @return 是否有效
|
|
* @return 是否有效
|
|
*/
|
|
*/
|
|
- public static boolean isValid(String id){
|
|
|
|
|
|
+ public static boolean isValid(String id) {
|
|
Boolean validResult = true;
|
|
Boolean validResult = true;
|
|
//校验长度只能为15或18
|
|
//校验长度只能为15或18
|
|
int len = id.length();
|
|
int len = id.length();
|
|
- if (len != FIFTEEN_ID_CARD && len != EIGHTEEN_ID_CARD){
|
|
|
|
|
|
+ if (len != FIFTEEN_ID_CARD && len != EIGHTEEN_ID_CARD) {
|
|
validResult = false;
|
|
validResult = false;
|
|
}
|
|
}
|
|
//校验生日
|
|
//校验生日
|
|
- if (!validDate(id)){
|
|
|
|
|
|
+ if (!validDate(id)) {
|
|
validResult = false;
|
|
validResult = false;
|
|
}
|
|
}
|
|
return validResult;
|
|
return validResult;
|
|
@@ -338,55 +457,54 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 校验生日
|
|
* 校验生日
|
|
|
|
+ *
|
|
* @param id
|
|
* @param id
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- private static boolean validDate(String id)
|
|
|
|
- {
|
|
|
|
- try
|
|
|
|
- {
|
|
|
|
|
|
+ private static boolean validDate(String id) {
|
|
|
|
+ try {
|
|
String birth = id.length() == 15 ? "19" + id.substring(6, 12) : id.substring(6, 14);
|
|
String birth = id.length() == 15 ? "19" + id.substring(6, 12) : id.substring(6, 14);
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
Date birthDate = sdf.parse(birth);
|
|
Date birthDate = sdf.parse(birth);
|
|
- if (!birth.equals(sdf.format(birthDate))){
|
|
|
|
|
|
+ if (!birth.equals(sdf.format(birthDate))) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
- }
|
|
|
|
- catch (ParseException e)
|
|
|
|
- {
|
|
|
|
|
|
+ } catch (ParseException e) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 获取出生日期 yyyy年MM月dd日
|
|
* 获取出生日期 yyyy年MM月dd日
|
|
|
|
+ *
|
|
* @param IDCard
|
|
* @param IDCard
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public static String getBirthday(String IDCard){
|
|
|
|
- String birthday="";
|
|
|
|
- String year="";
|
|
|
|
- String month="";
|
|
|
|
- String day="";
|
|
|
|
- if (StringUtils.isNotBlank(IDCard)){
|
|
|
|
|
|
+ public static String getBirthday(String IDCard) {
|
|
|
|
+ String birthday = "";
|
|
|
|
+ String year = "";
|
|
|
|
+ String month = "";
|
|
|
|
+ String day = "";
|
|
|
|
+ if (StringUtils.isNotBlank(IDCard)) {
|
|
//15位身份证号
|
|
//15位身份证号
|
|
- if (IDCard.length() == FIFTEEN_ID_CARD){
|
|
|
|
|
|
+ if (IDCard.length() == FIFTEEN_ID_CARD) {
|
|
// 身份证上的年份(15位身份证为1980年前的)
|
|
// 身份证上的年份(15位身份证为1980年前的)
|
|
year = "19" + IDCard.substring(6, 8);
|
|
year = "19" + IDCard.substring(6, 8);
|
|
//身份证上的月份
|
|
//身份证上的月份
|
|
month = IDCard.substring(8, 10);
|
|
month = IDCard.substring(8, 10);
|
|
//身份证上的日期
|
|
//身份证上的日期
|
|
- day= IDCard.substring(10, 12);
|
|
|
|
|
|
+ day = IDCard.substring(10, 12);
|
|
//18位身份证号
|
|
//18位身份证号
|
|
- }else if(IDCard.length() == EIGHTEEN_ID_CARD){
|
|
|
|
|
|
+ } else if (IDCard.length() == EIGHTEEN_ID_CARD) {
|
|
// 身份证上的年份
|
|
// 身份证上的年份
|
|
year = IDCard.substring(6).substring(0, 4);
|
|
year = IDCard.substring(6).substring(0, 4);
|
|
// 身份证上的月份
|
|
// 身份证上的月份
|
|
month = IDCard.substring(10).substring(0, 2);
|
|
month = IDCard.substring(10).substring(0, 2);
|
|
//身份证上的日期
|
|
//身份证上的日期
|
|
- day=IDCard.substring(12).substring(0,2);
|
|
|
|
|
|
+ day = IDCard.substring(12).substring(0, 2);
|
|
}
|
|
}
|
|
- birthday=year+"-"+month+"-"+day;
|
|
|
|
|
|
+ birthday = year + "-" + month + "-" + day;
|
|
}
|
|
}
|
|
return birthday;
|
|
return birthday;
|
|
}
|
|
}
|