12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- /**
- * 群组模型。此数据来源于家庭医生平台数据库的行政团队。
- *
- * 实际团队数据分为两部分:行政团队与临时讨论组,具体的与业务相关。医生在讨论组里,
- * 会出现两种:在行政团队内聊天,也可以在临时讨论组里聊天。
- */
- "use strict";
- var wlyyRepo = require("./database/wlyy.db.js");
- var GROUP_TYPE = require('../include/commons').GROUP_TYPE;
- /**
- * 判断是否为团队成员。
- *
- * @param groupId
- * @param groupType
- * @param doctorId
- * @param handler
- */
- exports.isGroupMember = function (groupId, groupType, doctorId, handler) {
- if (groupType == GROUP_TYPE.AdminTeam) {
- wlyyRepo.execQuery({
- "sql": "SELECT doctor_code user_id from wlyy_admin_team_member WHERE team_id=? and doctor_code=?",
- "args": [groupId, doctorId],
- "handler": handler
- });
- } else {
- wlyyRepo.execQuery({
- "sql": "SELECT member_code user_id from wlyy_talk_group_member WHERE group_code=? and member_code=?",
- "args": [groupId, doctorId],
- "handler": handler
- });
- }
- };
- /**
- * 获取团队成员。
- *
- * @param groupId
- * @param groupType
- * @param handler
- */
- exports.getMembers = function (groupId, groupType, handler) {
- if (groupType == GROUP_TYPE.AdminTeam) {
- wlyyRepo.execQuery({
- "sql": "SELECT doctor_code user_id from wlyy_admin_team_member WHERE team_id=? AND available = 1",
- "args": [groupId],
- "handler": handler
- });
- } else {
- wlyyRepo.execQuery({
- "sql": "SELECT member_code user_id from wlyy_talk_group_member WHERE group_code=?",
- "args": [groupId],
- "handler": handler
- });
- }
- };
- exports.getMembersAvatar = function (groups, handler) {
- /*var sql = "SELECT m.member_code g_code, COUNT(m.member_code) member_count, d.code dr_code, d.name dr_name, d.photo dr_photo " +
- "FROM wlyy.wlyy_talk_group_member m, wlyy.wlyy_doctor d " +
- "WHERE m.member_code = d.code AND m.group_code IN (" + groups + ") " +
- "UNION " +
- "SELECT m.team_id g_code, COUNT(m.team_id) member_count, d.code dr_code, d.name dr_name, d.photo dr_photo " +
- "FROM wlyy.wlyy_admin_team_member m, wlyy.wlyy_doctor d " +
- "WHERE m.doctor_code = d.code AND m.team_id IN (" + groups + ") GROUP BY m.team_id";*/
- var sql = "SELECT * FROM(" +
- "SELECT m.group_code g_code, d.code code, d.name name, d.photo photo, 'doctor' type FROM " +
- "wlyy.wlyy_talk_group_member m, wlyy.wlyy_doctor d " +
- "WHERE m.member_code = d.code AND m.group_code IN (" + groups + ") " +
- " UNION " +
- "SELECT m.group_code g_code, p.code code, p.name name, p.photo photo, 'patient' type " +
- "FROM wlyy.wlyy_talk_group_member m, wlyy.wlyy_patient p " +
- "WHERE m.member_code = p.code AND m.group_code IN (" + groups + ")" +
- " UNION " +
- "SELECT m.team_id g_code, d.code code, d.name name, d.photo photo, 'doctor' type " +
- "FROM wlyy.wlyy_admin_team_member m, wlyy.wlyy_doctor d " +
- "WHERE m.doctor_code = d.code AND m.team_id IN (" + groups + ") " +
- ") x ORDER BY x.g_code";
- wlyyRepo.execQuery({
- "sql": sql,
- "args": [],
- "handler": handler
- });
- };
- exports.getGroupConsultInfo = function (code, handler) {
- var sql = "select t.* from wlyy_talk_group g join wlyy_consult_team t on g.consult_code = t.consult where g.code = ? and g.type = 1";
- wlyyRepo.execQuery({
- "sql": sql,
- "args": [code],
- "handler": handler
- });
- }
|