|
@@ -68,10 +68,10 @@ class PreprojectFill():
|
|
|
def fill_contact_producer(self):
|
|
|
q1 = BoolQuery(must_queries=[TermQuery("status",1),
|
|
|
])
|
|
|
- columns = [preproject_tenderee,preproject_last_tenderee_contact,preproject_last_tenderee_phone,preproject_last_win_tenderer,preproject_last_win_tenderer_contact,preproject_last_win_tenderer_phone]
|
|
|
+ columns = ["status",preproject_tenderee,preproject_last_tenderee_contact,preproject_last_tenderee_phone,preproject_last_win_tenderer,preproject_last_win_tenderer_contact,preproject_last_win_tenderer_phone]
|
|
|
query = q1
|
|
|
rows,next_token,total_count,is_all_succeed = self.ots_client.search("preproject","preproject_index",
|
|
|
- SearchQuery(query,sort=Sort(sorters=[FieldSort("uuid")]),get_total_count=True,limit=100),
|
|
|
+ SearchQuery(query,sort=Sort(sorters=[FieldSort("crtime",SortOrder.DESC)]),get_total_count=True,limit=100),
|
|
|
ColumnsToGet(columns,ColumnReturnType.SPECIFIED))
|
|
|
dict_rows = getRow_ots(rows)
|
|
|
for _row in dict_rows:
|
|
@@ -100,7 +100,8 @@ class PreprojectFill():
|
|
|
|
|
|
|
|
|
if tenderee is not None and tenderee!="":
|
|
|
- if (tenderee_concat is None or tenderee_concat=="") and (tenderee_phone is None or tenderee_phone==""):
|
|
|
+ # if (tenderee_concat is None or tenderee_concat=="") and (tenderee_phone is None or tenderee_phone==""):
|
|
|
+ if tenderee_phone is None or tenderee_phone=="":
|
|
|
#fill tenderee concat and phone
|
|
|
bool_query = BoolQuery(must_queries=[
|
|
|
TermQuery(preproject_tenderee,tenderee),
|
|
@@ -118,28 +119,35 @@ class PreprojectFill():
|
|
|
for _data in list_data:
|
|
|
tenderee_contact = _data.get("tenderee_contact")
|
|
|
tenderee_phone = _data.get("tenderee_phone")
|
|
|
- if (tenderee_contact is not None and tenderee_contact!="") or (tenderee_phone is not None and tenderee_phone!=""):
|
|
|
+ # if (tenderee_contact is not None and tenderee_contact!="") or (tenderee_phone is not None and tenderee_phone!=""):
|
|
|
+ if tenderee_phone is not None and tenderee_phone!="":
|
|
|
_find = True
|
|
|
_row[preproject_last_tenderee_contact] = tenderee_contact
|
|
|
_row[preproject_last_tenderee_phone] = tenderee_phone
|
|
|
+ break
|
|
|
if not _find:
|
|
|
bool_query = BoolQuery(must_queries=[
|
|
|
+ TermQuery("status", 1),
|
|
|
TermQuery("enterprise_name",tenderee)
|
|
|
])
|
|
|
rows,next_token,total_count,is_all_succeed = self.ots_client.search("enterprise_contact","enterprise_contact_index",
|
|
|
- SearchQuery(bool_query,sort=Sort(sorters=[FieldSort("score",SortOrder.DESC)]),limit=1),
|
|
|
+ SearchQuery(bool_query,sort=Sort(sorters=[FieldSort("score",SortOrder.DESC)]),limit=5),
|
|
|
ColumnsToGet(["contact_person","phone_no"],return_type=ColumnReturnType.SPECIFIED))
|
|
|
list_data = getRow_ots(rows)
|
|
|
if len(list_data)>0:
|
|
|
- _data = list_data[0]
|
|
|
- tenderee_contact = _data.get("contact_person")
|
|
|
- tenderee_phone = _data.get("phone_no")
|
|
|
- _row[preproject_last_tenderee_contact] = tenderee_contact
|
|
|
- _row[preproject_last_tenderee_phone] = tenderee_phone
|
|
|
+ # _data = list_data[0]
|
|
|
+ for _data in list_data:
|
|
|
+ tenderee_contact = _data.get("contact_person")
|
|
|
+ tenderee_phone = _data.get("phone_no")
|
|
|
+ if tenderee_phone is not None and tenderee_phone!="":
|
|
|
+ _row[preproject_last_tenderee_contact] = tenderee_contact
|
|
|
+ _row[preproject_last_tenderee_phone] = tenderee_phone
|
|
|
+ break
|
|
|
|
|
|
|
|
|
if win_tenderer is not None and win_tenderer!="":
|
|
|
- if (win_tenderer_concat is None or win_tenderer_phone!="") and (win_tenderer_phone is None or win_tenderer_phone==""):
|
|
|
+ # if (win_tenderer_concat is None or win_tenderer_concat!="") and (win_tenderer_phone is None or win_tenderer_phone==""):
|
|
|
+ if win_tenderer_phone is None or win_tenderer_phone=="":
|
|
|
# fill win_tenderer concat and phone
|
|
|
bool_query = BoolQuery(must_queries=[
|
|
|
TermQuery("win_tenderer",win_tenderer),
|
|
@@ -157,31 +165,38 @@ class PreprojectFill():
|
|
|
for _data in list_data:
|
|
|
_contact = _data.get("win_tenderer_manager")
|
|
|
_phone = _data.get("win_tenderer_phone")
|
|
|
- if (_contact is not None and _contact!="") or (_phone is not None and _phone!=""):
|
|
|
+ # if (_contact is not None and _contact!="") or (_phone is not None and _phone!=""):
|
|
|
+ if _phone is not None and _phone!="" and _phone!=_row.get(preproject_last_tenderee_phone):
|
|
|
_find = True
|
|
|
_row[preproject_last_win_tenderer_contact] = _contact
|
|
|
_row[preproject_last_win_tenderer_phone] = _phone
|
|
|
+ break
|
|
|
if not _find:
|
|
|
bool_query = BoolQuery(must_queries=[
|
|
|
+ TermQuery("status", 1),
|
|
|
TermQuery("enterprise_name",win_tenderer)
|
|
|
])
|
|
|
rows,next_token,total_count,is_all_succeed = self.ots_client.search("enterprise_contact","enterprise_contact_index",
|
|
|
- SearchQuery(bool_query,sort=Sort(sorters=[FieldSort("score",SortOrder.DESC)]),limit=1),
|
|
|
+ SearchQuery(bool_query,sort=Sort(sorters=[FieldSort("score",SortOrder.DESC)]),limit=5),
|
|
|
ColumnsToGet(["contact_person","phone_no"],return_type=ColumnReturnType.SPECIFIED))
|
|
|
list_data = getRow_ots(rows)
|
|
|
if len(list_data)>0:
|
|
|
- _data = list_data[0]
|
|
|
- _contact = _data.get("contact_person")
|
|
|
- _phone = _data.get("phone_no")
|
|
|
- _row[preproject_last_win_tenderer_contact] = _contact
|
|
|
- _row[preproject_last_win_tenderer_phone] = _phone
|
|
|
-
|
|
|
+ # _data = list_data[0]
|
|
|
+ for _data in list_data:
|
|
|
+ _contact = _data.get("contact_person")
|
|
|
+ _phone = _data.get("phone_no")
|
|
|
+ # _phone不为空,且不等于招标人电话
|
|
|
+ if _phone is not None and _phone!="" and _phone!=_row.get(preproject_last_tenderee_phone):
|
|
|
+ _row[preproject_last_win_tenderer_contact] = _contact
|
|
|
+ _row[preproject_last_win_tenderer_phone] = _phone
|
|
|
+ break
|
|
|
|
|
|
+ _row["status"] = 0
|
|
|
_preproject = Preproject(_row)
|
|
|
_preproject.setValue("status",2,True)
|
|
|
_preproject.update_row(self.ots_client)
|
|
|
|
|
|
- _mul = MultiThreadHandler(self.fill_concat_queue,comsumer_handle,None,10)
|
|
|
+ _mul = MultiThreadHandler(self.fill_concat_queue,comsumer_handle,None,20)
|
|
|
_mul.run()
|
|
|
|
|
|
def schedule(self):
|
|
@@ -269,4 +284,6 @@ if __name__=="__main__":
|
|
|
# preprojectFill = PreprojectFill()
|
|
|
# preprojectFill.schedule()
|
|
|
# delete_wrong_data()
|
|
|
- fixProductName()
|
|
|
+ # fixProductName()
|
|
|
+ start_fill_preproject()
|
|
|
+ pass
|