api-datamanager/Company/Ip/Software/SoftwareImpl.py

181 lines
6.1 KiB
Python
Raw Normal View History

2022-08-31 16:59:34 +08:00
from Company.Basic.Business.BusinessImpl import BusinessImpl
2022-09-01 16:28:59 +08:00
from Company.Ip.Patent.PatentObj import PatentObj
from Company.Ip.Software.SoftwareObj import SoftwareObj
2022-08-31 16:59:34 +08:00
from DBHelper.MongoHelperInstance import DB_TYC, DB_TEST
from Utils.CommonUtil import CommonUtils
2022-09-01 16:28:59 +08:00
class SoftwareImpl(object):
"""软件著作权"""
2022-08-31 16:59:34 +08:00
@staticmethod
def auto_update(**kwargs):
"""新增/更新(自动)"""
condition = kwargs['condition']
def save_data(**args):
"""查询保存数据"""
company_name = args['cname']
company_id = args['cid']
records = DB_TYC.find_all_data(
'知识产权',
2022-09-01 16:28:59 +08:00
'软件著作权',
2022-08-31 16:59:34 +08:00
{'企业名称': company_name},
2022-09-01 16:28:59 +08:00
['软件著作权']
2022-08-31 16:59:34 +08:00
)
if records:
list_data = list()
for record in records:
2022-09-01 16:28:59 +08:00
records_item = record['软件著作权']['result']
2022-08-31 16:59:34 +08:00
for record_item in records_item:
dict_data = dict()
dict_data['企业ID'] = company_id
2022-09-01 16:28:59 +08:00
dict_data['登记批准日期'] = CommonUtils.time_stamp(record_item['eventTime'])
dict_data['软件全称'] = record_item['fullname']
dict_data['软件简称'] = record_item['simplename']
dict_data['登记号'] = record_item['regnum']
dict_data['分类号'] = record_item['catnum']
dict_data['版本号'] = record_item['version']
dict_data['首次发表日期'] = CommonUtils.time_stamp(record_item['publishtime'])
2022-08-31 16:59:34 +08:00
dict_data['更新时间'] = CommonUtils.get_current_time()
list_data.append(dict_data)
return list_data
else:
return False
if len(condition['cid']):
cid = condition['cid']
cname = DB_TEST.find_single_column(
'WR_DataBase_v2_test',
'C3.1_工商信息',
{'企业ID': cid},
'企业名称'
)
update = save_data(cname=cname, cid=cid)
if update:
for item in update:
DB_TEST.update_single_data(
"WR_DataBase_v2_test",
2022-09-01 16:28:59 +08:00
"C5.3_软件著作权",
{"企业ID": cid, "登记号": item['登记号']},
2022-08-31 16:59:34 +08:00
item
)
return 'success'
else:
return 'update failed'
elif len(condition['cname']):
cname = condition['cname']
cid = DB_TEST.find_single_column(
'WR_DataBase_v2_test',
'C3.1_工商信息',
{'企业名称': cname},
'企业ID'
)
if not cid:
cid = BusinessImpl.auto_update(condition={"cname": cname, "cid": ""})
insert = save_data(cname=cname, cid=cid)
if insert:
for item in insert:
DB_TEST.upsert_single_data(
"WR_DataBase_v2_test",
2022-09-01 16:28:59 +08:00
"C5.3_软件著作权",
{"企业ID": cid, "登记号": item['登记号']},
2022-08-31 16:59:34 +08:00
item
)
return 'success'
else:
return 'new failed'
else:
return 'parameter exception'
@staticmethod
def delete(**kwargs):
"""删除"""
param = kwargs['param']
cid = param['cid']
registration_id = param['registration_id']
res = DB_TEST.delete_single_data(
"WR_DataBase_v2_test",
2022-09-01 16:28:59 +08:00
"C5.3_软件著作权",
{"企业ID": cid, "登记号": registration_id}
2022-08-31 16:59:34 +08:00
)
if res:
result = {
"info": "success",
}
else:
result = {
"info": "no result"
}
return result
@staticmethod
def edit(**kwargs):
"""编辑"""
param = kwargs['param']
cid = param['cid']
registration_id = param['registration_id']
body = param['body']
try:
2022-09-01 16:28:59 +08:00
software = SoftwareObj()
software.approval_date = body['登记批准日期']
software.full_name = body['软件全称']
software.abbreviation = body['软件简称']
software.classify_id = body['分类号']
software.version = body['版本号']
software.first_publish_date = body['首次发表日期']
software.update_time = CommonUtils.get_current_time()
update_data = software.fields_toggle()
2022-08-31 16:59:34 +08:00
DB_TEST.update_single_data(
"WR_DataBase_v2_test",
2022-09-01 16:28:59 +08:00
"C5.3_软件著作权",
{"企业ID": cid, "登记号": registration_id},
2022-08-31 16:59:34 +08:00
update_data
)
return 'success'
except Exception:
return 'edit failed'
@staticmethod
def view(**kwargs):
"""查看"""
query = kwargs['query']
cid = query['cid']
page_num = int(query['page_num'])
page_size = int(query['page_size'])
page_size = 10 if page_size > 10 else page_size
total = DB_TEST.find_all_data_with_count(
'WR_DataBase_v2_test',
2022-09-01 16:28:59 +08:00
'C5.3_软件著作权',
2022-08-31 16:59:34 +08:00
{"企业ID": cid}
)
record = DB_TEST.find_data_by_page_with_sort(
"WR_DataBase_v2_test",
2022-09-01 16:28:59 +08:00
"C5.3_软件著作权",
2022-08-31 16:59:34 +08:00
{"企业ID": cid},
[],
{'_id': 1},
page_size,
page_num
)
if record:
2022-09-01 16:28:59 +08:00
update_time = record[-1]['更新时间']
2022-08-31 16:59:34 +08:00
result = {
"info": "success",
2022-09-01 16:28:59 +08:00
"result": {
"total": total,
"update_time": update_time,
"records": record
}
2022-08-31 16:59:34 +08:00
}
else:
result = {
"info": "no result"
}
return result