4c67581e by 周伟奇

fix HIL clzlht

1 parent ca883d6b
...@@ -51,6 +51,7 @@ class Finder: ...@@ -51,6 +51,7 @@ class Finder:
51 "合同编号(正文)": self.item, 51 "合同编号(正文)": self.item,
52 "车辆识别代码": self.item, 52 "车辆识别代码": self.item,
53 "车辆卖方(经销商)": self.item, 53 "车辆卖方(经销商)": self.item,
54 "车辆代理商": self.item,
54 "车辆原始销售价格(《机动车销售统一发票》所列金额)": self.item, 55 "车辆原始销售价格(《机动车销售统一发票》所列金额)": self.item,
55 "车辆附加产品明细表": self.item, 56 "车辆附加产品明细表": self.item,
56 "融资成本总额": self.item, 57 "融资成本总额": self.item,
...@@ -696,11 +697,13 @@ class Finder: ...@@ -696,11 +697,13 @@ class Finder:
696 signature_name['position'] = bbox 697 signature_name['position'] = bbox
697 return signature_name, signature_date 698 return signature_name, signature_date
698 699
699 def get_electronic_signature(self, top, bottom): 700 def get_electronic_signature(self, top, bottom, t_pno=None):
700 signature = self.item.copy() 701 signature = self.item.copy()
701 anchor_top = None 702 anchor_top = None
702 anchor_bottom = None 703 anchor_bottom = None
703 for pno in self.pdf_info: 704 for pno in self.pdf_info:
705 if t_pno is not None and pno != t_pno:
706 continue
704 for block in self.pdf_info[pno]['blocks']: 707 for block in self.pdf_info[pno]['blocks']:
705 if block['type'] != 0: 708 if block['type'] != 0:
706 continue 709 continue
...@@ -709,10 +712,15 @@ class Finder: ...@@ -709,10 +712,15 @@ class Finder:
709 bbox, text = span['bbox'], span['text'] 712 bbox, text = span['bbox'], span['text']
710 if top in text: 713 if top in text:
711 anchor_top = bbox[1] 714 anchor_top = bbox[1]
712 if bottom in text: 715 elif bottom in text and anchor_top is not None and bbox[3] > anchor_top:
713 anchor_bottom = bbox[3] 716 anchor_bottom = bbox[3]
714 if anchor_top is not None and anchor_bottom is not None: 717 if anchor_top is not None and anchor_bottom is not None:
718 # print('in')
719 # print(anchor_top)
720 # print(anchor_bottom)
715 for pno in self.pdf_info: 721 for pno in self.pdf_info:
722 if t_pno is not None and pno != t_pno:
723 continue
716 for block in self.pdf_info[pno]['blocks']: 724 for block in self.pdf_info[pno]['blocks']:
717 if block['type'] != 0: 725 if block['type'] != 0:
718 continue 726 continue
...@@ -1005,7 +1013,7 @@ class Finder: ...@@ -1005,7 +1013,7 @@ class Finder:
1005 words = text.split(':')[-1] 1013 words = text.split(':')[-1]
1006 _id['position'] = bbox 1014 _id['position'] = bbox
1007 _id['page'] = pno 1015 _id['page'] = pno
1008 _id['words'] = words 1016 _id['words'] = words.strip()
1009 return name, _id 1017 return name, _id
1010 1018
1011 def get_key_value_position(self, key): 1019 def get_key_value_position(self, key):
...@@ -1243,6 +1251,9 @@ class Finder: ...@@ -1243,6 +1251,9 @@ class Finder:
1243 if seller['words'] == None: 1251 if seller['words'] == None:
1244 seller = self.get_key_value(key='车辆卖方:') 1252 seller = self.get_key_value(key='车辆卖方:')
1245 self.init_result['车辆卖方(经销商)'] = seller 1253 self.init_result['车辆卖方(经销商)'] = seller
1254 # 找到车辆代理商
1255 cldls = self.get_key_value(key='车辆代理商', page_num='4')
1256 self.init_result['车辆代理商'] = cldls
1246 # 找到 —— 车辆原始销售价格 1257 # 找到 —— 车辆原始销售价格
1247 vehicle_price = self.get_key_value(key='车辆原始销售价格(《机动车销售统一发票》所列金额):') 1258 vehicle_price = self.get_key_value(key='车辆原始销售价格(《机动车销售统一发票》所列金额):')
1248 self.init_result['车辆原始销售价格(《机动车销售统一发票》所列金额)'] = vehicle_price 1259 self.init_result['车辆原始销售价格(《机动车销售统一发票》所列金额)'] = vehicle_price
...@@ -1264,7 +1275,7 @@ class Finder: ...@@ -1264,7 +1275,7 @@ class Finder:
1264 account = self.get_key_value(key='银行账号:', page_num='4') 1275 account = self.get_key_value(key='银行账号:', page_num='4')
1265 self.init_result['收款银行账户-银行账号'] = account 1276 self.init_result['收款银行账户-银行账号'] = account
1266 bank = self.get_key_value(key='开户银行:', page_num='4') 1277 bank = self.get_key_value(key='开户银行:', page_num='4')
1267 self.init_result['承租人收款账户-开户行'] = bank 1278 self.init_result['收款银行账户-开户行'] = bank
1268 # 找承租人扣款账户户名、银行账号、银行 1279 # 找承租人扣款账户户名、银行账号、银行
1269 name = self.get_key_value(key='户名:', page_num='5') 1280 name = self.get_key_value(key='户名:', page_num='5')
1270 self.init_result['银行账户-户名'] = name 1281 self.init_result['银行账户-户名'] = name
...@@ -1277,65 +1288,65 @@ class Finder: ...@@ -1277,65 +1288,65 @@ class Finder:
1277 # 承租人姓名、签章 1288 # 承租人姓名、签章
1278 if is_cdfl == False: 1289 if is_cdfl == False:
1279 name = self.get_key_value(key='承租人姓名:') 1290 name = self.get_key_value(key='承租人姓名:')
1280 electronic_signature = self.get_electronic_signature(top='承租人姓名:', bottom='保证人1姓名:') 1291 electronic_signature = self.get_electronic_signature(top='承租人姓名:', bottom='保证人1姓名:', t_pno='5')
1281 1292
1282 if name["words"] == None: 1293 if name["words"] == None:
1283 name = self.get_key_value(key='承租人一姓名:') 1294 name = self.get_key_value(key='承租人一姓名:')
1284 electronic_signature = self.get_electronic_signature(top='承租人一姓名:', bottom='共同承租人名称:') 1295 electronic_signature = self.get_electronic_signature(top='承租人一姓名:', bottom='共同承租人名称:', t_pno='5')
1285 1296
1286 self.init_result['签字页-承租人姓名'] = name 1297 self.init_result['签字页-承租人姓名'] = name
1287 self.init_result['签字页-承租人签章'] = electronic_signature 1298 self.init_result['签字页-承租人签章'] = electronic_signature
1288 # 保证人1姓名、签章 1299 # 保证人1姓名、签章
1289 name = self.get_key_value(key='保证人1姓名:') 1300 name = self.get_key_value(key='保证人1姓名:')
1290 electronic_signature = self.get_electronic_signature(top='保证人1姓名:', bottom='保证人2姓名:') 1301 electronic_signature = self.get_electronic_signature(top='保证人1姓名:', bottom='保证人2姓名:', t_pno='5')
1291 self.init_result['签字页-保证人1姓名'] = name 1302 self.init_result['签字页-保证人1姓名'] = name
1292 self.init_result['签字页-保证人1签章'] = electronic_signature 1303 self.init_result['签字页-保证人1签章'] = electronic_signature
1293 # 这里用的是 name["words"] == "" 1304 # 这里用的是 name["words"] == ""
1294 if name["words"] == "": 1305 if name["words"] == "":
1295 name = self.get_key_value(key='共同承租人名称:') 1306 name = self.get_key_value(key='共同承租人名称:')
1296 electronic_signature = self.get_electronic_signature(top='共同承租人名称:', bottom='保证人1姓名:') 1307 electronic_signature = self.get_electronic_signature(top='共同承租人名称:', bottom='保证人1姓名:', t_pno='5')
1297 self.init_result['签字页-共同承租人姓名'] = name 1308 self.init_result['签字页-共同承租人姓名'] = name
1298 self.init_result['签字页-共同承租人签章'] = electronic_signature 1309 self.init_result['签字页-共同承租人签章'] = electronic_signature
1299 # 保证人2姓名、签章 1310 # 保证人2姓名、签章
1300 name = self.get_key_value(key='保证人2姓名:') 1311 name = self.get_key_value(key='保证人2姓名:')
1301 electronic_signature = self.get_electronic_signature(top='保证人2姓名:', bottom='保证人3姓名:') 1312 electronic_signature = self.get_electronic_signature(top='保证人2姓名:', bottom='保证人3姓名:', t_pno='5')
1302 self.init_result['签字页-保证人2姓名'] = name 1313 self.init_result['签字页-保证人2姓名'] = name
1303 self.init_result['签字页-保证人2签章'] = electronic_signature 1314 self.init_result['签字页-保证人2签章'] = electronic_signature
1304 # if判断条件对应3_3版本 1315 # if判断条件对应3_3版本
1305 if name["words"] == "": 1316 if name["words"] == "":
1306 name = self.get_key_value(key='保证人1姓名:') 1317 name = self.get_key_value(key='保证人1姓名:')
1307 electronic_signature = self.get_electronic_signature(top='保证人1姓名:', bottom='保证人2姓名:') 1318 electronic_signature = self.get_electronic_signature(top='保证人1姓名:', bottom='保证人2姓名:', t_pno='5')
1308 self.init_result['签字页-保证人1姓名'] = name 1319 self.init_result['签字页-保证人1姓名'] = name
1309 self.init_result['签字页-保证人1签章'] = electronic_signature 1320 self.init_result['签字页-保证人1签章'] = electronic_signature
1310 # 保证人3姓名、签章 1321 # 保证人3姓名、签章
1311 name = self.get_key_value(key='保证人3姓名:') 1322 name = self.get_key_value(key='保证人3姓名:')
1312 electronic_signature = self.get_electronic_signature(top='保证人3姓名:', bottom='日期:') 1323 electronic_signature = self.get_electronic_signature(top='保证人3姓名:', bottom='日期:', t_pno='5')
1313 self.init_result['签字页-保证人3姓名'] = name 1324 self.init_result['签字页-保证人3姓名'] = name
1314 self.init_result['签字页-保证人3签章'] = electronic_signature 1325 self.init_result['签字页-保证人3签章'] = electronic_signature
1315 # if判断条件对应3_3版本 1326 # if判断条件对应3_3版本
1316 if name["words"] == None: 1327 if name["words"] == None:
1317 name = self.get_key_value(key='保证人2姓名:') 1328 name = self.get_key_value(key='保证人2姓名:')
1318 electronic_signature = self.get_electronic_signature(top='保证人2姓名:', bottom='日期:') 1329 electronic_signature = self.get_electronic_signature(top='保证人2姓名:', bottom='日期:', t_pno='5')
1319 self.init_result['签字页-保证人2姓名'] = name 1330 self.init_result['签字页-保证人2姓名'] = name
1320 self.init_result['签字页-保证人2签章'] = electronic_signature 1331 self.init_result['签字页-保证人2签章'] = electronic_signature
1321 else: 1332 else:
1322 name = self.get_key_value(key='承租人一姓名:') 1333 name = self.get_key_value(key='承租人一姓名:')
1323 electronic_signature = self.get_electronic_signature(top='承租人一姓名:', bottom='共同承租人名称:') 1334 electronic_signature = self.get_electronic_signature(top='承租人一姓名:', bottom='共同承租人名称:', t_pno='5')
1324 self.init_result['签字页-承租人姓名'] = name 1335 self.init_result['签字页-承租人姓名'] = name
1325 self.init_result['签字页-承租人签章'] = electronic_signature 1336 self.init_result['签字页-承租人签章'] = electronic_signature
1326 1337
1327 name = self.get_key_value(key='共同承租人名称:') 1338 name = self.get_key_value(key='共同承租人名称:')
1328 electronic_signature = self.get_electronic_signature(top='共同承租人名称:', bottom='保证人1姓名:') 1339 electronic_signature = self.get_electronic_signature(top='共同承租人名称:', bottom='保证人1姓名:', t_pno='5')
1329 self.init_result['签字页-共同承租人姓名'] = name 1340 self.init_result['签字页-共同承租人姓名'] = name
1330 self.init_result['签字页-共同承租人签章'] = electronic_signature 1341 self.init_result['签字页-共同承租人签章'] = electronic_signature
1331 1342
1332 name = self.get_key_value(key='保证人1姓名:') 1343 name = self.get_key_value(key='保证人1姓名:')
1333 electronic_signature = self.get_electronic_signature(top='保证人1姓名:', bottom='保证人2姓名:') 1344 electronic_signature = self.get_electronic_signature(top='保证人1姓名:', bottom='保证人2姓名:', t_pno='5')
1334 self.init_result['签字页-保证人1姓名'] = name 1345 self.init_result['签字页-保证人1姓名'] = name
1335 self.init_result['签字页-保证人1签章'] = electronic_signature 1346 self.init_result['签字页-保证人1签章'] = electronic_signature
1336 1347
1337 name = self.get_key_value(key='保证人2姓名:') 1348 name = self.get_key_value(key='保证人2姓名:')
1338 electronic_signature = self.get_electronic_signature(top='保证人2姓名:', bottom='保证人3姓名:') 1349 electronic_signature = self.get_electronic_signature(top='保证人2姓名:', bottom='保证人3姓名:', t_pno='5')
1339 self.init_result['签字页-保证人2姓名'] = name 1350 self.init_result['签字页-保证人2姓名'] = name
1340 self.init_result['签字页-保证人2签章'] = electronic_signature 1351 self.init_result['签字页-保证人2签章'] = electronic_signature
1341 1352
...@@ -1404,12 +1415,12 @@ class Finder: ...@@ -1404,12 +1415,12 @@ class Finder:
1404 self.init_result_2['融资租赁期限'] = lease_term 1415 self.init_result_2['融资租赁期限'] = lease_term
1405 # 签字页抵押人姓名和签章 1416 # 签字页抵押人姓名和签章
1406 name = self.get_key_value(key='抵押人姓名:') 1417 name = self.get_key_value(key='抵押人姓名:')
1407 electronic_signature = self.get_electronic_signature(top='抵押权人盖章', bottom='抵押人配偶姓名:') 1418 electronic_signature = self.get_electronic_signature(top='抵押权人盖章', bottom='抵押人配偶姓名:', t_pno='1')
1408 self.init_result_2['签字页-抵押人姓名'] = name 1419 self.init_result_2['签字页-抵押人姓名'] = name
1409 self.init_result_2['签字页-抵押人签章'] = electronic_signature 1420 self.init_result_2['签字页-抵押人签章'] = electronic_signature
1410 # 签字页抵押人配偶姓名和签章 1421 # 签字页抵押人配偶姓名和签章
1411 name = self.get_key_value(key='抵押人配偶姓名:') 1422 name = self.get_key_value(key='抵押人配偶姓名:')
1412 electronic_signature = self.get_electronic_signature(top='抵押人配偶姓名:', bottom='日期') 1423 electronic_signature = self.get_electronic_signature(top='抵押人配偶姓名:', bottom='日期', t_pno='1')
1413 self.init_result_2['签字页-抵押人配偶姓名'] = name 1424 self.init_result_2['签字页-抵押人配偶姓名'] = name
1414 self.init_result_2['签字页-抵押人配偶签章'] = electronic_signature 1425 self.init_result_2['签字页-抵押人配偶签章'] = electronic_signature
1415 return self.init_result_2 1426 return self.init_result_2
...\ No newline at end of file ...\ No newline at end of file
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!