用统一社会信用代码直接查询登记机构

  • 第一个工具类(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)相关推荐

  1. JS校验统一社会信用代码的真实性

    统一代码的构成 结构 代码及说明 统一社会信用代码来源字符与数值对应关系表 统一社会信用代码相应顺序上对应的加权因子 计算示例 js代码实现 统一社会信用代码:每一个法人和其他组织在全国范围内唯一的. ...

  2. JS实现统一社会信用代码的效验(组织机构代码效验)

    参考原文https://blog.csdn.net/hdhxby/article/details/56015370 部分错误,修改整合了下 想查询数据的,请点击:统一信用代码查询地址 查看效验规则点击 ...

  3. 统一社会信用代码的编码格式以及js正则校验

    统一社会信用代码 统一社会信用代码正则:/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/ // 返回值为true或false functio ...

  4. Python实现统一社会信用代码校验(GB32100-2015)

    Python实现统一社会信用代码校验 统一社会信用代码国标校验 统一社会信用代码国标校验规则 示例说明 Python代码实现(仅实现GB- 32100-2015中的规则) 统一社会信用代码国标校验   ...

  5. Python实现统一社会信用代码合法性校验

    Python实现统一社会信用代码合法性校验 1 统一代码的构成 1.1 结构 ​ 统一代码由十八位的阿拉伯数字或大写英文字母(不使用I.O.Z.S.V)组成,包括第1位登记管理部门代码.第2位机构类别 ...

  6. 统一社会信用代码正则表达式

    统一社会信用代码正则表达式: 统一社会信用代码由18位数字或者大写字母组成,但是字母不包括 I.O.Z.S.V 一共由五部分组成 第一部分:登记管理部门代码1位 (数字或大写英文字母) 第二部分:机构 ...

  7. 精准准确的统一社会信用代码正则(js)

    参照标准: <GB_32100-2015_法人和其他组织统一社会信用代码编码规则.> 按照编码规则: 统一代码为18位,统一代码由十八位的数字或大写英文字母(不适用I.O.Z.S.V)组成 ...

  8. 组织机构代码和统一社会信用代码校验规则以及java校验工具类

    组织机构代码 编码规则编辑 1.全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉丁字母)校验码组成. 本体代码采用系列(即分区段)顺序编码方法. 校验码按照以下公式计算: C9 ...

  9. ASP.NET 中验证的自定义返回和统一社会信用代码的内置验证实现

    目录 项目演示 创建项目 创建用户注册信息接收类 创建测试 Controller 执行测试 统一错误返回 自定义验证规则 验证规则介绍 编码实现 最后 References 本文介绍 ASP.NET ...

最新文章

  1. scala基本语言结构以及函数算子(持续更新......)
  2. pytorch默认初始化_“最全PyTorch分布式教程”来了!
  3. postconstruct_@PostConstruct注解,你该好好看看
  4. java铃声类_java多线程抓取铃声多多官网的铃声数据
  5. vconfig命令打通直连网络
  6. css 引入的 方式有哪些? link与post有什么区别??
  7. ORA-06502: PL/SQL: numeric or value error: character to number conversion error 错误的解决方法...
  8. python求几何平均_算术平均、几何平均、调和平均、平方平均和移动平均
  9. 地铁视频监控系统中无线监控技术的应用
  10. 卡麦吉梅隆大学 计算机排名,2019年卡内基梅隆大学信息系统排名
  11. CSS 实现水晶按钮特效 - 来自 www.codesc.net
  12. template的使用,泛式编程
  13. 关于已移除sd卡,手机不认卡的原因和解决办法(转)
  14. 在HarmonyOS中实现基于JS卡片的音乐播放器
  15. [有限元分析] fluent-固体传热分析
  16. bootice添加黑苹果引导_黑苹果去除clover多余引导项的两种方法
  17. 面试HR必谈问题合集
  18. 老司机教你一秒分辨ESD静电保护器件正负方向
  19. df2=df 改变会影响另一个 互相独立的办法
  20. 基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Medi

热门文章

  1. 【前端用法】jQuery在线引用地址(全)
  2. 程序员的基本素质---树上还剩几只鸟
  3. python工程师简历项目经验怎么写_简历上的项目经历怎么写 ?这 3 条原则不可忽视 !...
  4. vce 题库导入_Visual CertExam(VCE)试题制作教程 -
  5. stata中的SDM模型、豪斯曼检验
  6. 查看工作组计算机出现无法访问,电脑工作组无法访问怎么办 workgroup无法访问的解决方法教程[多图]...
  7. 计算机改错误的是什么意思,百度百科修改原因不正确是什么
  8. vue中使用echarts实现地图颜色渐变及自定义浮窗内容
  9. 世界摄影大赛获奖精品!令人惊叹!
  10. XDR: External Data Representation