|
@@ -7841,7 +7841,7 @@ class WebsourceTenderee():
|
|
|
with open(os.path.dirname(__file__)+'/websource_tenderee.pkl', 'r', encoding='utf-8') as f:
|
|
|
self.webno2ree = json.load(f)
|
|
|
|
|
|
- def get_websource_tenderee(self, web_source_no, web_source_name, prem):
|
|
|
+ def get_websource_tenderee(self, docid, web_source_no, web_source_name, prem):
|
|
|
'''
|
|
|
通过数据源唯一招标人召回调整prem中的招标人,
|
|
|
:param web_source_no:
|
|
@@ -7854,6 +7854,8 @@ class WebsourceTenderee():
|
|
|
web_ree = '中国人民解放军总医院'
|
|
|
elif web_source_no.startswith('Y00484-') and web_ree == "":
|
|
|
web_ree = '航空总医院'
|
|
|
+ elif web_source_no.startswith('DX015142-'):
|
|
|
+ web_ree = '海尔集团'
|
|
|
if web_ree == "" and re.search('\w{2,8}(大学|医院|妇幼保健院)$', web_source_name): # 20240524 大学、医院类站源没唯一招标人默认为站源名称
|
|
|
web_ree = web_source_name
|
|
|
if web_source_no in ['DX013230-2', 'DX008427-1', 'DX001298', 'DX013230-3', 'DX003960-1', 'DX002797-1', 'DX010532',
|
|
@@ -7862,6 +7864,7 @@ class WebsourceTenderee():
|
|
|
'DX000980', 'DX013748-1', 'DX002488', '07056-4', 'XX2102']: # 统计分析可能有问题的唯一招标人
|
|
|
web_ree = ''
|
|
|
if web_ree != '':
|
|
|
+ flag = 0 # 是否被替换为站源招标人
|
|
|
if 'Project' in prem[0]['prem']:
|
|
|
find_tenderee = False
|
|
|
for d in prem[0]['prem']['Project']['roleList']:
|
|
@@ -7869,10 +7872,13 @@ class WebsourceTenderee():
|
|
|
find_tenderee = True
|
|
|
if d['role_text'] == "":
|
|
|
d['role_text'] = web_ree
|
|
|
+ flag = 1
|
|
|
elif re.search('大学$', web_ree) and re.search('学院$', d['role_text']) and web_ree not in d['role_text']:
|
|
|
d['role_text'] = web_ree
|
|
|
+ flag = 1
|
|
|
elif d.get('role_prob', 0) < 0.8 and get_business_data(d['role_text'])[0] == False: # 20240201 概率低于0.8且没有工商数据的替换为站源招标人
|
|
|
d['role_text'] = web_ree
|
|
|
+ flag = 1
|
|
|
# elif re.search(p, web_ree) and (re.search(p, d['role_text'])==None and len(d['role_text'])<6): # 数据源唯一招标人以医院等结尾,角色中无相关关键词的,替换为数据源招标人
|
|
|
# d['role_text'] = web_ree
|
|
|
# elif re.search('有限(责任)?公司', web_ree) and (re.search('有限(责任)?公司', d['role_text'])==None and len(d['role_text'])<6):
|
|
@@ -7888,6 +7894,7 @@ class WebsourceTenderee():
|
|
|
'linklist': [],
|
|
|
'serviceTime': '',
|
|
|
'address': ''})
|
|
|
+ flag = 1
|
|
|
|
|
|
else:
|
|
|
prem[0]['prem']['Project'] = {'code': '',
|
|
@@ -7901,6 +7908,7 @@ class WebsourceTenderee():
|
|
|
'serviceTime': '',
|
|
|
'address': ''}
|
|
|
]}
|
|
|
+ flag = 1
|
|
|
tenderee_l = [d2['role_text'] for v in prem[0]['prem'].values() for d2 in v['roleList'] if
|
|
|
d2['role_name'] == 'tenderee']
|
|
|
winner_l = [d2['role_text'] for v in prem[0]['prem'].values() for d2 in v['roleList'] if
|
|
@@ -7909,6 +7917,8 @@ class WebsourceTenderee():
|
|
|
for k in prem[0]['prem']:
|
|
|
prem[0]['prem'][k]['roleList'] = [d for d in prem[0]['prem'][k]['roleList'] if
|
|
|
not (d['role_name'] == 'win_tenderer' and d['role_text'] in tenderee_l)]
|
|
|
+ if flag == 1:
|
|
|
+ log('规则补充站源招标人:%s,docid:%s'%(web_ree, docid))
|
|
|
return prem
|
|
|
|
|
|
def get_header_line(list_item):
|