b331bf72 by chenyao

添加income_keywords的处理

1 parent 6ddd3df7
...@@ -177,7 +177,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -177,7 +177,7 @@ class Command(BaseCommand, LoggerMixin):
177 # raise EDMSException(edms_exc) 177 # raise EDMSException(edms_exc)
178 # self.online_log.info('{0} [edms download success] [pdf_path={1}]'.format(self.log_base, pdf_path)) 178 # self.online_log.info('{0} [edms download success] [pdf_path={1}]'.format(self.log_base, pdf_path))
179 179
180 def bs_process(self, wb, ocr_data, bs_summary, unknown_summary, classify, res_list, pno, ino, part_idx): 180 def bs_process(self, wb, ocr_data, bs_summary, unknown_summary, classify, res_list, pno, ino, part_idx, income_keywords_dictionary):
181 sheets = ocr_data.get('data', []) 181 sheets = ocr_data.get('data', [])
182 if not sheets: 182 if not sheets:
183 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY)) 183 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY))
...@@ -196,6 +196,10 @@ class Command(BaseCommand, LoggerMixin): ...@@ -196,6 +196,10 @@ class Command(BaseCommand, LoggerMixin):
196 c1 = cell.get('start_column') 196 c1 = cell.get('start_column')
197 r1 = cell.get('start_row') 197 r1 = cell.get('start_row')
198 words = cell.get('words') 198 words = cell.get('words')
199 if words is not None:
200 if words in consts.INCOME_KEYWORDS_LIST:
201 if consts.INCOME_KEYWORDS_DICT.get(words) not in income_keywords_dictionary["income_keywords"]:
202 income_keywords_dictionary["income_keywords"].append(consts.INCOME_KEYWORDS_DICT.setdefault(words, ""))
199 ws.cell(row=r1 + 1, column=c1 + 1, value=words) 203 ws.cell(row=r1 + 1, column=c1 + 1, value=words)
200 204
201 # 真伪 205 # 真伪
...@@ -921,7 +925,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -921,7 +925,7 @@ class Command(BaseCommand, LoggerMixin):
921 summary['role'] = self.get_most(summary['role']) 925 summary['role'] = self.get_most(summary['role'])
922 return bs_summary 926 return bs_summary
923 927
924 def rebuild_bs(self, bs_summary): 928 def rebuild_bs(self, bs_summary, income_keywords_dictionary):
925 # bs_summary = { 929 # bs_summary = {
926 # '卡号': { 930 # '卡号': {
927 # 'classify': 0, 931 # 'classify': 0,
...@@ -935,7 +939,23 @@ class Command(BaseCommand, LoggerMixin): ...@@ -935,7 +939,23 @@ class Command(BaseCommand, LoggerMixin):
935 # 'sheet': ['sheet_name'] 939 # 'sheet': ['sheet_name']
936 # } 940 # }
937 # } 941 # }
942
943 # income_keywords_dictionary = {
944 # 'income_keywords': [ # 其中 0-8 个
945 # 'yanglaojin',
946 # "shebao",
947 # "daifagongzi",
948 # "gongziruzhang",
949 # "jiangjin",
950 # "yanglaobaoxian",
951 # "daifa",
952 # "gongzi"
953 # ]
954 # }
938 res = [] 955 res = []
956 income_keywords_list = income_keywords_dictionary.get('income_keywords', [])
957 income_filtered_keywords = [keyword_str for keyword_str in income_keywords_list if keyword_str]
958 income_keywords_str = ",".join(income_filtered_keywords)
939 for bs_info in bs_summary.values(): 959 for bs_info in bs_summary.values():
940 try: 960 try:
941 print_date = bs_info.get('print_time', '').strftime("%Y-%m-%d") 961 print_date = bs_info.get('print_time', '').strftime("%Y-%m-%d")
...@@ -951,7 +971,8 @@ class Command(BaseCommand, LoggerMixin): ...@@ -951,7 +971,8 @@ class Command(BaseCommand, LoggerMixin):
951 'print_time': print_date, 971 'print_time': print_date,
952 'timedelta': bs_info.get('timedelta', ''), 972 'timedelta': bs_info.get('timedelta', ''),
953 'verify': bs_info.get('verify_res_ebank', True), 973 'verify': bs_info.get('verify_res_ebank', True),
954 'e_bank': bs_info.get('e_bank', False) 974 'e_bank': bs_info.get('e_bank', False),
975 'income_keywords': income_keywords_str
955 } 976 }
956 ) 977 )
957 return res 978 return res
...@@ -1742,6 +1763,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -1742,6 +1763,7 @@ class Command(BaseCommand, LoggerMixin):
1742 license_summary = {} 1763 license_summary = {}
1743 contract_result = {} 1764 contract_result = {}
1744 contract_result_compare = {} 1765 contract_result_compare = {}
1766 income_keywords_dictionary = {"income_keywords": []}
1745 # 添加财报三个报表的处理 1767 # 添加财报三个报表的处理
1746 financial_statement_dict = {} 1768 financial_statement_dict = {}
1747 # 添加财报情况说明的处理 1769 # 添加财报情况说明的处理
...@@ -1939,7 +1961,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -1939,7 +1961,7 @@ class Command(BaseCommand, LoggerMixin):
1939 ino, part_idx, img_path, contract_result_compare) 1961 ino, part_idx, img_path, contract_result_compare)
1940 else: # 流水处理 1962 else: # 流水处理
1941 bs_classify_set.add(classify) 1963 bs_classify_set.add(classify)
1942 self.bs_process(wb, ocr_data, bs_summary, unknown_summary, classify, res_list, pno, ino, part_idx) 1964 self.bs_process(wb, ocr_data, bs_summary, unknown_summary, classify, res_list, pno, ino, part_idx, income_keywords_dictionary)
1943 else: 1965 else:
1944 res_list.append((pno, ino, part_idx, consts.RES_FAILED_1)) 1966 res_list.append((pno, ino, part_idx, consts.RES_FAILED_1))
1945 self.online_log.info('{0} [ocr_1 res error] [img={1}]'.format(self.log_base, img_path)) 1967 self.online_log.info('{0} [ocr_1 res error] [img={1}]'.format(self.log_base, img_path))
...@@ -2095,7 +2117,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -2095,7 +2117,7 @@ class Command(BaseCommand, LoggerMixin):
2095 license_summary, contract_result_compare)) 2117 license_summary, contract_result_compare))
2096 self.rebuild_contract(license_summary, contract_result_compare) 2118 self.rebuild_contract(license_summary, contract_result_compare)
2097 2119
2098 bs_rebuild = self.rebuild_bs(merged_bs_summary) 2120 bs_rebuild = self.rebuild_bs(merged_bs_summary, income_keywords_dictionary)
2099 if len(bs_rebuild) > 0: 2121 if len(bs_rebuild) > 0:
2100 license_summary[consts.BS_CLASSIFY] = bs_rebuild 2122 license_summary[consts.BS_CLASSIFY] = bs_rebuild
2101 2123
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!