Преглед на файлове

修复站源唯一招标人与中标人冲突

lsm преди 3 месеца
родител
ревизия
e1525970b0
променени са 1 файла, в които са добавени 8 реда и са изтрити 3 реда
  1. 8 3
      BiddingKG/dl/interface/predictor.py

+ 8 - 3
BiddingKG/dl/interface/predictor.py

@@ -7830,9 +7830,6 @@ class WebsourceTenderee():
                                                                    'linklist': [],
                                                                    'serviceTime': '',
                                                                    'address': ''})
-                    if len(prem[0]['prem']['Project']['roleList']) > 1 and web_ree in [d['role_text'] for d in prem[0]['prem']['Project']['roleList'] if d['role_name'] in ['win_tenderer', 'pre_win_tenderer']]:
-                        # print('过滤掉中标人与站源唯一招标人项目的中标人:', web_ree)
-                        prem[0]['prem']['Project']['roleList'] = [d for d in prem[0]['prem']['Project']['roleList'] if d['role_name'] not in ['win_tenderer', 'pre_win_tenderer']]
 
             else:
                 prem[0]['prem']['Project'] = {'code': '',
@@ -7846,6 +7843,14 @@ class WebsourceTenderee():
                                                    'serviceTime': '',
                                                    'address': ''}
                                               ]}
+            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
+                        d2['role_name'] == 'win_tenderer']
+            if set(tenderee_l) & set(winner_l) and web_ree in tenderee_l:  # 删除与站源招标人冲突的中标人
+                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)]
         return prem
 
 def get_header_line(list_item):