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
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": 是否临期
|
|
# }
|