visitModel.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. 'use strict';
  2. module.exports = app => {
  3. const mongoose = app.mongoose;
  4. const Schema = mongoose.Schema;
  5. const VisitSchema = new Schema({
  6. userid: {
  7. type: Schema.Types.ObjectId,
  8. ref: 'sysUser',
  9. },
  10. // userName: { type: String }, // 探访员
  11. dept1: {
  12. type: Schema.Types.ObjectId,
  13. ref: 'sysDept',
  14. },
  15. dept2: {
  16. type: Schema.Types.ObjectId,
  17. ref: 'sysDept',
  18. },
  19. dept3: {
  20. type: Schema.Types.ObjectId,
  21. ref: 'sysDept',
  22. },
  23. dept4: {
  24. type: Schema.Types.ObjectId,
  25. ref: 'sysDept',
  26. },
  27. dept5: {
  28. type: Schema.Types.ObjectId,
  29. ref: 'sysDept',
  30. },
  31. fid: { type: Schema.Types.ObjectId }, // 戶Id
  32. infoId: { type: Schema.Types.ObjectId }, // 老人Id
  33. oldIdNumber: { type: String }, // 老人身份证
  34. visitMessage: { type: String }, // 探访信息visitMessage
  35. visitLocation: { type: String }, // 探访位置(暂用一个字段) visitLocation
  36. visitPhoto: { type: String }, // 探访照片
  37. visitTime: { type: Date, default: Date.now }, // 探访时间
  38. oldInfo: { type: String }, // 老人信息
  39. lat: { type: String }, // 纬度
  40. lng: { type: String }, // 经度
  41. health: { type: String }, // 健康
  42. health1: { type: String }, // 健康-表达-新增
  43. health2: { type: String }, // 健康-行动-新增
  44. health3: { type: String }, // 健康-疾病情况-新增
  45. health3Name: { type: String }, // 健康-疾病为严重时的病毒名称-新增
  46. mind: { type: String }, // 精神
  47. qxzt: { type: String }, // 情绪状态-新增
  48. security: { type: String }, // 安全
  49. security1: { type: String }, // 安全-燃气-新增
  50. security2: { type: String }, // 安全-水暖-新增
  51. security3: { type: String }, // 安全-用电-新增
  52. hygiene: { type: String }, // 卫生
  53. hygiene1: { type: String }, // 卫生-个人-新增
  54. hygiene2: { type: String }, // 卫生-家庭-新增
  55. live: { type: String }, // 居住
  56. live1: { type: String }, // 居住-室内环境-新增
  57. demand: { type: String }, // 需求 (探访信息)
  58. fwxq_rzylyxq: { type: String }, // 入住养老院需求-新增
  59. fwxq_zyfw: { type: String }, // 助医服务-新增
  60. fwxq_zxfw: { type: String }, // 助行服务-新增
  61. fwxq_zjfw: { type: String }, // 助洁服务-新增
  62. fwxq_zcfw: { type: String }, // 助餐服务-新增
  63. fwxq_xzfw: { type: String }, // 洗澡服务-新增
  64. fwxq_kffw: { type: String }, // 康复服务-新增
  65. fwxq_jtcw: { type: String }, // 家庭床位-新增
  66. fwxq_rzsqyljgxq: { type: String }, // 入住社区养老院需求-新增
  67. fwxq_jkjcxq: { type: String }, // 健康检查需求-新增
  68. fwxq_qtfwxq: { type: String }, // 其他服务需求-新增
  69. fwxq_qtfwxqms: { type: String }, // 其他服务需求描述-新增
  70. fwxq: { type: String }, // 需求-新增
  71. fwjy: { type: String }, // 服务建议-新增
  72. infoOldType: { type: Array }, // 老年人类别
  73. infoOldAbility: { type: String }, // 老年人能力状况
  74. infoDemand: { type: Array }, // 关爱服务需求
  75. urgency: { type: String }, // 紧急程度
  76. visitType: { type: Number, default: 1 }, // 探访方式-新增
  77. familyNum: { type: String }, // 家庭人口-新增
  78. spzj: { type: String }, // 视频主键-新增
  79. });
  80. VisitSchema.index({ dept1: 1 }, { background: true, name: 'visit_dept1_1' });
  81. VisitSchema.index({ dept2: 1 }, { background: true, name: 'visit_dept2_1' });
  82. VisitSchema.index({ dept3: 1 }, { background: true, name: 'visit_dept3_1' });
  83. VisitSchema.index({ dept4: 1 }, { background: true, name: 'visit_dept4_1' });
  84. VisitSchema.index({ dept5: 1 }, { background: true, name: 'visit_dept5_1' });
  85. VisitSchema.index({ infoId: -1 }, { background: true, name: 'visit_infoId_1' });
  86. VisitSchema.index({ visitTime: -1 }, { background: true, name: 'visit_time_1' });
  87. VisitSchema.index({ userid: -1 }, { background: true, name: 'visit_userid_-1' });
  88. VisitSchema.index({ oldIdNumber: -1 }, { background: true, name: 'visit_oldIdNumber_-1' });
  89. return mongoose.model('Visit', VisitSchema, 'visit');
  90. };