From b5488fdf4eb6889ea40ea2499f0dd72cc0066ca5 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 13 Jun 2022 18:11:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=85=E6=B0=91=E5=92=8C=E5=85=9A=E5=91=98?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=90=8C=E6=AD=A5bug=E4=BF=AE=E6=94=B9=20?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=85=8D=E5=AD=A6=E4=B9=A0=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/utils/IDCardUtil.java | 132 ++++++++++++++++++ .../impl/IcPartyMemberServiceImpl.java | 15 ++ 2 files changed, 147 insertions(+) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/IDCardUtil.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/IDCardUtil.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/IDCardUtil.java new file mode 100644 index 0000000000..3ec57c53f5 --- /dev/null +++ b/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; + } +} diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberServiceImpl.java index 3045e59b24..7e4ecfc6ac 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberServiceImpl.java +++ b/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= 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) {