fix HIL clzlht
Showing
1 changed file
with
29 additions
and
18 deletions
... | @@ -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 | ... | ... |
-
Please register or sign in to post a comment