diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..1651b03
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,15 @@
+version: '3.8'
+services:
+ flask_app:
+ build: .
+ ports:
+ - "5000:5000"
+ environment:
+ - PYTHONPATH=/flask_project
+ - DASHSCOPE_API_KEY=sk-f7ad8ad193064cf482588f7064e75183
+ - DASHSCOPE_WORKSPACE_ID=llm-mo38469hdfwtervi
+ - ALIBABA_CLOUD_ACCESS_KEY_ID=LTAI5tRWhjktXyY5MovoiNuF
+ - ALIBABA_CLOUD_ACCESS_KEY_SECRET=88oyw7LniqV8i0SnOuSFS5lprfrPtw
+ volumes:
+ - .:/flask_project
+ command: python flask_app/main/start_up.py
diff --git a/flask_app/main/test.py b/flask_app/main/test.py
index b3ec8e4..c490fe5 100644
--- a/flask_app/main/test.py
+++ b/flask_app/main/test.py
@@ -1,54 +1,77 @@
import json
-import re
-def transform_json(input_json):
- # 解析输入的JSON字符串
- data = json.loads(input_json)
+def combine_technical_and_business(data, target_values1, target_values2):
+ extracted_data = {} # 根级别存储所有数据
+ technical_found = False
+ business_found = False
- # 创建一个新的字典来存储转换后的结果
- result = {}
+ def extract_nested(data, parent_key='', is_technical=False, is_business=False):
+ nonlocal technical_found, business_found
+ if isinstance(data, dict):
+ for key, value in data.items():
+ current_key = f"{parent_key}.{key}" if parent_key else key
- # 用于临时存储各个层级的字典
- temp = {0: result}
+ # 检查是否为技术标的内容
+ if any(target in key for target in target_values1):
+ if not is_technical:
+ # 直接存储在根级别
+ extracted_data[key] = value
+ technical_found = True
+ # 标记为技术标内容并停止进一步处理这个分支
+ continue
- # 遍历原始JSON的键值对
- for key, value in data.items():
- # 使用正则表达式判断键名的层级
- match = re.match(r'(\d+)(?:\.(\d+))?(?:\.(\d+))?', key)
- if match:
- levels = [int(l) for l in match.groups() if l is not None]
+ # 检查是否为商务标的内容
+ elif any(target in key for target in target_values2):
+ if not is_business:
+ # 存储在'商务标'分类下
+ if '商务标' not in extracted_data:
+ extracted_data['商务标'] = {}
+ extracted_data['商务标'][key] = value
+ business_found = True
+ # 标记为商务标内容并停止进一步处理这个分支
+ continue
- # 获取当前层级的父级字典
- parent = temp[len(levels) - 1]
+ # 如果当前值是字典或列表,且不在技术或商务分类下,继续递归搜索
+ if isinstance(value, dict) or isinstance(value, list):
+ extract_nested(value, current_key, is_technical, is_business)
- # 如果是最后一层,直接添加值
- if len(levels) == len(match.groups()):
- if isinstance(parent, list):
- parent.append(value)
- else:
- parent[value.split()[0]] = value
- else:
- # 如果不是最后一层,创建新的列表或字典
- new_key = value.split()[0]
- if new_key not in parent:
- parent[new_key] = [] if isinstance(parent, dict) else {}
- temp[len(levels)] = parent[new_key]
+ elif isinstance(data, list):
+ for index, item in enumerate(data):
+ extract_nested(item, f"{parent_key}[{index}]", is_technical, is_business)
- return json.dumps(result, ensure_ascii=False, indent=2)
+ # 开始从顶级递归搜索
+ extract_nested(data)
+ # 处理未找到匹配的情况
+ if not technical_found:
+ extracted_data['技术标'] = ''
+ if not business_found:
+ extracted_data['商务标'] = ''
-# 输入的JSON字符串
-input_json = '''{
-"6.": "评标",
-"6.1": "评标委员会",
-"6.1.1": "评标由招标人依法组建的评标委员会负责。评标委员会由招标人或其委托的招标代理机构熟悉相关业务的代表,以及有关技术、经济等方面的专家组成。评标委员会成员人数以及技术、经济等方面专家的确定方式见投标人须知前附表。",
-"6.1.2": "评标委员会成员有下列情形之一的,应当回避:(1)投标人或投标人的主要负责人的近亲属;(2)项目主管部门或者行政监督部门的人员;(3)与投标人有经济利益关系或其他利害关系,可能影响对投标公正评审的;(4)曾因在招标、评标以及其他与招标投标有关活动中从事违法行为而受过行政处罚或刑事处罚的。",
-"6.2": "评标原则评标活动遵循公平、公正、科学和择优的原则。",
-"6.3": "评标评标委员会按照第三章"评标办法"规定的方法、评审因素、标准和程序对投标文件进行评审。第三章"评标办法"没有规定的方法、评审因素和标准,不作为评标依据。",
-"6.4": "评标结果(定标候选人)公示招标人将自收到评标报告之日起3日内,在投标人须知前附表规定的媒介公示定标候选人。公示期不少于3日。投标人或者其他利害关系人对评标结果有异议的,应当在评标结果公示期间提出。招标人自收到异议之日起3日内作出答复;作出答复前,暂停招标投标活动。异议与答复应当通过"电子交易系统"在"异议与答复"菜单以书面形式进行。",
-"6.5": "履约能力的审查(如有)如果定标候选人的经营、财务状况发生较大变化或者存在违法行为,招标人认为可能影响其履约能力的,将在发出中标通知书前,召集原评标委员会按照招标文件规定的标准和方法审查确认。"
-}'''
+ return extracted_data
-# 转换JSON并打印结果
-print(transform_json(input_json))
\ No newline at end of file
+# 示例数据和调用代码
+data = {
+ "商x务": {
+ "投标报价": {"方案": "详细报价"},
+ "合同条款": {"期限": "一年"}
+ },
+ "商x务标": {
+ "商务": {"商务x标": "商业方案"},
+ "商务条款": {"期限": "一年"}
+ },
+ "技x术标": {
+ "技术要求": [{"性能指标": "高性能"}, {"分值": "6"}]
+ },
+ "投标x报价细节": {
+ "价格": "100万元",
+ "条件": "包运费"
+ }
+}
+
+target_values2 = ["商务标", "投标报价"]
+target_values1 = ['技术标', '设计', '实施', '方案']
+result = combine_technical_and_business(data, target_values1, target_values2)
+evaluation_combined_res = json.dumps(result, ensure_ascii=False, indent=4)
+print(evaluation_combined_res)
diff --git a/flask_app/main/tt.json b/flask_app/main/tt.json
new file mode 100644
index 0000000..11300ba
--- /dev/null
+++ b/flask_app/main/tt.json
@@ -0,0 +1,328 @@
+ {
+ "基础信息": {
+ "招标人/代理信息": {
+ "招标人": "黄石兴港科技投资有限公司",
+ "招标人联系方式": {
+ "联系人": "瞿主任",
+ "电话": "0714-3293792"
+ },
+ "招标代理机构": "湖北省招标股份有限公司",
+ "招标代理机构联系方式": {
+ "联系人": [
+ "刘红光",
+ "邱文杰",
+ "黄太珍"
+ ],
+ "联系方式": [
+ "027-83763018",
+ "18971192859"
+ ]
+ }
+ },
+ "项目信息": {
+ "工程名称": "王家里社区周边老旧小区改造项目",
+ "招标编号": "G20230113006",
+ "工程概况": {
+ "项目名称": "王家里社区周边老旧小区改造项目",
+ "建设地点": "黄石市黄石港区王家里",
+ "建设内容": "项目内容详见施工图纸及工程量清单",
+ "资金来源": "财政资金",
+ "出资比例": "100%",
+ "招标人": "黄石兴港科技投资有限公司",
+ "招标代理机构": "湖北省招标股份有限公司",
+ "计划工期": "180日历天",
+ "计划开工日期": "2023年 3月",
+ "合同估算价": "15497793.80元",
+ "招标控制价": "13421783.10元"
+ },
+ "招标范围": {
+ "主要内容": "详见施工图纸及工程量清单",
+ "标段划分": "1个标段",
+ "其他要求": "无"
+ },
+ "招标控制价": "13421783.10元",
+ "投标竞争下浮率": "5%",
+ "是否接受联合体投标": "是",
+ "联合体投标要求": {
+ "是否接受联合体投标": "接受",
+ "要求": "应满足下列要求:联合体资质按照联合体协议约定的分工认定"
+ },
+ "分包": "允许,分包内容要求:专业分包和劳务分包将依照黄石市建管委[2006]61号文《黄石建设工程专业分包和劳务分包管理试行办法》执行。否则,按违约处罚。"
+ },
+ "关键时间/内容": {
+ "投标文件递交截止日期": "2023年 2月 3日 10时 00分",
+ "递交方式": "通过互联网使用 CA数字证书登录‘电子交易系统’上传加密的电子投标文件",
+ "投标人要求澄清招标文件的截止时间": "递交投标文件截止之日 15日前",
+ "投标有效期": "自投标截止之日起 100日内有效",
+ "评标结果公示媒介": "黄石市公共资源交易网"
+ },
+ "保证金相关": {
+ "质量保证金": "1.5%",
+ "退还投标保证金": "未提供",
+ "是否提交履约保证金": "否",
+ "是否递交投标保证金": "未知"
+ },
+ "其他信息": {
+ "重新招标、不再招标和终止招标": {
+ "重新招标": "有下列情形之一的,招标人将重新招标:(1)投标截止时间止,投标人少于3个的;(2)经评标委员会评审后否决所有投标的;(3)中标人或所有定标候选人均未与招标人签订合同的;(4)法律、法规规定的其他情形。",
+ "不再招标": "重新招标后投标人仍少于3个或者所有投标被否决的,属于必须审批或核准的工程建设项目,经原审批或核准部门批准后不再进行招标。",
+ "终止招标": "因不可抗力等原因,招标人终止招标的,将通过“电子交易系统”及时发布公告,或者以书面形式通知被邀请的或者已经获取招标文件的潜在投标人。已经发出招标文件或者已经收取投标保证金的,招标人将及时退还所收取的招标文件的费用,以及所收取的投标保证金及银行同期存款利息。"
+ },
+ "是否退还投标文件": "否",
+ "费用承担": "投标人准备和参加投标活动发生的费用自理。",
+ "偏离": "不允许",
+ "投标预备会": "不召开",
+ "踏勘现场": "不组织"
+ }
+ },
+ "资格审查": {
+ "形式评审标准": {
+ "投标文件": "投标文件能正常打开。",
+ "投标人名称": "与营业执照、资质证书、安全生产许可证一致",
+ "投标文件签字盖章": "第八章投标文件格式文件要求“盖单位章”的地方,投标人应使用CA数字证书加盖投标人的单位电子印章;要求“签字”的地方,投标人应使用CA数字证书加盖法定代表人的个人电子印章或电子签名章。联合体投标的,投标文件由联合体牵头人按上述规定在要求“盖单位章”的地方加盖联合体牵头人单位电子印章;在要求“签字”的地方加盖联合体牵头人法定代表人的个人电子印章或电子签名章。招标文件有特别说明的除外。",
+ "投标文件格式、内容": "符合第八章“投标文件格式”的要求,实质性内容齐全、关键字迹清晰可辨",
+ "联合体投标人(如有)": "提交联合体协议书,并明确联合体牵头人",
+ "报价唯一": "只能有一个有效报价(指投标函中的大写报价)",
+ "多标段投标": "/",
+ "“技术暗标”": "任何情况下,施工组织设计中不得出现投标人的名称和其它可识别投标人身份的字符、徽标、人员名称等。",
+ "项目经理(适用于资格预审)": "未更换通过资格预审的项目经理",
+ "资格条件变化(适用于资格预审)": "投标函中有资格条件是否变化的声明"
+ },
+ "响应性评审标准": {
+ "投标内容": "详见第五章“工程量清单”及第六章“施工图纸”
关于招标范围的详细说明见第七章“技术标准和要求”。",
+ "承诺函": "按照投标函附件内容提供投标承诺书(承诺书格式详见本投标函“(三)投标承诺函”)",
+ "工期": "计划工期:180日历天
计划开工日期:2023年3月",
+ "工程质量": "质量目标:符合设计要求,达到国家现行验收规范合格标准。",
+ "投标有效期": "自投标截止之日起100日内有效",
+ "投标保证金": "团不提交",
+ "权利义务": "投标函附录中的相关承诺符合或优于第四章“合同条款及格式”的相关规定",
+ "技术标准和要求": "符合第七章“技术标准和要求”规定",
+ "分包计划": "□不允许
团允许,分包内容要求:专业分包和劳务分包将依照黄石市建管委[2006]61号文《黄石建设工程专业分包和劳务分包管理试行办法》执行。否则,按违约处罚。
分包金额要求:
接受分包的第三人资质要求:",
+ "算术错误修正": "1)投标人接受算术错误修正后的报价 2)修正后的报价与投标报价相比偏差率不超过±1%",
+ "投标价格": "1)投标函中的大写报价与已标价工程量清单中的投标总价一致 2)投标函中的大写报价不大于本标段招标控制价总价 3)算术错误修正后的投标总报价不大于本标段招标控制价总价 4)投标报价不低于其成本",
+ "已标价工程量清单": "1)已标价工程量清单项目编码顺序与第五章“工程量清单”给出的项目编码顺序一致; 2)已标价工程量清单符合第五章“工程量清单”给出的项目编码、项目名称、项目特征、计量单位和工程量; 3)暂列金额符合第五章“工程量清单”列出的金额; 4)专业工程暂估价符合第五章“工程量清单”列出的金额; 5)材料(工程设备)暂估价符合第五章“工程量清单”列出的单价并计入综合单价; 6)安全文明施工费、规费和税金等不可竞争费用,按照规定的标准计取; 7)计税方法符合招标文件的约定; 8)已标价工程量清单项目未填报的项目不超过三项,或不超过三项未填报的项目的费用合计(按招标控制价相应项目的费用合计计算)不超过其投标总报价 (修正后的投标总报价,如有)的±1%"
+ },
+ "资格评审": {
+ "资质等级": "本次招标要求投标人须具备住房城乡建设主管部门颁发的有效的建筑工程施工总承包三级及以上资质(新证乙级及以上资质),具有有效的安全生产许可证。",
+ "财务状况": "1、投标人需提供近三年(2019年、2020年和2021年)财务 审计报告,且近三年均无亏损。(新成立的公司需提供自成立之 日起相应年度的财务审计报告)。2、投标人需提供用于本项目的流动资金不应少于项目投标报 价的15%。",
+ "类似项目业绩": "近五年(自2018年 1月 1日起至投标截止之日止)完成过合同金额 1000万元及以上房屋立面改造或者立面整修施工业绩(业绩要求在全国建筑市场监管公共服务平台可查询,投标文件中提供全国建筑市场监管公共服务平台截图(http://jzsc.mohurd.gov.cn/,包括网址信息),证明文件需同时提供中标通知书、中标结果公告网站截图、施工合同、竣工验收证明(提供全国建筑市场监管公共服务平台“竣工验收”截图),金额以合同签订金额为准,时间以竣工验收证明为准),未按此要求提供的业绩为无效业绩)。注:项目名称未体现“立面改造或者立面整修”的,需提 供工程量清单及结算审计报告(备注:提供原件备查)。",
+ "信誉": "1.没有被依法暂停或取消投标资格,或没有处于财产被接管、冻结。2.没有被责令停产停业、暂扣或者吊销许可证、暂扣或者吊销执照。3.没有进入清算程序,或被宣告破产,或其他丧失履约能力的情。4.在最近三年内没有骗取中标和严重违约及发生重大工程质量问题。5.投标人信用情况(1)投标人在“信用中国”网站(www.creditchina.gov.cn)上未被列入重大税收违法案件当事人名单、未被列入失信被执行人名单;在“中国执行信息公开网”网站(zxgk.court.gov.cn)上未被列入失信被执行人;在“国家企业信用信息公示系统”(www.gsxt.gov.cn)没有被列入严重违法失信企业名单。提供查询截图。(2)投标人法定代表人及拟派项目经理在“信用中国”网站(w ww.creditchina.gov.cn)上未被列入失信被执行人名单,提供查询 截图。6.投标人须提供在近三年内投标人及其法定代表人、拟委任的项目经理没有行贿犯罪行为及不良行为的违约经济处罚承诺书。7.不存在法律法规或投标人须知第1.4.3规定的不得存在的其他情形。8.投标人须提供近三年内在经营活动中没有重大违法记录、无重大质量及安全事故发生的书面承诺函。9.投标人未被列入拖欠农民工工资用人单位黑名单;(如投标人在“信用中国”网站中被列入“严重拖欠农民工工资失信主体”中且在公示期内,将否决其投标)。10.投标人及其法定代表人和拟派的项目经理近 3年(从本项目公告发布之日起往前推 36个月)没有行贿犯罪记录。(投标人自行在中国裁判文书网“http://wenshu.court.gov.cn/”查询,并提供截图放入投标文件中。未提供截图的,将否决其投标)。",
+ "其他要求": "1.项目管理机构主要人员不得本项目中相互 兼职。(提供声明)2.均应当在投标人处注册执业或岗位登记,且 社会保险缴费单位应是投标人。(提供近6个 月社会保险证明)。",
+ "项目经理": {
+ "数量": "1人",
+ "资格要求": "投标人拟派项目经理须具备建筑工程专业二级及以上注册建造师执业资格,具备有效的安全生产考核合格证书(B证),无行贿犯罪行为及不良行为,且未担任其他在施建设工程项目的项目经理。",
+ "证明材料": "1、证书原件扫描上传。2、本项目需确保施工质量和施工安全,须由拟派项目经理本人做出相应的书面承诺,并做出处罚条款。3、提供近6个月缴纳社会保险证明及劳动合同(社会保险缴费单位须是投标人)。",
+ "在岗要求": "未知",
+ "备注": "未知"
+ },
+ "项目技术负责人": {
+ "数量": "1人",
+ "资格要求": "项目技术负责人须提供建筑工程相关专业中级及以上职称,5年以上主管施工技术经验",
+ "证明材料": "1、证书原件扫描上传。2、提供近6个月缴纳社会保险证明及劳动合同。(社会保险缴费单位须是投标人)",
+ "在岗要求": "未知",
+ "备注": "未知"
+ },
+ "施工管理": {
+ "数量": "1人",
+ "资格要求": "持有土建施工施工员岗位培训考核合格证书。",
+ "证明材料": "1、证书原件扫描上传。2、提供近6个月缴纳社会保险证明及劳动合同。(社会保险缴费单位须是投标人)",
+ "在岗要求": "未知",
+ "备注": "未知"
+ },
+ "质量管理": {
+ "数量": "1人",
+ "资格要求": "持有土建施工质量员岗位培训考核合格证书。",
+ "证明材料": "1、证书原件扫描上传。2、提供近6个月缴纳社会保险证明及劳动合同。(社会保险缴费单位须是投标人)",
+ "在岗要求": "未知",
+ "备注": "未知"
+ },
+ "安全管理": {
+ "数量": "1人",
+ "资格要求": "持有有效的安全生产考核合格证书(C证)",
+ "证明材料": "1、证书原件扫描上传。2、提供近6个月缴纳社会保险证明及劳动合同。(社会保险缴费单位须是投标人)",
+ "在岗要求": "未知",
+ "备注": "未知"
+ },
+ "资料管理": {
+ "数量": "1人",
+ "资格要求": "持有资料员岗位培训考核合格证书",
+ "证明材料": "1、证书原件扫描上传。2、提供近6个月缴纳社会保险证明及劳动合同。(社会保险缴费单位须是投标人)",
+ "在岗要求": "未知",
+ "备注": "未知"
+ },
+ "材料管理": {
+ "数量": "1人",
+ "资格要求": "持有材料员岗位培训考核合格证书",
+ "证明材料": "1、证书原件扫描上传。2、提供近6个月缴纳社会保险证明及劳动合同。(社会保险缴费单位须是投标人)",
+ "在岗要求": "未知",
+ "备注": "未知"
+ },
+ "项目管理机构主要人员": {
+ "数量": "未知",
+ "资格要求": "未知",
+ "证明材料": "原件扫描上传",
+ "在岗要求": "1.项目管理机构主要人员不得本项目中相互兼职。(提供声明)2.均应当在投标人处注册执业或岗位登记,且社会保险缴费单位应是投标人。(提供近6个月社会保险证明)。",
+ "备注": "未知"
+ },
+ "联合体投标要求(如有)": {
+ "是否接受联合体投标": "接受",
+ "具体要求": [
+ "联合体各方应按招标文件提供的格式签订联合体协议书,明确联合体牵头人和各方权利义务",
+ "由同一专业的单位组成的联合体,按照资质等级较低的单位确定资质等级",
+ "联合体各方不得再以自己名义单独或参加其他联合体在同一标段中投标"
+ ]
+ },
+ "营业执照": "具备有效的营业执照",
+ "安全生产许可证": "具备有效的安全生产许可证"
+ }
+ },
+ "技术标": {
+ "工程概况": "工程主要情况、各专业设计简介、工程施工条件描述基本准确。",
+ "施工部署": "工程施工目标、主要施工内容、施工流水段划分、施工的重点和难点分析、工程管理的组织机构形式、项目经理部的工作岗位设置及其职责划分、新技术、新工艺部署及其技术和管理要求(如有)、主要分包工程施工单位的选择要求及管理方式(如有)等各项安排合理、可行。",
+ "施工进度计划": "网络图或横道图安排的进度计划合理、可行。",
+ "施工准备与资源配置计划": "技术准备、现场准备和资金准备;资源配置计划包括劳动力配置计划、主要工程材料和设备配置计划、主要周转材料和施工机具配置计划等内容完备,可行。",
+ "主要施工方案": "主要分部、分项工程施工方案合理、可行;脚手架工程、起重吊装工程、临时用水用电工程、季节性施工等专项工程的施工方案(如有)有必要的验算和说明;对易发生质量通病、易出现安全问题、施工难度大、技术含量高的分项工程(工序)等有重点说明。",
+ "施工现场平面布置": "拟建建(构)筑物的位置轮廓、尺寸、层数;加工设施、存储设施、办公和生活用房的位置和面积;布置垂直运输设施、供电设施、供水、供热设施、排水排污设施和临时施工道路;必备的安全、消防、保卫和环境保护设施;相邻的地上地下既有建(构)筑物及相关环境等要素齐全,现场平面布置合理可行。",
+ "主要施工管理计划": "进度管理计划、质量管理计划、安全管理计划、环境管理计划、成本管理计划、治安保卫管理计划、合同管理计划,组织协调管理计划、成品保护管理计划、质量保修管理计划、人力资源、施工机具、材料设备等管理计划内容基本完备,可行。",
+ "备注": "技术标采用定性方式评审的,“不合格”仅限于投标文件出现违反国家强制性条文标准的情况,否则技术标评审结论为“合格”。评标委员会对评审“合格”的技术标,应指出该技术标优点和存在的缺陷、签订合同前应注意和澄清的事项等情况。"
+ },
+ "商务标": {
+ "项目经理资格与业绩": {
+ "职称": "相关专业高级及以上职称(高级工程师) 相关专业中级职称(工程师) 其他",
+ "学历": "大学本科及以上 专科 其他",
+ "类似项目业绩": "以项目经理身份主持过2个及类似项目 以项目经理身份主持过1个及类似项目"
+ },
+ "技术负责人资格与业绩": {
+ "职称": "相关专业高级及以上职称(高级工程师) 相关专业中级职称(工程师) 其他",
+ "学历": "大学本科及以上 专科 其他",
+ "从事专业工作年限": "10年及以上 5年-9年 4年-2年 不足2年"
+ },
+ "其他主要人员": "人员配备合理,满足需要 人员配备基本合理,基本满足需要 人员配备不合理",
+ "类似项目业绩": "投标人或联合体投标成员近五年(自2018年1月1日起至投标截止之日止)完成过合同金额1000万元及以上房屋立面改造或者立面整修施工业绩(业绩要求在全国建筑市场监管公共服务平台可查询,投标文件中提供全国建筑市场监管公共服务平台截图(http://jzsc.mohurd.gov.cn/,包括网址信息),证明文件需同时提供中标通知书、中标结果公告网站截图、施工合同、竣工验收证明(提供全国建筑市场监管公共服务平台“竣工验收”截图),金额以合同签订金额为准,时间以竣工验收证明为准),未按此要求提供的业绩为无效业绩。注:项目名称未体现“立面改造或者立面整修”的,需提供工程量清单及结算审计报告(备注:提供原件备查)",
+ "认证体系": "具有有效的ISO9001(GB/T19001)质量管理体系认证证书; 具有有效的ISO14001(GB/T24001)环境管理体系认证证书; 具有有效的 OHSAS45001(GB/T28001)职业健康安全管理体系认证证书。",
+ "近3年工程奖项、项目经理工程奖项及表彰(适用于施工总承包招标)": "1.投标人完成的与招标项目同类别工程(即房屋建筑或市政工程,下同),近3年获得中国建设工程 “鲁班奖”、“国家优质工程奖”、“詹天佑奖”、“全国市政金杯示范奖”、“AAA级安全文明标准化工地”的; 2.获得省级优质工程奖(如楚天杯)或安全文明施工现场奖的; 3.获得地市级优质工程奖或安全文明施工现场奖 的。4.以项目经理身份完成的与招标项目同类别工程(即房屋建筑或市政工程,下同),近3年获得中国建设工程“鲁班奖”、“国家优质工程奖”、“詹天佑奖”、“全国市政金杯示范奖”、“AAA级安全文明标准化工地”的; 5.获得省级优质工程奖(如楚天杯)或安全文明施工现场奖的; 6.获得地市级优质工程奖或安全文明施工现场奖 的。7.项目经理近3年获得省级优秀项目经理表彰的; 8.获得地市级优秀项目经理表彰的。",
+ "信用": "是否被行政监管部门做出行政处罚的。(行政处罚是指通过在“信用中国”查询投标人有行政处罚记录信息且在公示期内的)",
+ "备注": "商务标采用定性方式评审的,不合格的情形仅限于被建设行政部门、招投标行政部门列为黑名单且正在限制期内或被取消投标资格且正在限制期内、被列为失信被执行人且正在限制期内、被人社部门列为拖欠农民工工资黑名单且正在公示期内的情形。评标委员会对评审“合格”的商务标,应指出该商务标优点和存在的缺陷、签订合同前应注意和澄清的事项等情况。",
+ "投标报价": {
+ "有效投标报价确定": "低于招标控制价",
+ "有效投标报价的排序": "有效投标报价由低到高排序",
+ "投标文件基础数据分析和整理": "清标报告",
+ "投标报价成本分析": "清标报告",
+ "投标竞争下浮率": "取值: 5%(投标竞争下浮率的值为整数,具体由招标人结合项目特点和需要在招标文件中明确)",
+ "投标报价最终排序": "低于招标控制价且超过投标竞争下浮率",
+ "备注": "投标报价不合格的情形仅限于投标报价高于最高投标限价或低于成本的情形。投标报价文件评定为“合格”的,评标委员会对投标文件已标价工程量清单进行符合性检查、算术错误修正,对其报价进行合理性分析,投标报价一致或呈规律性差异,评标委员会应当进行比较分析,判断是否应当否决投标,并形成清标报告。投标报价有可能低于成本时,评标委员会有权启动成本分析。应指出在签订合同前应注意和澄清的事项。"
+ }
+ },
+ "无效标与废标项": {
+ "否决和无效投标情形": [
+ "电子评标其他条款:1.开标会议因网络、系统等不可抗力原因导致开评标系统未下载获取到投标单位上传的已加密投标文件,投标单位可以提供与上传已加密投标文件同ID的未加密投标文件(仅在技术人员确认为非投标人原因导致远程解密失败时使用),由招标代理授权后自行导入到开评标系统,投标单位不能提供或者提供与上传已加密投标文件非同ID的,导致不能导入投标文件,评标委员会应当否决其投标。",
+ "在编制投标文件时,以招标人最后发出的电子招标文件和变更通知提供的工程量清单为准进行投标文件编制,未按照要求的,评标委员会应当否决其投标。",
+ "投标人在投标前应自行检查电子投标文件的有效性,由于个人保管或使用CA锁不当而导致投标文件无法解密或者解密失败,造成评标委员会无法对电子投标文件进行评审的,评标委员会可以否决其投标。",
+ "投标文件中发现硬盘序列号或预算软件加密锁编号(包括盗版软件)一致的,评标委员会有权否决其投标。",
+ "投标人提供的电子投标文件没有使用本工程规定的投标制作软件(投标制作工具中心网站下载)编制投标文件,评标委员会应当否决其投标。"
+ ],
+ "废标项": [
+ "如未按招标文件要求编制、递交电子投标文件,将可能导致废标,其后果由投标人自负。"
+ ],
+ "不得存在的其他情形": [
+ "为招标人不具有独立法人资格的附属机构(单位)",
+ "与招标人存在利害关系且可能影响招标公正性",
+ "与本标段的其他投标人为同一个单位负责人",
+ "与本标段的其他投标人存在控股、管理关系",
+ "为本标段前期准备提供设计或咨询服务的",
+ "为本标段的监理人",
+ "为本标段的代建人",
+ "为本标段提供招标代理服务",
+ "与本标段的监理人或代建人或招标代理机构同为一个法定代表人",
+ "与本标段的监理人或代建人或招标代理机构相互控股或参股",
+ "与本标段的监理人或代建人或招标代理机构相互任职或工作",
+ "被依法暂停或取消投标资格(指被本招标项目所在地县级及以上住房城乡建设主管部门或其他行政主管部门暂停或取消投标资格或禁止进入该区域建设市场且处于有效期内)",
+ "被责令停产停业、暂扣或者吊销许可证、暂扣或者吊销执照",
+ "进入清算程序,或被宣告破产,或其他丧失履约能力的情形",
+ "在最近三年内发生重大工程质量问题(以相关行业主管部门的行政处罚决定或司法机关出具的有关法律文书为准)",
+ "在“国家企业信用信息公示系统”(www.gsxt.gov.cn)中被列入严重违法失信企业名单",
+ "在“信用中国”网站(www.creditchina.gov.cn)被列入失信被执行人名单",
+ "在近三年内投标人或其法定代表人、拟委任的项目经理有行贿犯罪行为"
+ ]
+ },
+ "投标文件要求": {
+ "投标文件": {
+ "投标文件的组成": [
+ "投标文件应包括下列内容:(1)投标函及投标函附录;(2)法定代表人身份证明;(3)联合体协议书;(4)投标保证金;(5)已标价工程量清单;(6)施工组织设计;(7)项目管理机构;(8)拟分包项目情况表;(9)资格审查资料;(10)投标人须知前附表规定的其他材料。",
+ "投标人须知前附表规定不接受联合体投标的,或投标人没有组成联合体的,投标文件不包括本章第3.1.1(3)目所指的联合体协议书。"
+ ],
+ "投标报价": [
+ "投标人应按第五章“工程量清单”的要求填写相应表格,并按本章第2.1.2(1)目约定的计税方法计税。未按约定的计税方法计税的,其投标将被否决。",
+ "投标人经复核认为招标人公布的招标控制价未按本章第2.1.2(1)目、第2.1.2(3)目的规定编制,可按本章第2.4款的规定向招标人提出异议。对异议的答复仍持有异议,可按本章第9.5款的规定在投标截止时间前,向有关行政监督部门和工程造价管理机构投诉。",
+ "投标人在投标截止时间前修改投标函中的投标总报价,应同时修改第五章“工程量清单”中的相应报价。此修改须符合本章第4.3款的有关要求。",
+ "投标人投标函中的大写报价或算术错误修正后的投标总报价大于招标控制价总价的,其投标将被否决。"
+ ],
+ "投标有效期": [
+ "在投标人须知前附表规定的投标有效期内,投标人不得要求撤销或修改其投标文件。",
+ "出现特殊情况需要延长投标有效期的,招标人以书面形式通知所有投标人延长投标有效期。投标人同意延长的,应相应延长其投标保证金的有效期,但不得要求或被允许修改或撤销其投标文件;投标人拒绝延长的,其投标失效,但投标人有权收回其投标保证金。"
+ ],
+ "投标保证金(本项目不收取投标保证金)": "",
+ "资格审查资料(适用于未进行资格预审的)": [
+ "投标人应按招标文件第八章“投标文件格式”中规定的表格内容填写资格审查表,并按各资格审查表的具体要求提供相关证件及证明材料。本招标文件中“类似项目”的定义见投标人须知前附表。",
+ "投标人须知前附表第1.4.2项规定接受联合体投标的,本章第3.5.1项规定的表格和资料应包括联合体各方相关情况。"
+ ],
+ "备选投标方案": "除投标人须知前附表另有规定外,投标人不得递交备选投标方案。允许投标人递交备选投标方案的,只有中标人所递交的备选投标方案方可予以考虑。评标委员会认为中标候选人的备选投标方案优于其按照招标文件要求编制的投标方案的,该中标候选人被确定中标人后,招标人可以接受该备选投标方案。",
+ "投标文件的编制": [
+ "投标文件应按第八章“投标文件格式”进行编写,如有必要,可以增加附页,作为投标文件的组成部分。其中,投标函附录在满足招标文件实质性要求的基础上,可以提出比招标文件要求更有利于招标人的承诺。",
+ "投标文件应当对招标文件有关工期、投标有效期、质量要求、技术标准和要求、招标范围等实质性内容作出响应。",
+ "电子投标文件制作(1)电子投标文件由投标人使用“电子交易系统”提供的“电子投标文件制作软件”制作生成。(2)电子投标文件中的已标价工程量清单数据文件应符合《湖北省建设工程造价应用软件数据交换规范》和《关于增加湖北省建设工程造价数据接口内容的通知》(鄂建标函[2018]6号)的要求。(3)第八章投标文件格式文件要求“盖单位章”的地方,投标人应使用CA数字证书加盖投标人的单位电子印章;要求“签字”的地方,投标人应使用CA数字证书加盖法定代表人的个人电子印章或电子签名章。联合体投标的,投标文件由联合体牵头人按上述规定在要求“盖单位章”的地方加盖联合体牵头人单位电子印章;在要求“签字”的地方加盖联合体牵头人法定代表人的个人电子印章或电子签名章。招标文件有特别说明的除外。(4)电子投标文件制作完成后,将生成一份加密的电子投标文件和一份不加密的电子投标文件。(5)电子投标文件制作的具体方法详见“电子投标文件制作软件”中的帮助文档。",
+ "投标人须知前附表规定“施工组织设计”采用无标识“技术暗标”时,则“施工组织设计”按本章第3.7.3项制作电子投标文件时应满足下列要求:(1)封面设置要求:采用A4规格白色底色,写明“(项目名称)(标段名称)施工组织设计”字样,文字为黑色二号宋体,可加粗;(2)目录、正文标题(包括章、节、条、款、项)、正文要求:采用A4规格白色底色,文字为黑色小四号宋体,标题可加粗;(3)图表要求:图表应尽可能采用A4规格白色底色,对于比较大的图表可使用A3规格白色底色。图表中的文字采用黑色,字体、字号不限;(4)页眉和页脚(包括页码)设置要求:不允许出现页眉,且页脚只准出现页码,页码格式采用阿拉伯数字格式,字体为五号宋体,设在页脚居中位置,页码应当连续;(5)任何情况下,施工组织设计中不得出现投标人的名称和其它可识别投标人身份的字符、徽标、人员名称等。"
+ ]
+ },
+ "投标": {
+ "投标文件的加密": "投标人应当按照本章第3.7.3项要求制作电子投标文件,并在投标时上传加密的电子投标文件,未加密的电子投标文件,招标人(“电子交易系统”)将拒收并提示。",
+ "投标文件的递交": [
+ "投标人递交投标文件的截止时间(投标截止时间):见投标人须知前附表。",
+ "投标人应当在投标截止时间前,通过互联网使用CA数字证书登录“电子交易系统”,选择所投标段将加密的电子投标文件上传。投标人完成投标文件上传后,“电子交易系统”即时向投标人发出电子签收凭证,递交时间以电子签收凭证载明的传输完成时间为准。投标人应充分考虑上传文件时的不可预见因素,投标文件未在投标截止时间前完成上传的,视为逾期送达,招标人(“电子交易系统”)将拒收。",
+ "除投标人须知前附表另有规定外,投标人所递交的投标文件不予退还。"
+ ],
+ "投标文件的修改与撤回": [
+ "在本章第4.2.1项规定的投标截止时间前,投标人可以修改或撤回已递交的投标文件。",
+ "投标人撤回投标文件的,在“电子交易系统”直接进行撤回操作。",
+ "投标人修改投标文件的,应当先按本章第4.3.2项的规定撤回投标文件,再使用“电子投标文件制作软件”制作成完整的投标文件,并按照本章第3条、第4条规定进行编制和递交。"
+ ]
+ }
+ },
+ "开评定标流程": {
+ "开标": {
+ "开标时间和地点": [
+ "招标人在本章第4.2.1项规定的投标截止时间(开标时间)在“电子交易系统”上公开进行开标,所有投标人均应当准时在线参加开标。",
+ "招标人通过互联网在投标人须知前附表规定的地点组织开标,并在投标截止时间在线开标的准备工作。30分钟前,使用CA数字证书登录“电子交易系统”,进入“开标大厅”选择相应标段作准备。",
+ "投标人应当在能够保证设施设备可靠、互联网畅通的任意地点,通过互联网在线参加开标。在投标截止时间前,使用加密其投标文件的CA数字证书(企业锁)登录“电子交易系统”,进入“开标大厅”选择所投标段进行签到,并实时在线关注招标人的操作情况。"
+ ],
+ "开标程序": [
+ "主持人按下列程序在“电子交易系统”的“开标大厅”进行在线开标:(1)宣布开标纪律;(2)公布主持人、招标人代表、监标人等有关人员姓名;(3)公布在投标截止时间前投标文件的递交情况;(4)公布投标保证金递交情况;(5)投标人根据提示在投标人须知前附表规定的时间内解密投标文件;(6)读取已解密的投标文件的内容;(7)公布投标人名称、标段名称、投标保证金的递交情况、投标报价、项目经理姓名及其他内容,并生成开标记录;(8)开标结束。",
+ "在本章第5.2.1(5)目规定的时间内,非因“电子交易系统”原因造成投标文件未解密的,视为投标人撤回投标文件。在部分投标文件未解密的情况下,已解密的投标文件少于三个的,招标失败;已解密的投标文件不少于三个,开标继续进行。"
+ ],
+ "开标异议": [
+ "投标人对开标有异议的,应当在开标过程中提出;招标人当场对异议作出答复,并记入开标记录。异议与答复应在“不见面开标大厅”在“提出异议”菜单以书面形式进行。本处所称异议是指投标人在开标过程中对投标文件提交、投标截止时间、开标程序、开标记录以及投标人和招标人或者投标人相互之间存在利益冲突的情形等提出的质疑。",
+ "投标人异议成立的,招标人将及时采取纠正措施,或者提交评标委员会评审确认;投标人异议不成立的,招标人将当场给予解释说明。"
+ ],
+ "特殊情况的处置": [
+ "因“电子交易系统”系统故障导致无法投标的,交易中心及时通知招标人,招标人视情况决定是否顺延投标截止时间。因投标人自身原因导致无法完成投标的,由投标人自行承担后果。",
+ "因“电子交易系统”系统故障导致无法正常开标的,招标人将暂停开标,待系统恢复正常后继续开标。",
+ "“电子交易系统”系统故障是指下列情形:(1)系统服务器发生故障,无法访问或无法使用系统;(2)系统的软件或数据库出现错误,不能进行正常操作;(3)系统发现有安全漏洞,有潜在的泄密危险;(4)出现断电、断网事故;(5)其他无法保证招投标过程正常进行的情形。",
+ "因本工程采用远程不见面开标模式,故招标人特别说明如下:(1)远程开标项目的时间均以国家授时中心发布的时间为准。(2)本项目招标文件和投标文件必须使用黄石招投标工具软件编制,并通过黄石市工程建设电子交易系统完成投标过程。投标人的投标文件的编制和递交,应依照招标文件的规定进行。如未按招标文件要求编制、递交电子投标文件,将可能导致无效投标,其后果由投标人自负。(3)投标人通过黄石市工程建设电子交易系统递交的电子投标文件为评标依据,投标人使用黄石投标编制工具制作电子投标文件时生成两份文件,其中已加密投标文件用于上传至网上,开标当日,投标人不必抵达开标现场,仅需在任意地点通过不见面交易系统参加开标会议,并根据需要使用不见面交易系统与招标人进行互动交流以及文件传送等操作。投标人如来开标现场参加开标会议的,招标方和交易中心不提供上网终端设备和不保证网络通畅。(4)投标文件递交截止时间前,各投标人的授权委托人或法人代表应提前进入不见面交易系统进行在线签到,并播放远程开标会议温馨提示测试音频,收听、观看实时音视频交互效果并及时在群聊板中反馈。(5)未在投标文件递交截止时间之前进行在线签到或未能在开标会议区内全程参与交互的,视为放弃交互和放弃对开评标全过程提疑的权利,投标人将无法进行解密、唱标、评审结果查看等操作,并承担由此导致的一切后果。(6)投标文件递交截止时间后,主持人将在系统内公布投标人名单并展示投标保证金递交匹配情况(如有),然后通过开标会议区发出投标文件解密的指令,投标人在各自地点按规定时间自行实施远程解密,投标人解密需在招标代理设置的规定时间之内完成。①因投标人网络与电源不稳定、未按操作手册要求配置软硬件、解密锁发生故障或使用不当(用错CA锁、CA锁已过期、CA锁加解密功能有问题等等)、故意不在要求时限内完成解密等自身原因,导致投标文件在规定时间内未能解密、解密失败或解密超时,视为投标人放弃投标;(投标文件加解密需使用企业锁)②因招标人原因或网上招投标平台发生故障等,导致无法按时完成投标文件解密或开、评标工作无法进行的,可根据实际情况相应延迟解密时间或调整开、评标时间。③因不可抗力因素导致无法按时完成投标文件解密或开、评标工作无法进行的,可根据实际情况相应延迟解密时间或调整开、评标时间(7)若投标人已申请多把CA锁,请注意使用差别,确保制作上传加密投标文件和开标解密时使用的是企业锁CA锁(投标文件加解密需使用企业锁),否则造成解密失败的,由投标人负责。(8)开评标全过程中,各投标人参与远程交互的授权委托人或法人代表应始终为同一个人,中途不得更换,在解密、唱标、传送文件等特殊情况下需要交互时,投标人一端参与交互的人员将均被视为是投标人的授权委托人或法人代表,投标人不得以不承认交互人员的资格或身份等为借口抵赖推脱,投标人自行承担随意更换人员所导致的一切后果。(9)为顺利实现本项目开评标的远程交互,建议投标人配置的硬件设施有:高配置电脑、高速稳定的网络、电源(不间断)、CA锁、音视频设备(耳麦、话筒、高清摄像头、音响)等;建议投标人具备的软件设施有:IE浏览器(版本必须为11及以上),安装品茗驱动插件。为保证交互效果,建议投标人选择封闭安静的地点参与远程交互。因投标人自身软硬件配备不齐全或发生故障等问题而导致在交互过程中出现不稳定或中断等情况的,由投标人自身承担一切后果。(10)投标单位应充分考虑到网络及系统平台可能存在的非正常情况,在投标文件编制完成后尽早完成上传。",
+ "电子投标文件雷同认定与处理(—)电子开评标系统提示不同投标人的电子投标文件的文件制作机器码,如有相同的,且投标人不能合理说明或者不能提供相应证明材料的,评标委员会应当集体认定为《中华人民共和国招标投标法实施条例》第四十条第(一)项“不同投标人的投标文件由同一单位或者个人编制”的情形。(二)电子开评标系统提示不同投标人的已标价工程量清单的文件制作机器码,如有相同的,且投标人不能合理说明或者不能提供相应证明材料的,评标委员会应当集体认定《中华人民共和国招标投标法实施条例》第四十条第(一)项“不同投标人的投标文件由同一单位或者个人编制”的情形。(三)电子开评标系统提示不同投标人的已标价工程量清单的造价软件锁号,如有相同的,且投标人不能合理说明或者不能提供相应证明材料的,评标委员会应当集体认定为《中华人民共和国招标投标法实施条例》第四十条第(一)项“不同投标人的投标文件由同一单位或者个人编制”的情形。(四)电子开评标系统提示不同投标人的投标技术文件存在内容高度一致的、投标报价或投标报价组成出现非正常一致或者呈规律性变化的,评标委员会可以要求投标人作出澄清,评标委员会应当集体认定是否属于《中华人民共和国招标投标法实施条例》第四十条第(四)项“不同投标人的投标文件异常一致或者投标报价呈规律性差异”的情形。"
+ ]
+ },
+ "评标": {
+ "评标委员会": [
+ "评标由招标人依法组建的评标委员会负责。评标委员会由招标人或其委托的招标代理机构熟悉相关业务的代表,以及有关技术、经济等方面的专家组成。评标委员会成员人数以及技术、经济等方面专家的确定方式见投标人须知前附表。",
+ "评标委员会成员有下列情形之一的,应当回避:(1)投标人或投标人的主要负责人的近亲属;(2)项目主管部门或者行政监督部门的人员;(3)与投标人有经济利益关系或其他利害关系,可能影响对投标公正评审的;(4)曾因在招标、评标以及其他与招标投标有关活动中从事违法行为而受过行政处罚或刑事处罚的。"
+ ],
+ "评标原则": "评标活动遵循公平、公正、科学和择优的原则。",
+ "评标": "评标委员会按照第三章“评标办法”规定的方法、评审因素、标准和程序对投标文件进行评审。第三章“评标办法”没有规定的方法、评审因素和标准,不作为评标依据。",
+ "评标结果(定标候选人)公示": "招标人将自收到评标报告之日起3日内,在投标人须知前附表规定的媒介公示定标候选人。公示期不少于3日。投标人或者其他利害关系人对评标结果有异议的,应当在评标结果公示期间提出。招标人自收到异议之日起3日内作出答复;作出答复前,暂停招标投标活动。异议与答复应当通过“电子交易系统”在“异议与答复”菜单以书面形式进行。",
+ "履约能力的审查(如有)": "如果定标候选人的经营、财务状况发生较大变化或者存在违法行为,招标人认为可能影响其履约能力的,将在发出中标通知书前,召集原评标委员会按照招标文件规定的标准和方法审查确认。"
+ },
+ "定标": {
+ "定标方式": "招标人依据评标委员会推荐的定标候选人确定中标人,评标委员会推荐定标候选人的人数见投标人须知前附表。"
+ }
+ }
+}
\ No newline at end of file
diff --git a/flask_app/main/商务标技术标整合.py b/flask_app/main/商务标技术标整合.py
index a8a907c..10961da 100644
--- a/flask_app/main/商务标技术标整合.py
+++ b/flask_app/main/商务标技术标整合.py
@@ -1,27 +1,58 @@
import json
-from flask_app.main.json_utils import clean_json_string, combine_json_results
+from flask_app.main.json_utils import clean_json_string
from flask_app.main.通义千问long import upload_file, qianwen_long
+def combine_technical_and_business(data, target_values1, target_values2):
+ extracted_data = {} # 根级别存储所有数据
+ technical_found = False
+ business_found = False
-def combine_business_and_bidding(data):
- # 提取并移除“商务标”
- business_data = data.pop("商务标", {})
+ def extract_nested(data, parent_key='', is_technical=False, is_business=False):
+ nonlocal technical_found, business_found
+ if isinstance(data, dict):
+ for key, value in data.items():
+ current_key = f"{parent_key}.{key}" if parent_key else key
- # 尝试提取不同命名的“投标报价”
- bidding_data = data.pop("投标报价", None)
- if bidding_data is None:
- bidding_data = data.pop("投标报价评审标准", {})
+ # 检查是否为技术标的内容
+ if any(target in key for target in target_values1):
+ if not is_technical:
+ # 直接存储在根级别
+ extracted_data[key] = value
+ technical_found = True
+ # 标记为技术标内容并停止进一步处理这个分支
+ continue
- # 将“商务标”和“投标报价”数据合并
- business_data.update({
- "投标报价": bidding_data
- })
+ # 检查是否为商务标的内容
+ elif any(target in key for target in target_values2):
+ if not is_business:
+ # 存储在'商务标'分类下
+ if '商务标' not in extracted_data:
+ extracted_data['商务标'] = {}
+ extracted_data['商务标'][key] = value
+ business_found = True
+ # 标记为商务标内容并停止进一步处理这个分支
+ continue
- # 将修改后的商务标数据重新放入主数据结构
- data["商务标"] = business_data
+ # 如果当前值是字典或列表,且不在技术或商务分类下,继续递归搜索
+ if isinstance(value, dict) or isinstance(value, list):
+ extract_nested(value, current_key, is_technical, is_business)
+
+ elif isinstance(data, list):
+ for index, item in enumerate(data):
+ extract_nested(item, f"{parent_key}[{index}]", is_technical, is_business)
+
+ # 开始从顶级递归搜索
+ extract_nested(data)
+
+ # 处理未找到匹配的情况
+ if not technical_found:
+ extracted_data['技术标'] = ''
+ if not business_found:
+ extracted_data['商务标'] = ''
+
+ return extracted_data
- return data
def combine_evaluation_standards(truncate2):
# 商务标、技术标评分项:千问
print("starting商务标技术标...")
@@ -29,15 +60,14 @@ def combine_evaluation_standards(truncate2):
user_query_2 = (
"根据该文档中的评标办法前附表,请你列出该文件的技术标,商务标,投标报价评审标准以及它们对应的具体评分要求,若对应内容中存在其他信息,在键名如'技术标'中新增子键名'备注'存放该信息。如果评分内容不是这3个,则返回文档中给定的评分内容以及它的评分要求,都以json的格式返回结果。请不要回答有关形式、资格、响应性评审标准的内容")
evaluation_res = qianwen_long(file_id, user_query_2)
-
- update_json=combine_business_and_bidding(clean_json_string(evaluation_res))
- update_json_str = json.dumps(update_json, ensure_ascii=False)
- temp=combine_json_results([update_json_str])
- evaluation_combined_res = json.dumps(temp,ensure_ascii=False,indent=4)
+ target_values1 = ['技术标', '设计', '实施', '方案']
+ target_values2=['投标报价','商务标','业绩','信誉','分值','计算公式','信用','人员','资格','奖项','认证','荣誉']
+ update_json=combine_technical_and_business(clean_json_string(evaluation_res),target_values1,target_values2)
+ evaluation_combined_res = json.dumps(update_json,ensure_ascii=False,indent=4)
print("商务标技术标done")
return evaluation_combined_res
if __name__ == "__main__":
- truncate2="C:\\Users\\Administrator\\Desktop\\招标文件\\output\\zbfile_evaluation_method.pdf"
+ truncate2="C:\\Users\\Administrator\\Desktop\\招标文件\\招标04_evaluation_method.pdf"
res=combine_evaluation_standards(truncate2)
print(res)
\ No newline at end of file
diff --git a/flask_app/main/截取pdf.py b/flask_app/main/截取pdf.py
index ae63796..f3d1e70 100644
--- a/flask_app/main/截取pdf.py
+++ b/flask_app/main/截取pdf.py
@@ -249,9 +249,9 @@ def truncate_pdf_multiple(input_path, output_folder):
# TODO:需要完善二次请求。目前invalid一定能返回 前附表 须知正文如果为空的话要额外处理一下,比如说就不进行跳转(见xx表) 开评定标这里也要考虑 如果评分表为空,也要处理。
if __name__ == "__main__":
- input_path = "C:\\Users\\Administrator\\Desktop\\招标文件\\test\\zbtest20.pdf"
- output_folder = "C:\\Users\\Administrator\\Desktop\\招标文件\\test"
+ input_path = "C:\\Users\\Administrator\\Desktop\\招标文件\\招标01.pdf"
+ output_folder = "C:\\Users\\Administrator\\Desktop\\招标文件"
# truncate_pdf_multiple(input_path,output_folder)
- selection = 4 # 例如:1 - 投标人须知前附表, 2 - 评标办法, 3 - 投标人须知正文 4-资格审查条件 5-招标公告 6-无效标
+ selection = 2 # 例如:1 - 投标人须知前附表, 2 - 评标办法, 3 - 投标人须知正文 4-资格审查条件 5-招标公告 6-无效标
generated_files = truncate_pdf_main(input_path, output_folder, selection)
# # print("生成的文件:", generated_files)
diff --git a/flask_app/main/投标人须知正文提取指定内容.py b/flask_app/main/投标人须知正文提取指定内容.py
index 20c620c..cd19894 100644
--- a/flask_app/main/投标人须知正文提取指定内容.py
+++ b/flask_app/main/投标人须知正文提取指定内容.py
@@ -102,7 +102,7 @@ def extract_from_notice(clause_path, type):
elif type == 3:
target_values = ["重新招标、不再招标和终止招标", "重新招标", "不再招标", "终止招标"]
else:
- raise ValueError("Invalid type specified. Use 1 for '开标, 评标, 定标' or 2 for '投标文件, 投标'.")
+ raise ValueError("Invalid type specified. Use 1 for '投标文件, 投标' or 2 for '开标, 评标, 定标'or 3 for '重新招标'")
with open(clause_path, 'r', encoding='utf-8') as file:
data = json.load(file)
extracted_data = extract_json(data, target_values) # 读取json
@@ -112,7 +112,7 @@ def extract_from_notice(clause_path, type):
# 假设原始数据文件路径
if __name__ == "__main__":
- file_path = 'clause2.json'
+ file_path = 'tt.json'
try:
res = extract_from_notice(file_path, 3) # 可以改变此处的 type 参数测试不同的场景
print(res)