You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

191 lines
6.8 KiB

import json
def convert_to_json(rms_medicament):
class RecordConverter:
@staticmethod
def convert(record):
log = {}
log['id'] = record['record_id']
log['state'] = {
1: 0,
2: 2,
3: 1
}.get(record['record_type'], None)
log['user_id'] = record['create_user_id']
log['peer_ids'] = None
log['users'] = record['create_user_name']
log['terminal_id'] = record['client_id']
log['cabinet_id'] = None # 请根据实际情况填写
log['drawer_id'] = None # 请根据实际情况填写
log['drawer_board_id'] = None # 请根据实际情况填写
log['hole'] = None # 请根据实际情况填写
log['position'] = None # 请根据实际情况填写
log['weight'] = None # 请根据实际情况填写
log['use_weight'] = int(record['use_quantity'] * 1000)
log['alerted'] = None # 请根据实际情况填写
log['alarm_state'] = None # 请根据实际情况填写
log['alarm_desc'] = None # 请根据实际情况填写
log['return_log_id'] = None # 请根据实际情况填写
log['created_at'] = record['create_date']
log['updated_at'] = None # 请根据实际情况填写
log['drug_id'] = record['medicament_id']
return log
class DictionariesConverter:
@staticmethod
def convert(record):
log = {}
log['id'] = record['variety_id']
log['archive_id'] = None
log['k1'] = record['name']
log['k2'] = record['purity']
log['k3'] = None # 请根据实际情况填写
log['k4'] = None # 请根据实际情况填写
log['k5'] = None # 请根据实际情况填写
log['k6'] = None # 请根据实际情况填写
# `use_days_warning_value` int(11) DEFAULT NULL COMMENT '领用超期预警天数',
log['params'] = {"lack_stock_count":record['inventory_warning_value'],"expiration_alert":record['shelf_life_warning_value']} # 请根据实际情况填写
log['use_count'] = record['use_count'] # 请根据实际情况填写
log['storage_count'] = record['normal_count']
log['created_at'] = record['create_date']
log['updated_at'] = None # 请根据实际情况填写
return log
class DictionariesConverter:
@staticmethod
def convert(record):
log = {}
log['id']= record['medicament_id'],
log['rfid']= record['bar_code']
log['barcode']= record['bar_code']
log['state']= record['status']
log['hole']= int(str(record['cell_position_code']).split("_")[0]) * int(str(record['cell_position_code']).split("_")[1]) #位置
log['position']= record['place'] #位置描述
log['remain_gross_weight']= record['remain'] #试剂余量(mg)
log['last_use_weight']= None #最后使用重量
log['fill_json_content']= record[''] #扩展字段
log['last_return_odd']= None #归还是否异常
log['bind_at']= None #绑定时间
log['storage_at']= record['put_in_date'] #入库时间
log['last_receive_at']= record['by_user_date'] #最后领用时间
log['last_return_at']= None #最后归还时间
log['expired_at']= record['expiration_date'] #过期时间
log['open_date']= None #开封日期
log['files']= None
log['created_at']= None#创建时间
log['updated_at']= None#更新时间
log['bind_id']= record['put_in_user_id'] #绑定人
log['board_id']= None #定位板规格ID
log['cabinet_id']= record['client_id'] #所属柜体
log['dictionary_id']= record['variety_id'] #药剂类型ID
log['drawer_id']= record['client_code'] #抽屉ID
log['drawer_board_id']=None #所属柜体
log['last_receive_id']= record['by_user_id'] #最后领用人
log['last_return_id']= record['by_user_id'] #最后归还人
log['storage_id']= record['put_in_user_id'] #入库用户ID,
log['template_id']= None #所属模版
log['total_use_weight']= record[''] #总用量(mg)
log['near']= None #是否临期
return log
result = {}
for key, value in rms_medicament.items():
if key in mapping:
new_key = mapping[key]
result[new_key] = value
return json.dumps(result)
# mapping = {
# "bh": "id",
# "k1": "name",
# "k2": "specification",
# "lb": "category",
# "cs": "company",
# "k3": "purity",
# "import_count": "inventoryQuantity",
# "ndddw": "unit",
# "shelf_life": "qualityPeriod",
# "cctj": "storageMethod",
# "bz": "remark",
# "produce_date": "productionDate",
# "expire_date": "expirationDate",
# "unseal_shelf_life": "unsealQualityPeriod",
# "gross_weight": "grossWeight",
# "net_weight": "netWeight",
# "barcode": "barcode",
# "ph": "batchNumber",
# "wg": "visualAppearance",
# "density": "density",
# "bqdd": "uncertainly",
# "ysjg": "inspectionResults",
# "sybm": "department",
# "zdjg": "focusSupervise",
# "rksj": "warehouseTime"
# }
# mapping = {
# "id": 主键ID
# "rfid": "bar_code"
# "barcode": "bar_code"
# "state": "status"
# "hole": 芯片序号
# "position": "place"
# "remain_gross_weight": "remain"
# "last_use_weight": 最后使用重量
#
# "last_return_odd": 归还是否异常
# "bind_at": 绑定时间
# "storage_at": "put_in_date"
# "last_receive_at": "by_user_date"
# "last_return_at": 最后归还时间
# "expired_at": "expiration_date"
# "open_date": 开封日期
# "files": 文件
# "created_at": 创建时间
# "updated_at": 更新时间
# "bind_id": 绑定人
# "board_id": 定位板规格ID
# "cabinet_id": "client_id所属柜体"
# "dictionary_id": 字典ID
# "drawer_id": 抽屉ID
# "drawer_board_id": 抽屉所属柜体
# "last_receive_id": 最后领用人ID
# "last_return_id": 最后归还人ID
# "storage_id": 入库人ID
# "template_id": 所属模板ID
# "total_use_weight": 总用量(mg)
# "near": 是否临期
# }