搜索文档

输入关键词,回车打开结果

基于 Playwright 与信用代码校验的网上立案批量填报引擎实现

在完成了诉状和证据整理后,法务团队面临的下一个脏活是在各地法院的网上立案平台上填写立案信息

网上立案平台有十多个向导页、近 40 个原被告字段,任何一个身份证号录入错误或地址不匹配,都会导致半个月后收到“不予立案,请补正材料”的退回通知。

一、 统一社会信用代码第 18 位校验位算法

为了在填报前拦截可能的手工打字拼写错误,系统会对提取的 18 位“统一社会信用代码”进行自动数学校验。其校验位算法基于国家标准 GB 32100-2015:

def validate_china_social_credit_code(code):
    """
    校验统一社会信用代码是否合规
    """
    if len(code) != 18:
        return False
        
    # 代码字符集映射
    chars = "0123456789ABCDEFGHJKLMNPQRTUWXY"
    char_map = {c: i for i, c in enumerate(chars)}
    
    # 权重因子
    weights = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28]
    
    try:
        total = 0
        for i in range(17):
            total += char_map[code[i]] * weights[i]
            
        remainder = total % 31
        check_digit_index = (31 - remainder) % 31
        check_digit = chars[check_digit_index]
        
        return code[17] == check_digit
    except (KeyError, IndexError):
        return False

二、 基于 Playwright 的批量网上立案填报引擎

在通过校验后,填报引擎利用 Playwright 接管浏览器,进入立案向导页,自动完成各字段的粘贴:

import { chromium } from 'playwright';

async function executeCourtFiling(caseData: any) {
    const browser = await chromium.launch({ headless: false });
    const page = await browser.newPage();
    
    // 打开北京法院网上立案平台(示意)
    await page.goto('https://bjfy.chinacourt.org/filing/login');
    
    // 等待用户扫码或完成短信安全登录
    await page.waitForURL('**/filing/wizard', { timeout: 120000 });
    
    // 第一步:选择案由
    await page.click('#select-case-type-trigger');
    await page.fill('#case-type-search-input', caseData.caseType);
    await page.click(`.case-type-option:has-text("${caseData.caseType}")`);
    
    // 第二步:填写原告信息
    await page.click('#btn-add-plaintiff');
    await page.fill('#plaintiff-name', caseData.plaintiff.name);
    await page.fill('#plaintiff-code', caseData.plaintiff.creditCode);
    await page.fill('#plaintiff-address', caseData.plaintiff.address);
    await page.click('#btn-save-plaintiff');
    
    // 第三步:填写被告信息
    await page.click('#btn-add-defendant');
    await page.fill('#defendant-name', caseData.defendant.name);
    if (caseData.defendant.isCompany) {
        await page.click('#radio-defendant-company');
        await page.fill('#defendant-code', caseData.defendant.creditCode);
    } else {
        await page.click('#radio-defendant-person');
        await page.fill('#defendant-idcard', caseData.defendant.idCard);
    }
    
    // 截图保存留痕,以防系统后续报错无据可查
    await page.screenshot({ path: `./filing_snapshots/${caseData.caseId}_step3.png` });
}

三、 阻断性程序审查与异常处理

在进入立案系统前,智能体会进行最后的程序性检查:

  • 诉讼时效风险:对比纠纷发生日与当前系统时间,若已临近三年诉讼时效,自动升级为“红色特急处理”级别。
  • 仲裁前置检测:对于劳动纠纷,若附件目录中检索不到“劳动仲裁裁决书”,则直接中断并给出提示。

四、 结论

通过将数据录入前的信用代码校验、程序性审查与后台 Playwright 填报流相结合,法务部门可将原本繁重的人工立案信息核对及粘贴动作完全自动化,显著提高批量立案的成功率。

准备好体验全能智能体了吗?

下载 OmniAgent 社区版,体验真正的本地 AI 自动化。数据安全、永久免费。