|
@@ -944,7 +944,8 @@ def findAttributeAfterEntity(PackDict,roleSet,PackageList,PackageSet,list_senten
|
|
def addServiceTimeByEntity(packDict,packageName,entity,serviceTime):
|
|
def addServiceTimeByEntity(packDict,packageName,entity,serviceTime):
|
|
for i in range(len(packDict[packageName]["roleList"])):
|
|
for i in range(len(packDict[packageName]["roleList"])):
|
|
if packDict[packageName]["roleList"][i].entity_text==entity:
|
|
if packDict[packageName]["roleList"][i].entity_text==entity:
|
|
- packDict[packageName]["roleList"][i].serviceTime = serviceTime.entity_text
|
|
|
|
|
|
+ # packDict[packageName]["roleList"][i].serviceTime = serviceTime.entity_text
|
|
|
|
+ packDict[packageName]["roleList"][i].serviceTime = extract_serviceTime(serviceTime.entity_text,"")
|
|
|
|
|
|
#根据实体名称得到角色
|
|
#根据实体名称得到角色
|
|
def getRoleWithText(packDict,entity_text):
|
|
def getRoleWithText(packDict,entity_text):
|
|
@@ -3829,7 +3830,7 @@ def extract_serviceTime(service_time,page_time):
|
|
|
|
|
|
return sum(result_list) + result
|
|
return sum(result_list) + result
|
|
|
|
|
|
- serviceTime_dict = {"service_start": "", "service_end": "", "service_days": ""}
|
|
|
|
|
|
+ serviceTime_dict = {"service_start": "", "service_end": "", "service_days": 0}
|
|
re_num = re.findall(r'[〇一二三四五六七八九零壹贰叁肆伍陆柒捌玖貮两十拾百佰千仟]+',service_time)
|
|
re_num = re.findall(r'[〇一二三四五六七八九零壹贰叁肆伍陆柒捌玖貮两十拾百佰千仟]+',service_time)
|
|
for _num in re_num:
|
|
for _num in re_num:
|
|
if not re.search("[十拾百佰千仟]",_num):
|
|
if not re.search("[十拾百佰千仟]",_num):
|
|
@@ -3929,12 +3930,15 @@ def extract_serviceTime(service_time,page_time):
|
|
service_days = 0
|
|
service_days = 0
|
|
|
|
|
|
if service_days>0:
|
|
if service_days>0:
|
|
- service_days = str(service_days) + "天"
|
|
|
|
|
|
+ # service_days = str(service_days) + "天"
|
|
serviceTime_dict['service_days'] = service_days
|
|
serviceTime_dict['service_days'] = service_days
|
|
break
|
|
break
|
|
elif "半年" in service_time:
|
|
elif "半年" in service_time:
|
|
service_days = 180
|
|
service_days = 180
|
|
- service_days = str(service_days) + "天"
|
|
|
|
|
|
+ # service_days = str(service_days) + "天"
|
|
|
|
+ serviceTime_dict['service_days'] = service_days
|
|
|
|
+ if serviceTime_dict['service_start'] and serviceTime_dict['service_end']:
|
|
|
|
+ service_days = get_days_between(serviceTime_dict['service_start'],serviceTime_dict['service_end'])
|
|
serviceTime_dict['service_days'] = service_days
|
|
serviceTime_dict['service_days'] = service_days
|
|
|
|
|
|
return serviceTime_dict
|
|
return serviceTime_dict
|
|
@@ -3976,7 +3980,7 @@ def getOtherAttributes(list_entity,page_time,prem,channel_dic):
|
|
|
|
|
|
time_contractEnd = prem[0].get("time_contractEnd","")[:10]
|
|
time_contractEnd = prem[0].get("time_contractEnd","")[:10]
|
|
time_contractStart = prem[0].get("time_contractStart","")[:10]
|
|
time_contractStart = prem[0].get("time_contractStart","")[:10]
|
|
- serviceTime_dict = {"service_start":"", "service_end":"", "service_days": ""}
|
|
|
|
|
|
+ serviceTime_dict = {"service_start":"", "service_end":"", "service_days": 0}
|
|
if time_contractEnd:
|
|
if time_contractEnd:
|
|
serviceTime_dict['service_end'] = time_contractEnd
|
|
serviceTime_dict['service_end'] = time_contractEnd
|
|
if time_contractStart:
|
|
if time_contractStart:
|
|
@@ -4040,7 +4044,7 @@ def getOtherAttributes(list_entity,page_time,prem,channel_dic):
|
|
break
|
|
break
|
|
if serviceTime_dict['service_start'] and serviceTime_dict['service_end']:
|
|
if serviceTime_dict['service_start'] and serviceTime_dict['service_end']:
|
|
service_days = get_days_between(serviceTime_dict['service_start'],serviceTime_dict['service_end'])
|
|
service_days = get_days_between(serviceTime_dict['service_start'],serviceTime_dict['service_end'])
|
|
- serviceTime_dict['service_days'] = str(service_days) + "天"
|
|
|
|
|
|
+ serviceTime_dict['service_days'] = service_days
|
|
dict_other["serviceTime"] = serviceTime_dict
|
|
dict_other["serviceTime"] = serviceTime_dict
|
|
if not time_contractEnd and channel_dic['docchannel']['docchannel']=='合同公告': # 用serviceTime补充合同开始结束时间,公告类型为合同公告
|
|
if not time_contractEnd and channel_dic['docchannel']['docchannel']=='合同公告': # 用serviceTime补充合同开始结束时间,公告类型为合同公告
|
|
if serviceTime_dict['service_start'] and serviceTime_dict['service_end']:
|
|
if serviceTime_dict['service_start'] and serviceTime_dict['service_end']:
|
|
@@ -4189,7 +4193,10 @@ def limit_maximum_amount(dic, list_entity):
|
|
for value in dic['prem'].values():
|
|
for value in dic['prem'].values():
|
|
for l in value['roleList']:
|
|
for l in value['roleList']:
|
|
if l["role_name"] in ['win_tenderer', 'second_tenderer', 'third_tenderer']:
|
|
if l["role_name"] in ['win_tenderer', 'second_tenderer', 'third_tenderer']:
|
|
- date = float(re.search('(\d+)天', l.get('serviceTime', '')).group(1)) if re.search('(\d+)天', l.get('serviceTime', '')) else 0
|
|
|
|
|
|
+ # date = float(re.search('(\d+)天', l.get('serviceTime', '')).group(1)) if re.search('(\d+)天', l.get('serviceTime', '')) else 0
|
|
|
|
+ serviceTime_dict = l.get('serviceTime', dict())
|
|
|
|
+ serviceTime_dict = serviceTime_dict if serviceTime_dict else dict()
|
|
|
|
+ date = serviceTime_dict.get("service_days",0)
|
|
if 0 < date < 180 and float(l["role_money"]['money']) > 10000000000: # 工期小于180天且金额大于百亿的,错误
|
|
if 0 < date < 180 and float(l["role_money"]['money']) > 10000000000: # 工期小于180天且金额大于百亿的,错误
|
|
l["role_money"]['money'] = str(Decimal(l["role_money"]['money']) / 10000)
|
|
l["role_money"]['money'] = str(Decimal(l["role_money"]['money']) / 10000)
|
|
# print('工期纠正百亿以上金额 ')
|
|
# print('工期纠正百亿以上金额 ')
|