对组织机构代码办证系统中数据有效性验证初探

时间:2022-07-27 01:02:09

对组织机构代码办证系统中数据有效性验证初探

【摘 要】组织机构代码证的办理工作对所采集信息的准确性有严格的要求。而办证系统对于数据的有效性没有审核措施。本文拟通过利用EXCEL对代码数据常见问题进行检查。

【关键词】组织机构代码 数据 验证

1 组织机构代码证简介

组织机构代码是对中华人民共和国境内依法注册、依法登记的机关、企业、事业单位、社会团体及其他组织颁发的全国范围内唯一的、始终不变的法定标识。可以理解为单位的身份证号码。

1989年我国建立组织机构代码统一制度以来,河南省已对55万余个组织机构赋予了统一代码。目前,代码已广泛应用于财政、税务、银行、公安、统计、外汇、人事、劳动保障、质监等近二十多个部门,在社会和经济事务管理领域中发挥了重要作用。对建立社会主义市经济体制和推动社会进步具有十分重要的意义。

2 代码证信息采集过程中存在的问题

在目前代码证信息采集过程中,主要依靠人工对办证单位提供的原始资料进行核对,并将信息录入代码办证系统。但这种方式存在一种弊端,那就是人工检查方式费时、费力,且易出错。笔者在工作中将代码数据自动导入EXCEL,利用EXCEL强大的数据审核功能,按限定的条件对数据进行检查,并将结果显示出来。这样一来,将人员从繁杂的检查工作中解放出来,起到了事半功倍的作用。

3 应用实例

代码办证系统采用SQL数据库,安装完成后自动生成名为code2db的数据源,并指向c:\\code\\code.db数据库。

设将导入的办证日期、作废日期、身份证号、电话号码在EXCEL中对C、D、E、F列,本例对第3行数据进行检查。

3.1 对证书有效的验证(要求不大于四年)

公式:=IF((D3-C3)>1460,“不正确”,“正确”)

3.2 对电话号码的验证

公式:=IF(OR(LEN(F3)=11,(AND(LEN(F3)=13,MID(F3,1,4)=“0379”))),“正确”,“不正确或分机”)

注:对手机和固定电话长度进行验证,且对固话区号验证。

3.3 对身份证号码进行分析,分别得出出生日期、性别、年龄,并对18位身份证号校验位进行验证

3.3.1 从身份证号得出出生日期

公式:=IF(LEN(E3)=15,“19”&MID(E3,7,2)&“年”&MID(E3,9,2)&“月”&MID(E3,11,2)&“日”,MID(E3,7,4)&“年”&MID(E3,11,2)&“月”&MID(E3,13,2)&“日”)

3.3.2 从身份证号得出性别

公式:=IF(MOD(IF(LEN(E3)=15,MID(E3,15,1),MID(E3,17,1)),2)=1,“男”,“女”)

3.3.3从身份证号得出年龄

公式:=IF(E2<>“”,DATEDIF(TEXT((LEN(E2)=15)*19&MID(E2,7,6+(LEN(E2)=18)*2),“#-00-00”),TODAY(),“y”),)

3.3.4对18位身份证号检验位的验证

该功能的实现需自定义一个函数SFZJY。

Public Function SFZJY(sfz)

On Error Resume Next

Dim s1, s2, jym

s1 = “ 7 910 5 8 4 2 1 6 3 7 910 5 8 4 2”

s2 = “10X98765432”

If Len(sfz) <> 15 And Len(sfz) <> 18 Then

SFZJY = “身份证长度不对”

'测试15位身份证的信息

ElseIf Len(sfz) = 15 And Val(Mid(sfz, 9, 2)) > 12 Then

SFZJY = “出生月份错误!”

ElseIf Len(sfz) = 15 And Val(Mid(sfz, 11, 2)) > 31 Then

SFZJY = “出生日子错误!”

ElseIf Len(sfz) = 15 Then

SFZJY = “ ”

'测试18位身份证的信息

ElseIf Len(sfz) = 18 And Val(Mid(sfz, 11, 2)) > 12 Then

SFZJY = “出生月份错误!”

ElseIf Len(sfz) = 18 And Val(Mid(sfz, 13, 2)) > 31 Then

SFZJY = “出生日子错误!”

Else

newid = Left(sfz, 17)

jym = 0

For i = 1 To 17

jym = jym + Val(Mid(s1, i * 2 - 1, 2)) * Val(Mid(newid, i, 1))

Next i

If Mid(s2, jym Mod 11 + 1, 1) <> Mid(sfz, 18, 1) Then

SFZJY = “校验位错,应为:” & Mid(s2, jym Mod 11 + 1, 1)

Else

SFZJY = “正确”

End If

End If

End Function

4 应用成果

该软件在2008年7月10日举办的河南省代码业务管理提高班上进行讲解演示,并在全省100多个基层办证点应用,取得了良好效果。

(作者单位:河南洛阳市质量技术监督局)

上一篇:从营销角度看信息技术应用 下一篇:集体行动逻辑视角下的《物业管理条例》