/** * 微信用户库,即患者数据库。 * * 目前,患者真实数据存在于家庭医生平台数据库,IM数据库仅是做视图。将来根据需要将通过同步机制将数据同步到IM数据库。 * * author: Sand * since: 2016/11/18 */ "use strict"; let ImDb = require('./db/im.db'); let oracledbUtil = require('../../util/oracledb.util'); class PatientRepo { constructor() { } static findOne(patientId, handler){ oracledbUtil.quer({ "sql": "SELECT \"ID\" AS \"id\",\"NAME\" AS \"name\",\"SEX\" AS \"sex\",\"BIRTHDATE\" AS \"birthdate\",\"AVATAR\" AS \"avatar\",\"OPENID\" AS \"openid\",\"IDCARD\" AS \"idcard\",\"MOBILE\" AS \"mobile\" FROM PATIENTS WHERE ID = ? ", "args": [patientId], "handler": handler }); } static findWechatOpenId(code, handler) { var sql = "SELECT \"OPENID\" as \"openid\" FROM PATIENTS WHERE ID = :ID "; ImDb.execQuery({ "sql": sql, "args": [code], "handler": handler }); } /** * 查找自己和家人的openid * @param code * @param handler */ static findWechatOpenIds(code, handler){ var sql = "SELECT M.FAMILY_MEMBER CODE,P.NAME,P.OPENID FROM WLYY.WLYY_PATIENT P,WLYY.WLYY_PATIENT_FAMILY_MEMBER M" + " WHERE M.PATIENT = :PATIENT AND M.FAMILY_MEMBER=P.CODE AND P.OPENID IS NOT NULL AND M.IS_AUTHORIZE = 1 " + " UNION ALL" + " SELECT P.CODE,P.NAME,P.OPENID FROM WLYY.WLYY_PATIENT P WHERE P.CODE = :CODE"; ImDb.execQuery({ "sql": sql, "args": [code,code], "handler": handler }); } // TODO: 不能直接访问三师库 static getPatientDoctorConsult(patient, doctor, handler) { var sql = "SELECT * FROM WLYY_CONSULT_TEAM WHERE PATIENT = ? AND DOCTOR = ? AND STATUS = 0 AND DEL = '1' "; ImDb.execQuery({ "sql": sql, "args": [patient, doctor], "handler": handler }); }; } module.exports = PatientRepo;