Browse Source

居民和党员信息同步bug修改 是否免学习没有值

feature/teamB_zz_wgh
zhaoqifeng 3 years ago
parent
commit
b5488fdf4e
  1. 132
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/IDCardUtil.java
  2. 15
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberServiceImpl.java

132
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/IDCardUtil.java

@ -0,0 +1,132 @@
package com.epmet.commons.tools.utils;
import com.epmet.commons.tools.enums.GenderEnum;
import org.apache.commons.lang3.StringUtils;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/6/13 17:53
*/
public class IDCardUtil {
/**
* 15位身份证号
*/
private static final Integer FIFTEEN_ID_CARD=15;
/**
* 18位身份证号
*/
private static final Integer EIGHTEEN_ID_CARD=18;
private static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
/**
* 根据身份证号获取性别
* @param idCard
* @return
*/
public static String getSex(String idCard){
String sex ="";
if (StringUtils.isNotBlank(idCard)){
//15位身份证号
if (idCard.length() == FIFTEEN_ID_CARD){
if (Integer.parseInt(idCard.substring(14, 15)) % 2 == 0) {
sex = GenderEnum.WOMAN.getCode();
} else {
sex = GenderEnum.MAN.getCode();
}
//18位身份证号
}else if(idCard.length() == EIGHTEEN_ID_CARD){
// 判断性别
if (Integer.parseInt(idCard.substring(16).substring(0, 1)) % 2 == 0) {
sex = GenderEnum.WOMAN.getCode();
} else {
sex = GenderEnum.MAN.getCode();
}
}
}
return sex;
}
/**
* 根据身份证号获取年龄
* @param idCard
* @return
*/
public static Integer getAge(String idCard){
int age = 0;
Date date = new Date();
if (StringUtils.isNotBlank(idCard)){
//15位身份证号
if (idCard.length() == FIFTEEN_ID_CARD){
// 身份证上的年份(15位身份证为1980年前的)
String uyear = "19" + idCard.substring(6, 8);
// 身份证上的月份
String uyue = idCard.substring(8, 10);
// 当前年份
String fyear = format.format(date).substring(0, 4);
// 当前月份
String fyue = format.format(date).substring(5, 7);
if (Integer.parseInt(uyue) <= Integer.parseInt(fyue)) {
age = Integer.parseInt(fyear) - Integer.parseInt(uyear) + 1;
// 当前用户还没过生
} else {
age = Integer.parseInt(fyear) - Integer.parseInt(uyear);
}
//18位身份证号
}else if(idCard.length() == EIGHTEEN_ID_CARD){
// 身份证上的年份
String year = idCard.substring(6).substring(0, 4);
// 身份证上的月份
String yue = idCard.substring(10).substring(0, 2);
// 当前年份
String fyear = format.format(date).substring(0, 4);
// 当前月份
String fyue = format.format(date).substring(5, 7);
// 当前月份大于用户出身的月份表示已过生日
if (Integer.parseInt(yue) <= Integer.parseInt(fyue)) {
age = Integer.parseInt(fyear) - Integer.parseInt(year) + 1;
// 当前用户还没过生日
} else {
age = Integer.parseInt(fyear) - Integer.parseInt(year);
}
}
}
return age;
}
/**
* 获取出生日期 yyyy年MM月dd日
* @param idCard
* @return
*/
public static String getBirthday(String idCard){
String birthday="";
String year="";
String month="";
String day="";
if (StringUtils.isNotBlank(idCard)){
//15位身份证号
if (idCard.length() == FIFTEEN_ID_CARD){
// 身份证上的年份(15位身份证为1980年前的)
year = "19" + idCard.substring(6, 8);
//身份证上的月份
month = idCard.substring(8, 10);
//身份证上的日期
day= idCard.substring(10, 12);
//18位身份证号
}else if(idCard.length() == EIGHTEEN_ID_CARD){
// 身份证上的年份
year = idCard.substring(6).substring(0, 4);
// 身份证上的月份
month = idCard.substring(10).substring(0, 2);
//身份证上的日期
day=idCard.substring(12).substring(0,2);
}
birthday=year+"-"+month+"-"+day;
}
return birthday;
}
}

15
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberServiceImpl.java

@ -381,6 +381,21 @@ public class IcPartyMemberServiceImpl extends BaseServiceImpl<IcPartyMemberDao,
dto.setOrgPids(org.getOrgPids());
}
IcPartyMemberEntity entity = ConvertUtils.sourceToTarget(dto, IcPartyMemberEntity.class);
int age = IDCardUtil.getAge(entity.getIdCard());
if (age >= 70) {
entity.setIsMxx(NumConstant.ONE_STR);
} else {
entity.setIsMxx(NumConstant.ZERO_STR);
}
if (StringUtils.isBlank(entity.getIsLd())) {
entity.setIsLd(NumConstant.ZERO_STR);
}
if (StringUtils.isBlank(entity.getIsDyzxh())) {
entity.setIsDyzxh(NumConstant.ZERO_STR);
}
if (StringUtils.isBlank(entity.getIsTx())) {
entity.setIsTx(NumConstant.ZERO_STR);
}
//判断党员是否已存在,有则更新,没有则添加
if (null != partyMember) {

Loading…
Cancel
Save