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