zbparse/flask_app/main/post_processing.py

478 lines
37 KiB
Python
Raw Normal View History

2024-10-17 20:57:13 +08:00
# -*- encoding:utf-8 -*-
import json
2024-10-17 15:33:58 +08:00
import re
def inner_post_processing(base_info):
2024-10-18 13:37:54 +08:00
print(json.dumps(base_info,ensure_ascii=False,indent=4))
2024-10-17 15:33:58 +08:00
"""
处理 '基础信息' 部分提取所需字段
参数:
base_info (dict): 包含 '基础信息' 的字典
返回:
dict: 提取的信息字典 extracted_info
"""
# 初始化提取的信息字典
extracted_info = {}
# 定义一个辅助函数用于获取嵌套字典中的值
def get_nested(dic, keys, default=None):
for key in keys:
if isinstance(dic, dict):
dic = dic.get(key, default)
else:
return default
return dic
# 定义一个辅助函数用于递归查找包含特定子字符串的键
def find_keys_containing(dic, substring):
found_values = []
if isinstance(dic, dict):
for key, value in dic.items():
if substring in key:
found_values.append(value)
if isinstance(value, dict):
found_values.extend(find_keys_containing(value, substring))
elif isinstance(value, list):
for item in value:
if isinstance(item, dict):
found_values.extend(find_keys_containing(item, substring))
return found_values
# 定义一个辅助函数用于根据候选键列表提取值(部分匹配)
def extract_field(contact_info, candidate_keys):
for candidate in candidate_keys:
for key, value in contact_info.items():
if candidate in key and value not in ["未知", ""]:
return value
return ""
# 定义一个辅助函数用于提取 '投标保证金'
def extract_bid_bond(guarantee_info):
# 定义投标保证金的候选键
bid_bond_candidates = ["投标保证金", "磋商保证金"]
# 第一步:查找包含 "投标保证金" 或 "磋商保证金" 的键
for candidate in bid_bond_candidates:
for key, value in guarantee_info.items():
if candidate in key:
if isinstance(value, dict):
# 在嵌套字典中查找包含 "金额" 的键
for sub_key, sub_value in value.items():
if "金额" in sub_key and sub_value not in ["未知", ""]:
return sub_value
elif isinstance(value, str):
if "金额" in key and value not in ["未知", ""]:
return value
else:
# 如果 value 既不是 dict 也不是 str忽略
continue
# 第二步:如果没有找到包含 "金额" 的键,尝试在所有键值中查找符合模式的值
amount_pattern = re.compile(r'(?:\d{1,3}(?:[,]\d{3})*(?:\.\d+)?|\d+(?:\.\d+)?|[\u4e00-\u9fff]+(?:\.\d+)?)\s*(?:元|万元)')
for key, value in guarantee_info.items():
if isinstance(value, str):
match = amount_pattern.search(value)
if match:
return match.group()
elif isinstance(value, dict):
# 递归查找嵌套字典中的金额
found_amount = extract_bid_bond(value)
if found_amount:
return found_amount
# 如果都没有找到,则返回空字符串
return ""
# 定义所需字段的映射关系,暂时不包含'联系人'和'联系电话'以及'招标项目地点'
mapping = {
"代理机构名称": [["招标人/代理信息", "招标代理机构"]],
"招标项目名称": [["项目信息", "项目名称"], ["项目信息", "工程名称"]],
"招标项目编号": [["项目信息", "项目编号"], ["项目信息", "招标编号"]],
"开标时间": [["关键时间/内容", "开标时间"]],
"报名截止日期": [["关键时间/内容", "投标文件递交截止日期"]],
"招标项目预算": [["项目信息", "招标控制价"]],
"招标单位名称": [["招标人/代理信息", "招标人"]],
2024-10-17 20:57:13 +08:00
"招标公告地址": [["关键时间/内容", "信息公示媒介"], ["关键时间/内容", "评标结果公示媒介"]],
2024-10-17 15:33:58 +08:00
}
# 提取并映射字段
for new_key, paths in mapping.items():
value = None
for path in paths:
value = get_nested(base_info, path)
if value:
break
extracted_info[new_key] = value if value else ""
# 特殊处理 '招标项目地点'
# 在 '项目信息' 下查找包含 "地点" 的键
project_info = base_info.get("项目信息", {})
location_candidates = find_keys_containing(project_info, "地点")
if location_candidates:
# 选择第一个找到的地点
extracted_info["招标项目地点"] = location_candidates[0]
else:
extracted_info["招标项目地点"] = ""
# 特殊处理 '联系人' 和 '联系电话'
# 提取 '项目联系方式'
project_contact = get_nested(base_info, ["招标人/代理信息", "项目联系方式"], {})
# 提取 '招标人联系方式'
bidder_contact = get_nested(base_info, ["招标人/代理信息", "招标人联系方式"], {})
# 定义候选键列表,按优先级排序
2024-10-18 13:37:54 +08:00
name_candidates = ["联系人","名称", "招标"]
2024-10-17 15:33:58 +08:00
phone_candidates = ["电话", "手机", "联系方式"]
# 提取 '联系人'
contact_names = [project_contact, bidder_contact]
contact_name = ""
for contact in contact_names:
extracted_name = extract_field(contact, name_candidates)
if extracted_name:
contact_name = extracted_name
break
extracted_info["联系人"] = contact_name
# 提取 '联系电话'
contact_phones = [project_contact, bidder_contact]
contact_phone = ""
for contact in contact_phones:
extracted_phone = extract_field(contact, phone_candidates)
if extracted_phone:
contact_phone = extracted_phone
break
extracted_info["联系电话"] = contact_phone
# 特殊处理 '投标保证金'
# 提取 '保证金相关'
guarantee_info = get_nested(base_info, ["保证金相关"], {})
extracted_info["投标保证金"] = extract_bid_bond(guarantee_info)
return extracted_info
def outer_post_processing(combined_data, includes):
"""
外层处理函数调用内层 post_processing 处理 '基础信息'并构建 processed_data
2024-10-17 20:57:13 +08:00
额外提取 '采购要求' 下的 '技术要求' 内容
2024-10-17 15:33:58 +08:00
参数:
combined_data (dict): 原始合并数据
includes (list): 需要包含的键列表
返回:
2024-10-17 20:57:13 +08:00
tuple: (processed_data, extracted_info, procurement_reqs)
2024-10-17 15:33:58 +08:00
"""
# 初始化结果字典,预设'其他'分类为空字典
processed_data = {"其他": {}}
# 初始化提取的信息字典
extracted_info = {}
2024-10-17 20:57:13 +08:00
# 初始化采购要求的技术要求
procurement_reqs = ""
2024-10-17 15:33:58 +08:00
# 检查 '基础信息' 是否在 includes 中
if "基础信息" in includes:
base_info = combined_data.get("基础信息", {})
# 调用内层 post_processing 处理 '基础信息'
extracted_info = inner_post_processing(base_info)
# 将 '基础信息' 保留在处理后的数据中
processed_data["基础信息"] = base_info
2024-10-17 20:57:13 +08:00
# 提取 '采购要求' 下的 '技术要求'
procurement_reqs = base_info.get("采购要求", {}).get("技术要求", "")
if not procurement_reqs:
# 如果 '技术要求' 不存在或为空,可以根据需要设置默认值
procurement_reqs = "未提供" # 或者其他适当的默认值
2024-10-17 15:33:58 +08:00
# 遍历原始字典的每一个键值对
for key, value in combined_data.items():
if key in includes:
if key == "基础信息":
# 已经处理 '基础信息',无需再次添加
continue
else:
# 直接保留包含在 includes 列表中的键值对
processed_data[key] = value
else:
# 将不在 includes 列表中的键值对加入到 '其他' 分类中
processed_data["其他"][key] = value
# 如果 '其他' 分类没有任何内容,可以选择删除这个键
if not processed_data["其他"]:
del processed_data["其他"]
2024-10-17 20:57:13 +08:00
return processed_data, extracted_info, procurement_reqs
if __name__ == "__main__":
combined_data={
"基础信息": {
2024-10-18 13:37:54 +08:00
"招标人/代理信息": {
"招标人": "黄石临空建设管理有限公司",
"招标人联系方式": {
"名称": "黄石临空建设管理有限公司",
"地址": "大冶市还地桥镇",
"联系人": "王先生",
"电话": "13545510946",
"传真": "未知",
"电子邮件": "未知",
"网址": "未知",
"开户银行": "未知",
"账号": "未知"
2024-10-17 20:57:13 +08:00
},
2024-10-18 13:37:54 +08:00
"招标代理机构": "湖北民成工程项目管理有限公司",
"招标代理机构联系方式": {
"名称": "湖北民成工程项目管理有限公司",
"地址": "大冶市港湖还建楼 20栋二单元 102室",
"联系人": "尹工",
"电话": "18327823905",
"传真": "未知",
"电子邮件": "未知",
"网址": "未知",
"开户银行": "未知",
"账号": "未知"
}
},
"项目信息": {
"项目名称": "黄石临空区银山公益公墓(迁坟区)二期工程",
"招标编号": "冶招[2021]450号",
"项目概况": {
"建设地点": "大冶市还地桥镇下堰村和煤矿村交界处",
"建设规模": "招标文件及施工图纸、工程量清单全部范围",
"其他": "未知"
2024-10-17 20:57:13 +08:00
},
2024-10-18 13:37:54 +08:00
"招标范围": {
"招标范围": "招标文件及施工图纸、工程量清单全部范围",
"标段划分": "未知",
"计划工期": "180日历天",
"招标控制价": "4364303元"
2024-10-17 20:57:13 +08:00
},
2024-10-18 13:37:54 +08:00
"招标控制价": "4364303元",
"投标竞争下浮率": "未提供"
},
"关键时间/内容": {
"投标文件递交截止日期": "未知",
"投标文件递交方式": "未提供",
"开标时间": "投标文件递交截止时间",
"开标地点": "未知",
"投标人要求澄清招标文件的截止时间": "未提供",
"投标有效期": "未提供",
"评标结果公示媒介": "黄石公共资源交易信息网、大冶政府网(招投标板块)"
2024-10-17 20:57:13 +08:00
},
2024-10-18 13:37:54 +08:00
"保证金相关": {
"投标保证金额": "4.3万元",
"质量保证金": "未提供",
"退还投标保证金": "未提供"
},
"其他信息": {
"重新招标、不再招标和终止招标": "未提供",
"投标费用承担": "未提供",
"招标代理服务费": "未提供",
"是否退还投标文件": "未提供"
}
},
2024-10-17 20:57:13 +08:00
"投标文件要求": {
"响应性文件的编写": {
"响应性文件的组成": {
"响应性文件包括以下内容": [
"(一)湖北省政府采购供应商信用承诺书(二)磋商响应函(三)法定代表人身份证明(四)法定代表人授权书(五)磋商一览表(六)投标货物(工程或服务)清单(七)技术参数响应及偏离表(八)供应商基本情况表(九)技术部分(十)售后服务承诺(十一)其他",
"商务部分指供应商提交的证明其有资格参加磋商和成交后有能力履行合同的文件;技术部分是能够证明磋商供应商提供的货物及服务符合竞争性磋商文件规定的文件,磋商供应商须对本次采购项目要求的技术性能逐项作出实质性响应,必须保证其提供的相关资质证明文件的真实性、合法性、时效性,否则,磋商小组将不予推荐。报价部分是指磋商供应商响应采购项目要求而作出的书面报价明细。",
"供应商技术文件规格幅面A4应与正文一致按照竞争性磋商文件规定的顺序统一编目编码装订。为方便评审技术文件中的各项表格必须按照竞争性磋商文件格式要求制作。"
],
"响应性文件中所涉及的货物,供应商应提供充分的证明资料证明所提供的货物是合格的,且符合竞争性磋商文件规定及磋商供应商认为需要加以说明的其他内容。": [],
"响应性文件及供应商与采购有关的来往通知、函件和所有文件必须使用简体中文。": []
},
"响应性文件格式": [
"供应商应按竞争性磋商文件中提供的响应性文件格式要求制作(见第七部分附件—响应性文件格式)。",
"响应性文件正本、副本应用A4纸打印并按竞争性磋商文件第七部分要求的顺序依次装订成册响应性文件首页应编制“文件目录”并标明页码。"
],
"磋商报价": [
"所有价格均为人民币报价,报价应以人民币为结算货币。须由中标单位开具当地正式发票。",
"磋商报价是以人民币为单位的综合报价,供应商应根据控制价,结合本项目实际情况,提出不高于控制价的报价。任何有选择性的报价将不予接受,每轮只许有一个报价;",
"供应商应按照竞争性磋商文件提供的磋商报价表格式填写磋商报价;",
"磋商过程供应商按磋商小组要求不超过二轮报价(首次报价、最后报价);",
"供应商任何有选择的报价(首次报价、最后报价)将被拒绝,磋商报价不允许修正和涂改,出现错误或涂改的将以无效报价处理;",
"供应商不得以他人名义磋商或者以其他方式弄虚作假,骗取中标;",
"响应性文件应对竞争性磋商文件中各项做出实质性响应,否则该磋商将可能被拒绝。供应商服务承诺书应按不低于竞争性磋商文件中的服务要求标准做出响应;",
"磋商文件能够详细列明采购标的服务要求的,磋商结束后,磋商小组应当要求所有实质性响应的供应商在规定时间内提交最后报价。最后报价是供应商响应文件的有效组成部分。"
],
"响应性文件有效期": {
"响应性文件有效期": "响应性文件从响应性文件递交的截止时间起响应性文件有效期为60天有效期短于这个规定期限的磋商将被拒绝。"
},
"响应性文件的签署及规定": [
"响应性文件应按竞争性磋商文件规定加盖单位公章和供应商法定代表人或授权代表签字或盖章,否则,将被视为无效响应性文件;",
"除磋商供应商对错误作必要修改外,响应性文件中不许有加行、涂抹或改写,修改处须加盖磋商供应商单位公章;",
"响应性文件应以中文编制,计量单位以国家规定标准为准;",
"响应性文件应严格按照竞争性磋商文件的要求提交,并按规定的统一格式逐项填写,不准有空项;无相应内容可填的项应填写“无”等明确的回答文字,响应性文件未按规定提交,将被视为不完整响应的响应性文件,其响应文件有可能被拒绝;",
"供应商必须保证响应性文件所提供的全部资料真实可靠,并接受磋商小组对其中任何资料进一步审查的要求。项目结束后,采购单位保留对成交候选供应商投报货物及磋商情况核实的权利,如核实过程中有证据证明成交候选供应商存在有违反竞争性磋商文件规定行为的,采购人将取消其成交候选供应商资格。供应商必须保证响应性文件所提供的全部资料真实可靠,并接受磋商小组对其中任何资料进一步审查的要求。项目结束后,采购单位保留对成交候选供应商投报货物及磋商情况核实的权利,如核实过程中有证据证明成交候选供应商存在有违反竞争性磋商文件规定行为的,采购人将取消其成交候选供应商资格。"
]
},
"响应性文件的递交": {
"响应性文件的密封和标记及递交": [
"响应性文件的正本和副本必须用封条密封在一个密封袋内封条上加盖供应商公章密封袋封面注明“在2023年月日时分(北京时间)前不准启封”(投标截止时间),正面应加盖供应商公章,并写明项目名称、供应商名称、地址,正本与副本如有差异的,评审时以正本为准。",
"供应商应当在磋商文件要求的截止时间前,将响应文件密封送达指定地点。在截止时间后送达的响应文件为无效文件,采购人、采购代理机构或者磋商小组应当拒收。",
"未按竞争性磋商文件要求密封的响应性文件,采购人或采购代理机构将不予接受。未按竞争性磋商文件要求密封的响应性文件,采购人或采购代理机构将不予接受。"
]
}
},
"开评定标流程": {
"竞争性磋商文件内容、程序及相关说明": {
"磋商说明": [
"由采购人组织成立磋商小组磋商小组成员由有关经济、技术方面的评审专家和采购人代表等组成成员人数为3人其中评审专家人数不得少于磋商小组成员总数的2。",
"磋商全过程中,供应商应委派法定代表人或委托(授权)代理人参加。"
],
"磋商原则": [
"统一性原则:磋商小组将按照统一的磋商程序和磋商方法,用同一标准进行磋商;",
"独立性原则:磋商工作在磋商小组内部独立进行,不受外界任何因素的干扰和影响。磋商小组成员对出具的评审意见承担个人责任;",
"综合性原则:磋商小组将综合分析、评审磋商供应商的各项指标,磋商小组按照竞争性磋商文件规定的磋商办法和标准对各供应商进行综合评定;",
"保密性原则:采购人或采购代理机构将采取必要的措施,保证磋商在严格保密的情况下进行。"
],
"磋商程序、内容": [
"供应商以随机抽取的方式确定进行首次报价的先后顺序,供应商自行对本项目货物首次报价;",
"首次报价结束后,磋商小组要对各供应商的资格性、递交的响应性文件的符合性进行审阅,以判定各供应商资格、响应性文件的有效性,审阅结束后,要确定进入最后报价磋商阶段的供应商名单;",
"磋商小组所有成员应当集中与单一供应商分别进行磋商,并给予所有参加磋商的供应商平等的磋商机会;",
"在磋商过程中,磋商小组可以根据磋商文件和磋商情况实质性变动采购需求中的技术、服务要求以及合同草案条款,但不得变动磋商文件中的其他内容。实质性变动的内容,须经采购人代表确认。对磋商文件作出的实质性变动是磋商文件的有效组成部分,磋商小组应当及时以书面形式同时通知所有参加磋商的供应商。供应商应当按照磋商文件的变动情况和磋商小组的要求重新提交响应文件,并由其法定代表人或授权代表签字或者加盖公章,由授权代表签字的,应当附法定代表人授权书;",
"磋商文件能够详细列明采购标的技术、服务要求的磋商结束后磋商小组应当要求所有实质性响应的供应商在规定时间内提交最后报价提交最后报价的供应商不得少于3家最后报价是供应商响应文件的有效组成部分",
"已提交响应文件的供应商,在提交最后报价之前,可以根据磋商情况退出磋商;",
"经磋商确定最终采购需求和提交最后报价的供应商后,由磋商小组采用综合评分法对提交最后报价的供应商的响应文件和最后报价进行综合评分;",
"磋商小组根据综合评分情况按照评审得分由高到低顺序推荐3名成交候选供应商并编写评审报告。评审得分相同的按照最后报价由低到高的顺序推荐。评审得分且最后报价相同的按照技术指标优劣顺序推荐",
"供需双方签订采购合同。"
],
"响应性文件的澄清": [
"磋商小组在对响应文件有效性、完整性和响应程度进行审查时,可以要求供应商对响应性文件中含义不明确、对同类问题表述不一致或者有明显文字和计算错误的内容等作必要的澄清、说明或者更正,该澄清、说明或者更正应当采用书面形式,并由法定代表人或其授权代表签字或者加盖公章,由授权代表签字的,应当附法定代表人授权书。",
"澄清、说明或者更正将作为响应性文件内容的一部分。澄清、说明不得超出响应文件的范围或者改变响应性文件的实质性内容。供应商拒不按照要求对响应性文件进行澄清、说明的,磋商小组可拒绝该其响应文件。",
"如磋商小组一致认为某个供应商的报价明显不合理,有降低质量、不能诚信履行的可能时,磋商小组有权决定是否通知供应商限期进行书面解释或提供相关证明材料。若已要求,而该磋商供应商在规定期限内未做出解释、作出的解释不合理或不能提供证明材料的,经磋商小组取得一致意见后,可拒绝该报价。"
],
"注意事项": [
"磋商供应商出现下列情形之一的磋商小组可取消其磋商资格1未按竞争性磋商文件规定提交有关材料的2有违反政府采购法律、法规行为的。",
"磋商供应商出现下列情形之一的,磋商小组在评审中按废标处理:(1)最后报价有选择性的;(2)不符合竞争性磋商文件中规定的其他实质性要求。",
"经查实,若磋商供应商有提供虚假证明文件的行为,采购人将视情节轻重和影响程度报政府相关监督管理部门处理。"
],
"确定成交供应商的原则": [
"磋商小组将严格按照磋商文件的要求和条件进行比较并出具评审报告,评审报告应当由磋商小组全体人员签字认可。磋商小组成员对评审报告有异议的,磋商小组按照少数服从多数的原则推荐成交候选供应商,采购程序继续进行。对评审报告有异议的磋商小组成员,应当在报告上签署不同意见并说明理由,由磋商小组书面记录相关情况。磋商小组成员拒绝在报告上签字又不书面说明其不同意见和理由的,视为同意评审报告;",
"采购代理机构应当在评审结束后2个工作日内将评审报告送采购人确认采购人应当在收到评审报告后2个工作日内从评审报告提出的成交候选供应商中按照排序由高到低的原则确定成交供应商也可以书面授权磋商小组直接确定成交供应商。采购人逾期未确定成交供应商且不提出异议的视为确定评审报告提出的排序第一的供应商为成交供应商",
"采购人或者采购代理机构应当在成交供应商确定后2个工作日内在省级以上财政部门指定的政府采购信息发布媒体上公告成交结果同时向成交供应商发出成交通知书",
"采购人与成交供应商应当在成交通知书发出之日起30日内按照磋商文件确定的合同文本以及采购标的、规格型号、采购金额、采购数量、技术和服务要求等事项签订政府采购合同。采购人不得向成交供应商提出超出磋商文件以外的任何要求作为签订合同的条件不得与成交供应商订立背离磋商文件确定的合同文本以及采购标的、规格型号、采购金额、采购数量、技术和服务要求等实质性内容的协议",
"成交供应商拒绝签订政府采购合同的,采购人将把排名第二的成交候选供应商作为成交供应商并签订政府采购合同(以此类推),也可以重新开展采购活动。拒绝签订政府采购合同的成交供应商不得参加对该项目重新开展的采购活动。"
],
"确定成交供应商的标准方法": {
"确定成交供应商的标准方法": "详见竞争性磋商文件第六部分“磋商办法”。确定成交供应商的标准方法<br>详见竞争性磋商文件第六部分“磋商办法”。"
}
}
},
"资格审查": {
"资格性审查": {
"满足《中华人民共和国政府采购法》第二十二条规定": [
"具有独立承担民事责任的能力",
"具有良好的商业信誉和健全的财务会计制度",
"具有履行合同所必需的设备和专业技术能力",
"有依法缴纳税收和社会保障资金的良好记录",
"参加政府采购活动前三年内,在经营活动中没有重大违法记录",
"法律、行政法规规定的其他条件"
],
"未被列入“信用中国”网站www.creditchina.gov.cn重大税收违法失信主体、“中国执行信息公开网”网站http://zxgk.court.gov.cn/shixin/失信被执行人、和“中国政府采购网”网站www.ccgp.gov.cn政府采购严重违法失信行为记录名单": "(提供网络截图)",
"本项目的特定资格要求": "投标人具有独立法人资格,有相应的经营范围。",
"承诺书": "湖北省政府采购供应商信用承诺书",
"资格审查内容": "资格性审查内容应为清晰彩色影印件且加盖单位公章",
"授权书": "法定代表人身份证明或法定代表人授权委托书(委托代理人需提供劳动合同和社保证明)"
},
"符合性审查": {
"递交的响应文件": "响应性文件递交的正本和副本数量满足竞争性磋商文件要求。",
"响应文件": "响应性文件无活页或散页装订。",
"文件签章": "响应性文件签字和盖章齐全。",
"磋商有效期": "自响应性文件递交截止之日起 90天。",
"磋商报价": "供应商所提交的报价表未出现两个或两个以上的不同金额报价。"
}
},
"无效标与废标项": {
"否决和无效投标情形": [
"供应商应仔细阅读竞争性磋商文件的所有内容,按竞争性磋商文件的要求提供响应磋商文件内容的响应性文件且装订成册(响应性文件不得采用活页或散页装订,必须胶装),并保证所提供的全部资料的真实性、合法性,从而使其响应性文件对竞争性磋商文件做出实质性的响应,否则,其响应性文件将被拒绝。",
"供应商应当在磋商文件要求的截止时间前,将响应文件密封送达指定地点。在截止时间后送达的响应文件为无效文件,采购人、采购代理机构或者磋商小组应当拒收。",
"响应性文件从响应性文件递交的截止时间起响应性文件有效期为60天有效期短于这个规定期限的磋商将被拒绝。",
"响应性文件应对竞争性磋商文件中各项做出实质性响应,否则该磋商将可能被拒绝。",
"以上资格性审查、符合性审查未通过的,其响应性文件为无效响应性文件。",
"响应性文件应按竞争性磋商文件规定加盖单位公章和供应商法定代表人或授权代表签字或盖章,否则,将被视为无效响应性文件;",
"采购拦标价: 人民币 51 万元。<br>供应商首次报价或最后报价超出本项目公布拦标价的, 按 照无效报价处理。",
"响应性文件应严格按照竞争性磋商文件的要求提交,并按规定的统一格式逐项填写,不准有空项;无相应内容可填的项应填写“无”等明确的回答文字,响应性文件未按规定提交,将被视为不完整响应的响应性文件,其响应文件有可能被拒绝;",
"在磋商评审期间,供应商试图影响采购单位和磋商小组的任何活动,将导致其报价被拒绝,并承担相应的法律责任。",
"份(响应文件封面须明确注明“正本”、“副本”字样)供应商提交的响应文件不符合本款要求的,按照无效响应文件处理。",
"供应商任何有选择的报价(首次报价、最后报价)将被拒绝,磋商报价不允许修正和涂改,出现错误或涂改的将以无效报价处理;",
"项关于磋商小组可以判定明显不合理,低于个别成本、有降低质量、不能诚信履约的最后报价为无效报价的规定。"
],
"废标项": "",
"不得存在的情形": [
"供应商应仔细阅读竞争性磋商文件的所有内容,按竞争性磋商文件的要求提供响应磋商文件内容的响应性文件且装订成册(响应性文件不得采用活页或散页装订,必须胶装),并保证所提供的全部资料的真实性、合法性,从而使其响应性文件对竞争性磋商文件做出实质性的响应,否则,其响应性文件将被拒绝。",
"磋商文件能够详细列明采购标的技术、服务要求的磋商结束后磋商小组应当要求所有实质性响应的供应商在规定时间内提交最后报价提交最后报价的供应商不得少于3家最后报价是供应商响应文件的有效组成部分",
"在磋商过程中,磋商小组可以根据磋商文件和磋商情况实质性变动采购需求中的技术、服务要求以及合同草案条款,但不得变动磋商文件中的其他内容。",
"磋商小组成员和参与评审活动有关的工作人员不得透漏对磋商文件的评审和比较、成交候选人的推荐情况以及与评审有关的其它情况。",
"供应商对磋商文件如有疑问,可以在磋商文件规定的询问或质疑截止时间之前,以书面形式(如电子邮件、传真、信件、电报等)向采购代理机构提交“询问函”或“质疑函”。采购代理机构对在此规定时间以前收到的、且需要做出澄清修改的问题,将以电子邮件、传真形式通知所有获取磋商文件的供应商作出澄清解释或补充说明,但不说明问题的来源,答复内容不得涉及商业秘密。",
"为确保评审工作顺利进行,磋商小组全体成员应关闭通讯工具;在评审工作结束前,磋商小组全体成员不得单独活动。",
"供应商不得以他人名义磋商或者以其他方式弄虚作假,骗取中标;",
"澄清、说明或者更正将作为响应性文件内容的一部分。澄清、说明不得超出响应文件的范围或者改变响应性文件的实质性内容。",
"在磋商期间,供应商不得向磋商小组成员或有关工作人员询问正在进行的磋商情况,不得进行在影响磋商结果的活动。",
"投标人必须据实填写,不得虚假响应,否则将取消其投标或中标资格,并按有关规定进行处罚。",
"磋商小组成员不得与任何磋商供应商或与采购结果有利害关系的人私下接触,不得收受磋商供应商、中介人及其它利害关系人的财物或其它好处。",
"磋商响应文件递交后,直接授予成交供应商合同止,凡与本次采购有关人员对属于审查、澄清、评价和比较报价的有关资料以及授标意向等,均不得向供应商或其他无关的人员透露。",
"在磋商过程中,参加磋商的任何一方不得透露与磋商有关的其他供应商的技术资料、价格和其他信息。",
"本项目不允许供应商拟在成交后将成交项目交由他人完成,成交供应商不得采用分包的形式履行合同。"
]
},
"技术评分": {
"技术参数": {
"评分": "20分",
"要求": "1. 全部满足采购文件技术参数要求的得满分2. 未带★条款的技术参数:有 1项负偏离的扣 1分扣完本项得分为止。3. 带★参数及要求有一项不满足或负偏离扣 3分扣完本项得分为止。"
},
"实施方案": {
"评分": "10分",
"要求": "项目组织实施计划完整可行,技术保障措施可靠,能够保证按期供货,项目管理人员配备合理等等,实施方案合理性、先进性、切实可行性综合评审。内容齐全完善、阐述清晰、详尽,有针对性的得 7-10分内容阐述较清晰、合理可行、有针对性的得 4-6分一般得 1-3分不合理不得分。"
},
"安装调试验收方案": {
"评分": "5分",
"要求": "根据投标人针对本项目拟有完整且有效的安装调试验收方案,包括但不限于①对相关技术标准的说明、②安装调试验收工作程序安排、③落实措施、④产品安装调试验收的技术指导措施、⑤人员组织安排等内容进行评分:每有一项内容齐全完善、阐述清晰、详尽,有针对性的,得 1分每有一项内容阐述比较清晰、比较合理可行、有针对性的得 0.5分;每有一项内容不可行或未提供的,不得分。本项最高得 5分。"
},
"培训服务方案": {
"评分": "5分",
"要求": "根据投标人针对本项目拟有完整且有效的培训服务方案,包括但不限于①培训次数(不少于 3次技术培训服务、②现场培训组织计划、③产品使用维护管理、④培训人员配备方案、⑤技术培训资料清单等内容进行评分每有一项内容齐全完善、阐述清晰、详尽有针对性的得 1分每有一项内容阐述比较清晰、比较合理可行、有针对性的得 0.5分;每有一项内容不可行或未提供的,不得分。本项最高得 5分。"
}
},
"商务评分": {
"商务评分": {
"信誉": {
"评分": "2分",
"要求": "投标人具有 ISO9001质量管理体系认证且在有效期内得 2分。"
},
"系统保障": {
"评分": "2分",
"要求": "对应产品具有《计算机软件著作权登记证书》得 2分。"
},
"售后服务": {
"评分": "5分",
"要求": "根据投标人提供的售后服务计划及承诺,售后服务响应时间,故障应急维修方案等进行综合评审。合理得 4-5 分;较合理得 1-3分不合理不得分。"
},
"业绩": {
"评分": "10分",
"要求": "投标人提供 2020年 3月至今类似项目业绩以合同签订时间为准每提供一个类似业绩得 2最高 10分。响应性文件中须提供网页截图、中标通知书及合同投标时需提供中标通知书及合同原件否则不得分。"
},
"标书制作": {
"评分": "1分",
"要求": "响应性文件有详细目录、评分索引页目录与有关材料装订顺序对应清晰查阅方便规范完整0-1分。"
}
},
"投标报价评审": {
"投标报价": {
"评分": "40分",
"要求": "价格分采用低价优先法计算,即满足竞争性磋商文件要求且投标价格最低的投标报价为评标基准价,其价格分为满分 40分。其它合格投标人的报价分按报价分=(评标基准价/投标报价)×40公式计算。"
}
}
}
}
includes = ["基础信息", "资格审查", "商务评分", "技术评分", "无效标与废标项", "投标文件要求", "开评定标流程"]
res1,res2,res3=outer_post_processing(combined_data,includes)
print(json.dumps(res2,ensure_ascii=False,indent=4))