api-datamanager/Company/Supervision/SupervisionImpl.py

251 lines
8.1 KiB
Python
Raw Normal View History

2022-08-25 17:16:59 +08:00
from DBHelper.MongoHelperInstance import DB_TYC, DB_TEST
from Company.CompanyUtils import CompanyUtils
from Utils.CommonUtil import CommonUtils
class SupervisionImpl(object):
"""监管风险"""
@staticmethod
def basic_information(**kwargs):
"""工商信息"""
name = kwargs['name']
cid = CompanyUtils.make_new_cid()
record = DB_TYC.find_single_data(
'公司背景',
'基本信息',
{'企业名称': name},
['基本信息']
)
record = record['基本信息']
data = dict()
data['企业ID'] = cid
data['企业名称'] = name
data['企业类型'] = record['companyOrgType']
data['经营状态'] = record['regStatus']
data['法定代表人'] = record['legalPersonName']
data['注册资本'] = record['regCapital']
data['实缴资本'] = record['actualCapital']
data['经营范围'] = record['businessScope']
data['社会统一信用代码'] = record['creditCode']
data['成立日期'] = CommonUtils.time_stamp(record['estiblishTime'])
data['注册地址'] = record['regLocation']
data['登记机关'] = record['regInstitute']
data['核准日期'] = CommonUtils.time_stamp(record['approvedTime'])
data['更新时间'] = CommonUtils.get_current_time()
DB_TEST.upsert_single_data(
"WR_DataBase_v2_test",
"C3.1_工商信息",
{"企业名称": name},
data
)
return '导入成功'
@staticmethod
def common_view_method(**kwargs):
"""查看接口(通用)"""
search = kwargs['search']
cid = search['cid']
sheet = kwargs['sheet']
page_no = int(search['page_no'])
page_size = int(search['page_size'])
page_size = 10 if page_size > 10 else page_size
total = DB_TEST.find_all_data_with_count(
'WR_DataBase_v2_test',
sheet,
{"企业ID": cid}
)
record = DB_TEST.find_data_by_page_with_sort(
"WR_DataBase_v2_test",
sheet,
{"企业ID": cid},
[],
{'_id': 1},
page_size,
page_no
)
result = {
"total": total,
"records": record
}
return result
def get_cid(self, **kwargs):
"""查询工商信息中的企业ID"""
name = kwargs['name']
cid = DB_TEST.find_single_column(
"WR_DataBase_v2_test",
"C3.1_工商信息",
{"企业名称": name},
'企业ID'
)
if not cid:
self.basic_information(name=name)
cid = DB_TEST.find_single_column(
"WR_DataBase_v2_test",
"C3.1_工商信息",
{"企业名称": name},
'企业ID'
)
return cid
def abnormal_operation(self, **kwargs):
"""经营异常"""
name = kwargs['name']
cid = self.get_cid(name=name)
records = DB_TYC.find_single_column(
'经营风险',
'经营异常',
{'企业名称': name},
'经营异常'
)
records = records['result']
if records:
for record in records:
dict_data = dict()
dict_data['企业ID'] = cid
dict_data['日期'] = record['putDate']
dict_data['机关'] = record['putDepartment']
dict_data['列入经营异常名录原因'] = record['putReason']
dict_data['更新时间'] = CommonUtils.get_current_time()
DB_TEST.insert_single_data(
"WR_DataBase_v2_test",
"C11.1_经营异常",
dict_data
)
return '导入成功'
def administrative_penalties(self, **kwargs):
"""行政处罚"""
name = kwargs['name']
cid = self.get_cid(name=name)
records = DB_TYC.find_single_column(
'经营风险',
'行政处罚',
{'企业名称': name},
'行政处罚'
)
records = records['result']
if records:
for record in records:
dict_data = dict()
dict_data['企业ID'] = cid
dict_data['处罚日期'] = record['decisionDate']
dict_data['处罚类型'] = record['type']
dict_data['决定书文号'] = record['punishNumber']
dict_data['处罚事由'] = record['reason']
dict_data['处罚结果'] = record['content']
dict_data['处罚金额(元)'] = record['content']
dict_data['处罚单位'] = record['departmentName']
dict_data['数据来源'] = record['source']
dict_data['更新时间'] = CommonUtils.get_current_time()
DB_TEST.insert_single_data(
"WR_DataBase_v2_test",
"C11.2_行政处罚",
dict_data
)
return '导入成功'
def serious_violation(self, **kwargs):
"""严重违法"""
name = kwargs['name']
cid = self.get_cid(name=name)
records = DB_TYC.find_single_column(
'经营风险',
'严重违法',
{'企业名称': name},
'严重违法'
)
records = records['result']
if records:
for record in records:
dict_data = dict()
dict_data['企业ID'] = cid
dict_data['列入日期'] = record['putDate']
dict_data['列入决定机关'] = record['putDepartment']
dict_data['列入原因'] = record['putReason']
dict_data['更新时间'] = CommonUtils.get_current_time()
DB_TEST.insert_single_data(
"WR_DataBase_v2_test",
"C11.3_严重违法",
dict_data
)
return '导入成功'
def tax_violation(self, **kwargs):
"""税收违法"""
name = kwargs['name']
cid = self.get_cid(name=name)
records = DB_TYC.find_single_column(
'经营风险',
'税收违法',
{'企业名称': name},
'税收违法'
)
records = records['result']
if records:
for record in records:
dict_data = dict()
dict_data['企业ID'] = cid
dict_data['发布日期'] = record['publish_time']
dict_data['税务机关'] = record['department']
dict_data['案件性质'] = record['case_type']
dict_data['违法事实'] = None
dict_data['处罚情况'] = None
dict_data['更新时间'] = CommonUtils.get_current_time()
DB_TEST.insert_single_data(
"WR_DataBase_v2_test",
"C11.4_税收违法",
dict_data
)
return '导入成功'
def tax_arrears_announcement(self, **kwargs):
"""欠税公告"""
name = kwargs['name']
cid = self.get_cid(name=name)
records = DB_TYC.find_single_column(
'经营风险',
'欠税公告',
{'企业名称': name},
'欠税公告'
)
records = records['result']
if records:
for record in records:
dict_data = dict()
dict_data['企业ID'] = cid
dict_data['欠税税种'] = record['taxCategory']
dict_data['欠税余额'] = record['ownTaxBalance']
dict_data['发布单位'] = record['department']
dict_data['发布日期'] = record['publishDate']
dict_data['更新时间'] = CommonUtils.get_current_time()
DB_TEST.insert_single_data(
"WR_DataBase_v2_test",
"C11.6_欠税公告",
dict_data
)
return '导入成功'