def POST(self): web.header("Content-Type", "application/json") param = web.input(note_code='', version='') #print param if param.note_code=='': return json.dumps({'ret':-4, 'msg':'无效的note_code'}) # 先指定版本查找,未找到则不指定版本,只按索引号找 2019-02-02 r2 = db.notes.find_one({'note_code':param['note_code'].upper(), 'version' : param['version']}) # 索引编码大写, if r2 is None: print 'NOT FOUND NOTE with version' r2 = db.notes.find_one({'note_code':param['note_code'].upper()}) # 索引编码大写 if r2 is None: print 'NOT FOUND NOTE' return json.dumps({'ret':-5, 'msg':'未找到注释内容!'}) app_helper.log_app_api('external', 'node_note', param) ret_data = { 'note' : r2['note_content'], } return json.dumps({'ret':0,'data':ret_data})
def POST(self): web.header("Content-Type", "application/json") param = web.input(node_id='', include_me='0') # include_me == 1 同时返回当前节点数据 #print param if param.node_id == '': return json.dumps({'ret': -4, 'msg': '无效的node_id'}) real_node_id = param[ 'node_id'] #app_helper.realid(param['node_id']) # 恢复原始id if real_node_id is None: return json.dumps({'ret': -4, 'msg': '无效的node_id'}) ret_data = [] child_data = find_child(ObjectId(real_node_id), param.include_me) for i in child_data: ret_data.append({ 'gid': str(i['_id']), #app_helper.randomid(i['_id']), 'text': i['text'], 'class': i.get('node_prop', ''), # 节点属性 2018-08-14 }) app_helper.log_app_api('external', 'next_node', param) print ret_data return json.dumps({'ret': 0, 'data': ret_data})
def POST(self): web.header('Content-Type', 'application/json') param=web.input(page_id_or_code='') #print param if param['page_id_or_code']=='': return json.dumps({'ret' : -4, 'msg' : '无效的page_id_or_code'}) if len(param['page_id_or_code'])<20: # _id长度为24 r1 = db.pages.find_one({ 'page_code' : param['page_id_or_code'].upper(), #'page_type' : 0, 'available' : 1 }, { 'history' : 0 }) if r1 is None: r1 = db.pages.find_one({ 'page_code' : param['page_id_or_code'].upper()+'#1', # 加 '#1' 再试一次 #'page_type' : 0, 'available' : 1 }, { 'history' : 0 }) if r1 is None: return json.dumps({'ret' : -7, 'msg' : '页面不可用!'}) else: real_page_id = app_helper.realid(param['page_id_or_code']) # 恢复原始id if real_page_id is None: return json.dumps({'ret' : -4, 'msg' : '无效的page_id'}) r1 = db.pages.find_one({'_id': ObjectId(real_page_id)},{ 'history' : 0 }) if r1 is None: return json.dumps({'ret' : -7, 'msg' : '页面不可用!'}) r1['_id'] = str(r1['_id']) if not r1.has_key('start_node'): return json.dumps({'ret' : -5, 'msg' : '页面类型错误!'}) r2 = db.nodes.find_one({'_id':ObjectId(r1['start_node'])}) if r2 is None: return json.dumps({'ret' : -6, 'msg' : '页面数据错误!'}) if len(r2.get('child',[]))>0: r1['type'] = 'map' # 显示规则树 else: r1['type'] = 'text' # 显示纯文本 app_helper.log_app_api('external', 'document', param) # 返回 return json.dumps({'ret' : 0, 'data' : { 'gid' : app_helper.randomid(r1['_id']), 'type' : r1['type'], 'title' : r1['page_name'], 'page_code' : r1['page_code'], 'start_node' : app_helper.randomid(r1['start_node']), 'text' : r1['rich_text'], } })
def POST(self): web.header('Content-Type', 'application/json') param = web.input(parent_id='') #print param data = [] last_dir_id = '' last_dir_name = '' if param['parent_id']!='': # 准备显示目录页 # 子目录 real_parent_id = app_helper.realid(param.parent_id) # 恢复原始id if real_parent_id is None: return json.dumps({'ret' : -4, 'msg' : '无效的parent_id'}) db_obj=db.pages.find_one({'_id':ObjectId(real_parent_id)}) if db_obj: if db_obj['page_type']!=1: return json.dumps({'ret' : -5, 'msg' : '页面类型错误'}) last_dir_id = str(db_obj['parent_id']) last_dir_name = db_obj['dir_name'] data = get_list(real_parent_id, True) else: # 根目录 data = get_list(param['parent_id'], False) ret_data = [] for i in data: ret_data.append({ 'gid' : app_helper.randomid(i['_id']), #'parent_id' : app_helper.randomid(i['parent_id']) if i['parent_id']!='' else '', 'type' : i['page_type'], # 0 页面 1 目录 2 连接 'title' : i['dir_name'] if i['page_type']==1 else i['page_name'], 'version' : i['version'] if i.has_key('version') else i['dir_note'], #'start_node': app_helper.randomid(i['start_node']) if i['page_type']!=1 else '', 'page_code' : i.get('page_code', '') if i['page_type']!=1 else '', # type==2 时没有 page_code }) app_helper.log_app_api('external', 'category', param) # 返回 return json.dumps({'ret' : 0, 'data' : ret_data })
def POST(self): web.header('Content-Type', 'application/json') param = web.input(cate_id='') #print param if param.cate_id == '': # 根目录 data = get_list() else: data = get_list2(param.cate_id) app_helper.log_app_api('external', 'tnm_category', param) #print data # 返回 return json.dumps({ 'ret': 0, 'data': { 'data': data, } })
def POST(self): web.header('Content-Type', 'application/json') param = web.input(page_id='', only_one='') #print param if param['page_id'] == '': return json.dumps({'ret': -4, 'msg': '参数错误'}) #r1 = db.tnm.find_one({'_id': ObjectId(app_helper.realid(param['page_id']))},{ 'history' : 0 }) r1 = db.tnm.find_one({'_id': ObjectId(param['page_id'])}, {'history': 0}) if r1 is None: return json.dumps({'ret': -5, 'msg': '分期不存在'}) r1['_id'] = str(r1['_id']) ret_data = ret_count = None # 如果only_one==1,直接返回此页面内容,否则检查是否有同名病种,生成多个入口 if param.only_one == '1': # 返回 ret_data = r1 ret_count = 1 else: r2 = db.tnm.find( { 'available': 1, 'tnm_name': r1['tnm_name'], #'version' : r1['version'], }, { 'tnm_name': 1, 'tnm_subname1': 1, 'tnm_subname2': 1, 'use_at': 1, 'version': 1, }, sort=[('weight', 1)]) if r2.count() == 1: # 只有一个病种 # 返回 ret_data = r1 ret_count = 1 else: ret_data = [] for x in r2: ret_data.append({ 'gid': str(x['_id']), #app_helper.randomid(x['_id']), 'name': x['tnm_name'], 'subname1': x['tnm_subname1'], 'subname2': x['tnm_subname2'], 'use_at': x['use_at'], 'version': x['version'], }) # 返回 多个入口 ret_count = r2.count() if ret_count == 1: x = ret_data # 清理tnm因素数据 for i in x['tnm'].keys(): if len(x['tnm'][i]) == 0: #print 'tnm pop: ', i x['tnm'].pop(i, None) else: for j in x['tnm'][i]: j['code'] = ''.join(j['code']) # 清理分期数据 for i in x['stage']: for j in TNM_NAME: if i.has_key(j) and len(i[j]['val']) == 0: #print 'stage pop: ', j i.pop(j, None) elif i.has_key(j) and i[j]['rule'].lower( ) != 'any': # 旧数据会有and, 都替换为 or i[j]['rule'] = 'or' i.pop('desc', None) # 不返回desc说明信息 ret_data = { 'gid': str(x['_id']), #app_helper.randomid(x['_id']), 'name': x['tnm_name'], 'subname1': x['tnm_subname1'], 'subname2': x['tnm_subname2'], 'version': x['version'], 'use_at': x['use_at'], 'facts': x['tnm'], # 影响因素 'stages': x['stage'], # tnm分期 } app_helper.log_app_api('external', 'tnm_page', param) #print ret_data print ret_count return json.dumps({ 'ret': 0, 'data': { 'page_data': ret_data, 'only_one': ret_count, } })