合同审查---财务条款、合同形式与生效审查

1.合同主体 1人 廖
2.财务条款、合同形式与生效 1人 黄
3.履行、验收、知识产权、不可抗力 1人 詹
4.违约责任、争议解决、保密、法律引用 1人 王

代码规范:
1.代码函数的层级
各审查点在json中分为3级层级,但用python写规则的时候,1级层级为py文件,2级为class类,3级为def函数。

2.代码书写
(1)py名、类、函数名按正规英语翻译(过长的可以简写)。 每个审查事项函数必须中文注明其审查的事项。
(2)每个审查事项函数传入参数均为已读取的docx文件内容,返回均为(ture或false)和审查事项的名称。False代表不存在此风险,ture代表存在此风险。
(3)每个类中除了每个审查事项函数外,还应该包括一个接收其他审查事项函数审查后的结果,并根据其他审查事项函数返回的是true的话,去审查点json文件里寻找此审查点的风险等级、风险提示、修改建议汇总成字典返回。最终把在最外圈写一个汇总全部类审查结果的函数。

时间截点: 12月1号前,每周一检查检查一次进度,一周至少完成7个及以上。(人均大概21-24个审查点)。

测试任务: 每周需要根据完成的审查点进行样本准确率测试,并和工程那边对接部署更新。


import json
big_class = "法律引用"
class Risk_of_misquoting_the_law:"""法律引用有误风险提示"""def __init__(self, doc):self.doc = docself.type = "法律引用有误风险提示"def full_title_mis(self):#审查事项:法律全称引用有误doc = self.docresult = Falsereview_type = "法律全称引用有误""""中间函数为寻找是否存在此风险项,随时改变result的真假,True表示存在此风险项"""return [result, review_type]def abridge_title_mis(self):#审查事项:法律简称引用有误doc = self.docreview_type = "法律简称引用有误"result = False"""中间函数为寻找是否存在此风险项,随时改变result的真假,True表示存在此风险项"""return [result, review_type]def summary_result(self):"""汇总其他审查点审查的结果,并返回并对此审查点的风险等级、风险提示、修改建议搜寻得到的字典,若无修改建议则填无find_info为搜寻函数,去json审查点库里搜寻并返回相应内容,返回格式为:{"审查事项":"法律简称引用有误","风险等级": "高风险","风险提示": "2021年1月1日民法典生效后,民法通则、合同法、担保法、物权法、民法总则等法律文件已经失效,建议将合同中引用的失效法律文件调整为《中华人民共和国民法典》。","修改建议": "无"}修改建议若有的话,返回格式为:"修改建议": {"建议1": XXX, "建议2": XX}"""result_dict = []if self.full_title_mis()[0]:result_dict.append(find_info(big_class, self.type,self.full_title_mis()[1]))if self.abridge_title_mis()[0]:result_dict.append(find_info(big_class, self.type,self.abridge_title_mis()[1]))return result_dictdef find_info(big_class, mid_class, small_class):with open('通用审查点.json', 'r', encoding='utf-8') as f:contents = json.load(f)result = contents[big_class][mid_class][small_class]result["审查点名称"] = small_classreturn result#print(find_info("财务条款", "价款构成范围审查", "价款构成范围缺失"))
def summary_results_law_risk(doc):"""汇总各个类的风险点审查结果,格式为列表"""law_cit_risk = Risk_of_misquoting_the_law(doc)return law_cit_risk.summary_result()import docx
#获取文档对象
file=docx.Document("E:\\研究生\\合同审查项目\\合同审查11.10\\test.docx")
#输出每一段的内容
document=""
for para in file.paragraphs:document=document+para.text
risk=Risk_of_misquoting_the_law(document)
risk.full_title_mis()

财务条款

其余审查:

'''
审查事项:大小写金额不一致
风险等级:高风险
风险提示:
该笔款大小写金额不一致,请确认金额是否有误
您配置的款项小写金额规范的要求:
1)小写数字前有币种“¥”,或有货币名称“人民币”/“RMB”/“CNY”和货币单位“元” 
2)不采用“万元” 
3)采用三位分节制 
4)数字明确至小数点后两位
'''#对整个文本进行分句,根据个人统计和测试,只需要用逗号对文本分句足矣
content_split= re.split('。',document)
# print(content_split)
#如果一个句子中有“元”那么将该句子存放在一个临时变量temp_result_set中以供试用
temp_result_set = set()
str = '元'
for term in content_split:if str in term:temp_result_set.add(term)
# print(temp_result_set)
#将temp_result_set中含有数字的句子分离出来,最终结果为一个集合result_set 
result_set = set()
for term in temp_result_set:for ch in term:if ch.isdigit():result_set.add(term)
for text in result_set:print("正在判断",text)#判断:小写数字前有币种“¥”,或有货币名称“人民币”/“RMB”/“CNY”if '¥' or '人民币' or 'RMB' or 'CNY' in text:print('符合小写数字前有币种“¥”,或有货币名称“人民币”/“RMB”/“CNY”')else:print('不符合小写数字前有币种“¥”,或有货币名称“人民币”/“RMB”/“CNY”')#判断:不采用“万元” if '万' in text:print('采用“万元”,不符合要求')else:print('不采用“万元,”,符合要求')#判断:数字明确至小数点后两位numbers = re.findall(r"[-+]?\d*\.\d+|\d+", text)for num in numbers:length=len(num.split('.'))if length== 2:print(f"{num} 保留了两位小数")else:print(f"{num} 没有保留两位小数")

价款大小写一致性审查

要求:
在这里插入图片描述
例子:
在这里插入图片描述
3.1 合同总额(含税):人民币(大写):【肆佰叁拾玖万捌仟陆佰元】 (小写Ұ4,398,700.00元)。

合同形式与生效

合同生效条件缺失审查

在这里插入图片描述


import json
big_class = "法律引用"
class Risk_of_misquoting_the_law:"""法律引用有误风险提示"""def __init__(self, doc):self.doc = docself.type = "法律引用有误风险提示"def effective_condition_mis(self):#审查事项:合同生效条件缺失doc = self.docreview_type = "合同生效条件缺失"result = Truesentence_list= re.split('。',document)for sentence in sentence_list:if '合同' in sentence and '生效' in sentence:result=False#print(sentence)#输出:合同生效条件return [result, review_type]import docx
#获取文档对象
file=docx.Document("E:\\研究生\\合同审查项目\\合同审查11.10\\test.docx")
#输出每一段的内容
document=""
for para in file.paragraphs:document=document+para.text
risk=Risk_of_misquoting_the_law(document)
risk.effective_condition_mis()

在这里插入图片描述

合同编号未填写完整

合同编号缺失


import json
big_class = "法律引用"
class Risk_of_misquoting_the_law:"""法律引用有误风险提示"""def __init__(self, doc):self.doc = docself.type = "法律引用有误风险提示"def effective_condition_mis(self):#审查事项:合同生效条件缺失doc = self.docreview_type = "合同生效条件缺失"result = Truesentence_list= re.split('。',document)for sentence in sentence_list:if '合同' in sentence and '生效' in sentence:result=False#print(sentence)#输出:合同生效条件return [result, review_type]def identification_number_mis(self):#审查事项:合同编号缺失doc = self.docreview_type = "合同编号缺失"result = Truesentence_list= re.split('。',document)for sentence in sentence_list:if '合同编号' in sentence:pattern = r'合同编号:[\w\-]+'match = re.search(pattern, sentence)if match:contract_number = match.group(0).split(":")[1]#print(f"提取的合同编号为:{contract_number}")result=Falsebreakreturn [result, review_type]#合同编号缺失import docx
#获取文档对象
file=docx.Document("E:\\研究生\\合同审查项目\\合同审查11.10\\test.docx")
#输出每一段的内容
document=""
for para in file.paragraphs:document=document+para.text
risk=Risk_of_misquoting_the_law(document)
risk.Incomplete_identification_number()

签订日期确认

签订日期缺失


import json
big_class = "法律引用"
class Risk_of_misquoting_the_law:"""法律引用有误风险提示"""def __init__(self, doc):self.doc = docself.type = "法律引用有误风险提示"def effective_condition_mis(self):#审查事项:合同生效条件缺失doc = self.docreview_type = "合同生效条件缺失"result = Truesentence_list= re.split('。',document)for sentence in sentence_list:if '合同' in sentence and '生效' in sentence:result=False#print(sentence)#输出:合同生效条件return [result, review_type]def identification_number_mis(self):#审查事项:合同编号缺失doc = self.docreview_type = "合同编号缺失"result = Truesentence_list= re.split('。',document)for sentence in sentence_list:if '合同编号' in sentence:pattern = r'合同编号:[\w\-]+'match = re.search(pattern, sentence)if match:contract_number = match.group(0).split(":")[1]#print(f"提取的合同编号为:{contract_number}")result=Falsebreakreturn [result, review_type]def signature_date_mis(self):#审查事项:合同签订日期缺失doc=self.docreview_type='合同签订日期'result = Truesentence_list= re.split('。',document)for sentence in sentence_list:if '签订' in sentence and '合同' in sentence:pattern = r'\d{4}年\d{1,2}月\d{1,2}日'match = re.search(pattern, text)if match:date = match.group(0)print(sentence)print(f"提取的签订日期为:{date}")breakelse:print("未找到合同编号")return [result, review_type]import docx
#获取文档对象
file=docx.Document("E:\\研究生\\合同审查项目\\合同审查11.10\\test.docx")
#输出每一段的内容
document=""
for para in file.paragraphs:document=document+para.text
risk=Risk_of_misquoting_the_law(document)
risk.signature_date_mis()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/138225.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

『Nacos』 入门教程

前言 本文为 Nacos 平台快速入门教程,本文将会使用通俗易懂的语言手把手带您了解、使用 Nacos 平台,适合未接触过 Nacos 的初学者 官方手册:Nacos | Nacos 官方仓库:alibaba/nacos 版本:2.X 本文示例代码仓库&#xf…

Python基础教程:类--继承和方法的重写

嗨喽,大家好呀~这里是爱看美女的茜茜呐 什么是继承 继承就是让类与类之间产生父子关系,子类可以拥有父类的静态属性和方法 继承就是可以获取到另一个类中的静态属性和普通方法(并非所有成员) 在python中,新建的类可…

2023年成为优秀自动化测试工程师的 7 个步骤!

“测试自动化测试工程师可以将你从充满代码的世界中拯救出来。”企业完全同意这一说法,这就是您在自动化测试行业中看到大量就业机会的原因。我在 Quora 上收到了很多与自动化测试中的职业选择相关的答案请求,以及人们如何在有或没有手动测试经验的情况下…

RISC-V处理器设计(五)—— 在 RISC-V 处理器上运行 C 程序

目录 一、前言 二、从 C 程序到机器指令 三、实验 3.1 实验环境 3.11 Windows 平台下环境搭建 3.12 Ubuntu 平台下环境搭建 3.13 实验涉及到的代码或目录 3.2 各文件作用介绍 3.2.1 link.lds 3.2.2 start.S 3.2.3 lib 和 include 目录 3.2.4 common.mk 3.2.5 demo …

技术分享 | 测试平台开发-前端开发之数据展示与分析

测试平台的数据展示与分析,我们主要使用开源工具ECharts来进行数据的展示与分析。 ECharts简介与安装 ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表&#xff…

《红蓝攻防对抗实战》九.内网穿透之利用GRE协议进行隧道穿透

​ 前文推荐: 《红蓝攻防对抗实战》一. 隧道穿透技术详解 《红蓝攻防对抗实战》二.内网探测协议出网之TCP/UDP协议探测出网 《红蓝攻防对抗实战》三.内网探测协议出网之HTTP/HTTPS协议探测出网 《红蓝攻防对抗实战》四.内网探测协议出网之ICMP协议探测出网 《红蓝…

mysql索引下推

文章目录 什么是索引下推索引下推优化的原理索引下推的具体实践没有使用ICP使用ICP 总结索引下推使用条件相关系统参数 什么是索引下推 索引下推(Index Condition Pushdown,简称ICP),是MySQL5.6版本的新特性,它能减少回表查询次数&#xff0…

界面组件DevExpress ASP.NET Core v23.1 - 进一步升级UI组件

DevExpress ASP.NET Core Controls使用强大的混合方法,结合现代企业Web开发工具所期望的所有功能。该套件通过ASP.NET Razor标记和服务器端ASP.NET Core Web API的生产力和简便性,提供客户端JavaScript的性能和灵活性。ThemeBuilder工具和集成的Material…

遍历List集合和Map进行修改和删除报java.util.ConcurrentModificationException错误详解

一、异常产生 当我们使用foreach迭代一个ArrayList或者HashMap时,如果尝试对集合做一些修改操作(例如删除元素或新增),可能会抛出java.util.ConcurrentModificationException的异常。 javapublic static void main(String[] args)…

山西电力市场日前价格预测【2023-11-12】

日前价格预测 预测说明: 如上图所示,预测明日(2023-11-12)山西电力市场全天平均日前电价为224.59元/MWh。其中,最高日前电价为434.30元/MWh,预计出现在18:00。最低日前电价为0.00元/MWh,预计出…

深度学习 python opencv 火焰检测识别 计算机竞赛

文章目录 0 前言1 基于YOLO的火焰检测与识别2 课题背景3 卷积神经网络3.1 卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV54.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 数据集准备5.1 数…

python OrderedDict类(有序字典)

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 创建有序字典 import collectionsdic collections.OrderedDict() dic[k1] v1 dic[k2] v2 dic[k3] v3 print(dic)#输出:OrderedDict([(k1, v1), (…

C#中.NET 7.0不再支持ADO.NET,.NET Framwork依旧支持

目录 一、.NET 7.0框架下任何应用不再支持ADO.NET 二、.NET Framwork框架下Windows窗体应用支持ADO.NET 三、.NET 7.0不支持ADO.NET的真正原因 经过一阵折腾,终于可以确证C#中.NET框架不再支持用户通过ADO.NET的实体框架模型访问数据库,无论是.NET 7…

C# .NET Core API Controller以及辅助专案

准备工作 Windows 10Visual Studio 2019(2017就有可以集中发布到publish目录的功能了吧)C#将方法封装(据说可以提高效率,就像是我们用的dll那种感觉新增专案作为我们API的辅助专案(作用类似dll,此处,你也可以在你自己的API专案里建文件夹,但…

MySQL---存储过程

存储过程的相关概念 是一组为了完成特定功能的sql语句的集合,类似于函数 写好了一个存储过程之后,我们可以像函数一样随时调用sql的集合。 复杂的,需要很多sql语句联合执行完成的任务 存储过程再执行上比sql语句的执行速度更快&#xff0c…

js 求数组中的对象某个属性和

可以直接看下效果 代码&#xff1a; <script>let list [{num: 1,price: 10,},{num: 2,price: 10,},{num: 3,price: 10,},{num: 4,price: 10,},]// for循环 求总数和 num的和let num 0for (let i 0; i < list.length; i) {num list[i].num}console.log(第一种&am…

AirTag追踪汽车

美国华盛顿特区&#xff0c;11月4日&#xff0c;在一项全新的抗击车辆盗窃的措施中&#xff0c;市长穆里尔•鲍泽签署了一项新计划&#xff0c;将向该市车辆盗窃频率较高的社区居民免费提供苹果AirTag追踪器。 AirTag是苹果公司推出的一款蓝牙跟踪设备&#xff0c;它依靠Findm…

从单体到微服务:使用Spring Boot构建事件驱动的Java应用程序

Spring Boot是Pivotal团队设计的一种微服务框架&#xff0c; 基于Spring开发&#xff0c;用于简化新Spring应用的初始搭建及开发过程&#xff0c;提升Spring 开发者的体验。它秉持“约定大于配置”的思想&#xff0c;集成了大量开箱即用的第三方库&#xff0c;支持绝大多数开源…

asp.net学院网上报销系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net学院网上报销系统是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言 开发 asp.net学院网上报销系统 应用技术…

ElasticSearch文档分析

ElasticSearch文档分析 包含下面的过程&#xff1a; 将一块文本分成适合于倒排索引的独立的 词条将这些词条统一化为标准格式以提高它们的“可搜索性”&#xff0c;或者 recall 分析器执行上面的工作。分析器实际上是将三个功能封装到了一个包里&#xff1a; 字符过滤器 首先&a…