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 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;