用统一社会信用代码直接查询登记机构(GB2260区域代码数据库sql)
用统一社会信用代码直接查询登记机构
- 第一个工具类(UnifiedSocialCreditCode)
- 第二个工具类(UnifiedSocialCreditCode)
第一个工具类(UnifiedSocialCreditCode)
package org.example.UnifiedSocialCreditCode;/*** 见GB 32100-2015 法人和其他组织统一社会信用代码编码规则.pdf`在这里插入代码片`* <p>* 社会统一信用代码 18位 阿拉伯数字或大写英文字母(不使用I、O、Z、S、V)组成* 第1位 :登记管理部门代码* 第2位 :机构类别代码 (医疗卫生机构类别代码)* 第3-8位 :登记管理机关行政区划码* 第9-17位 : 主体标识码(组织机构代码)* 第18位 : 校验码*/
public class UnifiedSocialCreditCode {/*** 统一社会信用代码*/private String uscc;/*** 第1位 登记管理部门代码* 1 机构编制 2 外交;3司法行政;4 文化;5 民政;6旅游;7 宗教;8 工会;9 工商;* A中央军委改革和编制办公室;N农业;Y其他。*/private String managementDepartmentCode;/*** 第2位 机构类别代码* 机构编制 1: 机关 1 事业单位 2 中央编办直接管理机构编制的群众团体 3 其他 9* 民政 5: 社会团体 1 民办非企业单位 2 基金会 3 其他 9* 工商 9: 企业 1 个体工商户 2 农民专业合作社 3* 其他 Y: 1*/private String orgType;/*** 第3位-第8位 登记管理机关 行政区划代码* 参照 GB/T 2260 编码*/private String admdvsCode;/*** 第9位-第17位 主体标识码(组织机构代码)* 参照GB 11714*/private String orgCode;/*** 第18位 校验码*/private String keyCode;public UnifiedSocialCreditCode() {}public UnifiedSocialCreditCode(String uscc) {this.uscc = uscc;}public String getUscc() {return uscc;}public void setUscc(String uscc) {this.uscc = uscc;}public String getManagementDepartmentCode() {return managementDepartmentCode;}public void setManagementDepartmentCode(String managementDepartmentCode) {this.managementDepartmentCode = managementDepartmentCode;}public String getOrgType() {return orgType;}public void setOrgType(String orgType) {this.orgType = orgType;}public String getAdmdvsCode() {return admdvsCode;}public void setAdmdvsCode(String admdvsCode) {this.admdvsCode = admdvsCode;}public String getOrgCode() {return orgCode;}public void setOrgCode(String orgCode) {this.orgCode = orgCode;}public String getKeyCode() {return keyCode;}public void setKeyCode(String keyCode) {this.keyCode = keyCode;}}
第二个工具类(UnifiedSocialCreditCode)
package org.example.UnifiedSocialCreditCode;public class UnifiedSocialCreditCodeMethod {/*** 根据社会统一信用代码设置* 登记管理部门代码、医疗卫生机构类别代码、行政区划码、组织机构代码、校验码* 这个类是用来给 UnifiedSocialCreditCode*/public static UnifiedSocialCreditCode setUSCCInfo(String USCC){UnifiedSocialCreditCode unifiedSocialCreditCode = new UnifiedSocialCreditCode();String managementDepartmentCode = USCC.substring(0,1); // 第1位 登记管理部门代码String orgType = USCC.substring(1).substring(0,1); // 第2位 机构类别代码String admdvsCode = USCC.substring(2).substring(0,6); // 第3位-第8位 登记管理机关(行政区划代码)String orgCode = USCC.substring(8).substring(0,9); // 第9位-第17位 主体标识码(组织机构代码)String keyCode = USCC.substring(17).substring(0,1); // 第18位 校验码unifiedSocialCreditCode.setManagementDepartmentCode(managementDepartmentCode);unifiedSocialCreditCode.setOrgType(orgType);unifiedSocialCreditCode.setAdmdvsCode(admdvsCode);unifiedSocialCreditCode.setOrgCode(orgCode);unifiedSocialCreditCode.setKeyCode(keyCode);return unifiedSocialCreditCode;}/*** 统一社会信用代码校验* TODO** @return true/false*/public static boolean checkUSCC(String USCC) {if (USCC.length() != 18) {// System.out.println("统一社会信用代码长度错误");return false;}int Weight[] = {1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28}; //用于存放权值int index = 0; //用于计算当前判断的统一社会信用代码位数char testc; //用于存放当前位的统一社会信用代码int tempSum = 0; //用于存放代码字符和加权因子乘积之和int tempNum = 0;for (index = 0; index < 17; index++) {testc = USCC.charAt(index);// 第1位 登记注册类型代码if (index == 0) {if (testc != '1' && testc != '5' && testc != '9' && testc != 'Y') {System.out.println("统一社会信用代码中登记管理部门代码错误");return false;}}// 第2位 机构类别代码if (index == 1) {if (testc != '1' && testc != '2' && testc != '3' && testc != '9') {System.out.println("统一社会信用代码中机构类别代码错误");return false;}}tempNum = charToNum(testc);if (tempNum != -1) { //验证代码中是否有错误字符tempSum += Weight[index] * tempNum;} else {System.out.println("统一社会信用代码中出现错误字符");return false;}}tempNum = 31 - tempSum % 31;if (tempNum == 31) tempNum = 0;if (charToNum(USCC.charAt(17)) == tempNum) //按照GB/T 17710标准对统一社会信用代码前17位计算校验码,并与第18位校验位进行比对return true;elsereturn false;}/*** 按照GB32100-2015标准代码字符集将用于检验的字符变为相应数字* @param c* @return 转换完成后对应的数字,若无法找到 字符集中的字符,返回-1*/public static int charToNum(char c) {switch (c) {case '0':return 0;case '1':return 1;case '2':return 2;case '3':return 3;case '4':return 4;case '5':return 5;case '6':return 6;case '7':return 7;case '8':return 8;case '9':return 9;case 'A':return 10;case 'B':return 11;case 'C':return 12;case 'D':return 13;case 'E':return 14;case 'F':return 15;case 'G':return 16;case 'H':return 17;case 'J':return 18;case 'K':return 19;case 'L':return 20;case 'M':return 21;case 'N':return 22;case 'P':return 23;case 'Q':return 24;case 'R':return 25;case 'T':return 26;case 'U':return 27;case 'W':return 28;case 'X':return 29;case 'Y':return 30;default:return -1;}}
}
原文: https://blog.csdn.net/qq_43098690/article/details/124309146
用统一社会信用代码直接查询登记机构(GB2260区域代码数据库sql)相关推荐
- JS校验统一社会信用代码的真实性
统一代码的构成 结构 代码及说明 统一社会信用代码来源字符与数值对应关系表 统一社会信用代码相应顺序上对应的加权因子 计算示例 js代码实现 统一社会信用代码:每一个法人和其他组织在全国范围内唯一的. ...
- JS实现统一社会信用代码的效验(组织机构代码效验)
参考原文https://blog.csdn.net/hdhxby/article/details/56015370 部分错误,修改整合了下 想查询数据的,请点击:统一信用代码查询地址 查看效验规则点击 ...
- 统一社会信用代码的编码格式以及js正则校验
统一社会信用代码 统一社会信用代码正则:/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/ // 返回值为true或false functio ...
- Python实现统一社会信用代码校验(GB32100-2015)
Python实现统一社会信用代码校验 统一社会信用代码国标校验 统一社会信用代码国标校验规则 示例说明 Python代码实现(仅实现GB- 32100-2015中的规则) 统一社会信用代码国标校验 ...
- Python实现统一社会信用代码合法性校验
Python实现统一社会信用代码合法性校验 1 统一代码的构成 1.1 结构 统一代码由十八位的阿拉伯数字或大写英文字母(不使用I.O.Z.S.V)组成,包括第1位登记管理部门代码.第2位机构类别 ...
- 统一社会信用代码正则表达式
统一社会信用代码正则表达式: 统一社会信用代码由18位数字或者大写字母组成,但是字母不包括 I.O.Z.S.V 一共由五部分组成 第一部分:登记管理部门代码1位 (数字或大写英文字母) 第二部分:机构 ...
- 精准准确的统一社会信用代码正则(js)
参照标准: <GB_32100-2015_法人和其他组织统一社会信用代码编码规则.> 按照编码规则: 统一代码为18位,统一代码由十八位的数字或大写英文字母(不适用I.O.Z.S.V)组成 ...
- 组织机构代码和统一社会信用代码校验规则以及java校验工具类
组织机构代码 编码规则编辑 1.全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉丁字母)校验码组成. 本体代码采用系列(即分区段)顺序编码方法. 校验码按照以下公式计算: C9 ...
- ASP.NET 中验证的自定义返回和统一社会信用代码的内置验证实现
目录 项目演示 创建项目 创建用户注册信息接收类 创建测试 Controller 执行测试 统一错误返回 自定义验证规则 验证规则介绍 编码实现 最后 References 本文介绍 ASP.NET ...
最新文章
- scala基本语言结构以及函数算子(持续更新......)
- pytorch默认初始化_“最全PyTorch分布式教程”来了!
- postconstruct_@PostConstruct注解,你该好好看看
- java铃声类_java多线程抓取铃声多多官网的铃声数据
- vconfig命令打通直连网络
- css 引入的 方式有哪些? link与post有什么区别??
- ORA-06502: PL/SQL: numeric or value error: character to number conversion error 错误的解决方法...
- python求几何平均_算术平均、几何平均、调和平均、平方平均和移动平均
- 地铁视频监控系统中无线监控技术的应用
- 卡麦吉梅隆大学 计算机排名,2019年卡内基梅隆大学信息系统排名
- CSS 实现水晶按钮特效 - 来自 www.codesc.net
- template的使用,泛式编程
- 关于已移除sd卡,手机不认卡的原因和解决办法(转)
- 在HarmonyOS中实现基于JS卡片的音乐播放器
- [有限元分析] fluent-固体传热分析
- bootice添加黑苹果引导_黑苹果去除clover多余引导项的两种方法
- 面试HR必谈问题合集
- 老司机教你一秒分辨ESD静电保护器件正负方向
- df2=df 改变会影响另一个 互相独立的办法
- 基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Medi
热门文章
- 【前端用法】jQuery在线引用地址(全)
- 程序员的基本素质---树上还剩几只鸟
- python工程师简历项目经验怎么写_简历上的项目经历怎么写 ?这 3 条原则不可忽视 !...
- vce 题库导入_Visual CertExam(VCE)试题制作教程 -
- stata中的SDM模型、豪斯曼检验
- 查看工作组计算机出现无法访问,电脑工作组无法访问怎么办 workgroup无法访问的解决方法教程[多图]...
- 计算机改错误的是什么意思,百度百科修改原因不正确是什么
- vue中使用echarts实现地图颜色渐变及自定义浮窗内容
- 世界摄影大赛获奖精品!令人惊叹!
- XDR: External Data Representation