patient.repo.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * 微信用户库,即患者数据库。
  3. *
  4. * 目前,患者真实数据存在于家庭医生平台数据库,IM数据库仅是做视图。将来根据需要将通过同步机制将数据同步到IM数据库。
  5. *
  6. * author: Sand
  7. * since: 2016/11/18
  8. */
  9. "use strict";
  10. let ImDb = require('./db/im.db');
  11. class PatientRepo {
  12. constructor() {
  13. }
  14. static findOne(patientId, handler){
  15. ImDb.execQuery({
  16. "sql": "SELECT ID, NAME, SEX, BIRTHDATE, AVATAR, OPENID, IDCARD,MOBILE FROM PATIENTS WHERE ID = ? ",
  17. "args": [patientId],
  18. "handler": handler
  19. });
  20. }
  21. static findWechatOpenId(code, handler) {
  22. var sql = "SELECT OPENID FROM PATIENTS WHERE ID = ? ";
  23. ImDb.execQuery({
  24. "sql": sql,
  25. "args": [code],
  26. "handler": handler
  27. });
  28. }
  29. /**
  30. * 查找自己和家人的openid
  31. * @param code
  32. * @param handler
  33. */
  34. static findWechatOpenIds(code, handler){
  35. var sql = "SELECT M.FAMILY_MEMBER CODE,P.NAME,P.OPENID FROM WLYY.WLYY_PATIENT P,WLYY.WLYY_PATIENT_FAMILY_MEMBER M" +
  36. " WHERE M.PATIENT = ? AND M.FAMILY_MEMBER=P.CODE AND P.OPENID IS NOT NULL AND M.IS_AUTHORIZE = 1 " +
  37. " UNION ALL" +
  38. " SELECT P.CODE,P.NAME,P.OPENID FROM WLYY.WLYY_PATIENT P WHERE P.CODE = ?";
  39. ImDb.execQuery({
  40. "sql": sql,
  41. "args": [code,code],
  42. "handler": handler
  43. });
  44. }
  45. // TODO: 不能直接访问三师库
  46. static getPatientDoctorConsult(patient, doctor, handler) {
  47. var sql = "SELECT * FROM WLYY_CONSULT_TEAM WHERE PATIENT = ? AND DOCTOR = ? AND STATUS = 0 AND DEL = '1' ";
  48. ImDb.execQuery({
  49. "sql": sql,
  50. "args": [patient, doctor],
  51. "handler": handler
  52. });
  53. };
  54. }
  55. module.exports = PatientRepo;