浏览代码

Merge branch 'xt_statistics_branch' of http://git.shengws.com/csx/XT_New into xt_statistics_branch

XMLWAN 4 年前
父节点
当前提交
5708a4f049

+ 9 - 71
controllers/new_mobile_api_controllers/index_evaluation_api_controller.go 查看文件

2
 
2
 
3
 import (
3
 import (
4
 	"XT_New/enums"
4
 	"XT_New/enums"
5
-	"XT_New/models"
6
 	"XT_New/service/statistics_service"
5
 	"XT_New/service/statistics_service"
7
 	"XT_New/utils"
6
 	"XT_New/utils"
8
 	"fmt"
7
 	"fmt"
25
 //初始化数据
24
 //初始化数据
26
 func (this *IndexEvaluationApiController) GetLaboratoryIndexInitData() {
25
 func (this *IndexEvaluationApiController) GetLaboratoryIndexInitData() {
27
 	adminUserInfo := this.GetMobileAdminUserInfo()
26
 	adminUserInfo := this.GetMobileAdminUserInfo()
28
-	var references []*models.InspectionReference
29
-	count, _ := statistics_service.FindOrgInspectionCount(adminUserInfo.Org.Id)
30
-	if count <= 0 {
31
-		references, _ = statistics_service.FindOrgInspectionReference(0, 1)
32
-		references_two, _ := statistics_service.FindOrgInspectionReference(0, 2)
33
-		references = append(references, references_two...)
34
-
35
-	} else {
36
-		references, _ = statistics_service.FindOrgInspectionReference(adminUserInfo.Org.Id, 1)
37
-		references_two, _ := statistics_service.FindOrgInspectionReference(adminUserInfo.Org.Id, 2)
38
-		references = append(references, references_two...)
39
-
40
-	}
41
-
27
+	references, _ := statistics_service.FindOrgQualityControlStandardInspectionReference(adminUserInfo.Org.Id)
42
 	this.ServeSuccessJSON(map[string]interface{}{
28
 	this.ServeSuccessJSON(map[string]interface{}{
43
 		"references": references,
29
 		"references": references,
44
 	})
30
 	})
55
 	var range_vaule []string
41
 	var range_vaule []string
56
 	if range_type == 1 {
42
 	if range_type == 1 {
57
 		qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.Org.Id, project_id, item_id)
43
 		qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.Org.Id, project_id, item_id)
58
-
59
-		if qcs.ID == 0 { //没有配置选项
60
-			count, _ := statistics_service.FindOrgInspectionCount(adminUserInfo.Org.Id) //判断是否为集成过来的数据
61
-			if count <= 0 {                                                             //不是,读系统参考值
62
-				reference, _ := statistics_service.FindProcjectInspectionReference(0, project_id, item_id)
63
-				range_vaule = append(range_vaule, reference.RangeMin)
64
-				range_vaule = append(range_vaule, reference.RangeMax)
65
-
66
-			} else { //是,读集成过来的参考值
67
-				reference, _ := statistics_service.FindProcjectInspectionReference(adminUserInfo.Org.Id, project_id, item_id)
68
-				range_vaule = append(range_vaule, reference.RangeMin)
69
-				range_vaule = append(range_vaule, reference.RangeMax)
70
-			}
71
-
72
-		} else { //有配置
73
-			range_vaule = append(range_vaule, qcs.MinRange)
74
-			range_vaule = append(range_vaule, qcs.LargeRange)
75
-
76
-		}
77
-
44
+		range_vaule = append(range_vaule, qcs.MinRange)
45
+		range_vaule = append(range_vaule, qcs.LargeRange)
78
 	} else {
46
 	} else {
79
-
80
 		inspection, _ := statistics_service.FindOrgInspectionReferenceRangeTypeValue(adminUserInfo.Org.Id, project_id, item_id)
47
 		inspection, _ := statistics_service.FindOrgInspectionReferenceRangeTypeValue(adminUserInfo.Org.Id, project_id, item_id)
81
 		for _, item := range inspection {
48
 		for _, item := range inspection {
82
 			range_vaule = append(range_vaule, item.InspectValue)
49
 			range_vaule = append(range_vaule, item.InspectValue)
83
 		}
50
 		}
84
-
85
 	}
51
 	}
86
 	this.ServeSuccessJSON(map[string]interface{}{
52
 	this.ServeSuccessJSON(map[string]interface{}{
87
 		"range_vaule": range_vaule,
53
 		"range_vaule": range_vaule,
119
 	var range_value string
85
 	var range_value string
120
 	if range_type == 1 {
86
 	if range_type == 1 {
121
 		qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.Org.Id, project_id, item_id)
87
 		qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.Org.Id, project_id, item_id)
122
-		if qcs.ID == 0 { //没有配置选项
123
-			count, _ := statistics_service.FindOrgInspectionCount(adminUserInfo.Org.Id) //判断是否为集成过来的数据
124
-			if count <= 0 {                                                             //不是,读系统参考值
125
-				reference, _ := statistics_service.FindProcjectInspectionReference(0, project_id, item_id)
126
-				range_value = reference.RangeMin + "," + reference.RangeMax
127
-
128
-			} else { //是,读集成过来的参考值
129
-				reference, _ := statistics_service.FindProcjectInspectionReference(adminUserInfo.Org.Id, project_id, item_id)
130
-				range_value = reference.RangeMin + "," + reference.RangeMax
131
-
132
-			}
133
-
134
-		} else { //有配置
135
-			range_value = qcs.MinRange + "," + qcs.LargeRange
136
-
137
-		}
88
+		range_value = qcs.MinRange + "," + qcs.LargeRange
138
 
89
 
139
 	} else {
90
 	} else {
140
 
91
 
264
 	var range_value string
215
 	var range_value string
265
 	if range_type == 1 {
216
 	if range_type == 1 {
266
 		qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.Org.Id, project_id, item_id)
217
 		qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.Org.Id, project_id, item_id)
267
-		if qcs.ID == 0 { //没有配置选项
268
-			count, _ := statistics_service.FindOrgInspectionCount(adminUserInfo.Org.Id) //判断是否为集成过来的数据
269
-			if count <= 0 {                                                             //不是,读系统参考值
270
-				reference, _ := statistics_service.FindProcjectInspectionReference(0, project_id, item_id)
271
-				range_value = reference.RangeMin + "," + reference.RangeMax
272
-
273
-			} else { //是,读集成过来的参考值
274
-				reference, _ := statistics_service.FindProcjectInspectionReference(adminUserInfo.Org.Id, project_id, item_id)
275
-				range_value = reference.RangeMin + "," + reference.RangeMax
276
-
277
-			}
278
-
279
-		} else { //有配置
280
-			range_value = qcs.MinRange + "," + qcs.LargeRange
281
 
218
 
282
-		}
219
+		range_value = qcs.MinRange + "," + qcs.LargeRange
283
 
220
 
284
 	} else {
221
 	} else {
285
 
222
 
857
 		page = 1
794
 		page = 1
858
 	}
795
 	}
859
 	if limit == 0 {
796
 	if limit == 0 {
860
-		limit = 20
797
+		limit = 10
861
 	}
798
 	}
862
 	timeLayout := "2006-01-02"
799
 	timeLayout := "2006-01-02"
863
 	loc, _ := time.LoadLocation("Local")
800
 	loc, _ := time.LoadLocation("Local")
878
 		}
815
 		}
879
 		theEndtTIme = theTime.Unix()
816
 		theEndtTIme = theTime.Unix()
880
 	}
817
 	}
881
-	data, _ := statistics_service.GetNurseWorkloadTableData(adminUserInfo.Org.Id, theStartTIme, theEndtTIme, admin_user_id)
818
+	data, total, _ := statistics_service.GetNurseWorkloadTableData(adminUserInfo.Org.Id, theStartTIme, theEndtTIme, admin_user_id, page, limit)
882
 	this.ServeSuccessJSON(map[string]interface{}{
819
 	this.ServeSuccessJSON(map[string]interface{}{
883
-		"data": data,
820
+		"data":  data,
821
+		"total": total,
884
 	})
822
 	})
885
 }
823
 }
886
 
824
 

+ 9 - 63
controllers/pc_index_evaluation_api_controller.go 查看文件

2
 
2
 
3
 import (
3
 import (
4
 	"XT_New/enums"
4
 	"XT_New/enums"
5
-	"XT_New/models"
6
 	"XT_New/service/statistics_service"
5
 	"XT_New/service/statistics_service"
7
 	"XT_New/utils"
6
 	"XT_New/utils"
8
 	"github.com/astaxie/beego"
7
 	"github.com/astaxie/beego"
52
 //初始化数据
51
 //初始化数据
53
 func (this *PCIndexEvaluationApiController) GetLaboratoryIndexInitData() {
52
 func (this *PCIndexEvaluationApiController) GetLaboratoryIndexInitData() {
54
 	adminUserInfo := this.GetAdminUserInfo()
53
 	adminUserInfo := this.GetAdminUserInfo()
55
-	var references []*models.InspectionReference
56
-	count, _ := statistics_service.FindOrgInspectionCount(adminUserInfo.CurrentOrgId)
57
-	if count <= 0 {
58
-		references, _ = statistics_service.FindOrgInspectionReference(0, 1)
59
-		temp_references, _ := statistics_service.FindOrgInspectionReference(0, 2)
60
-		references = append(references, temp_references...)
61
-
62
-	} else {
63
-		references, _ = statistics_service.FindOrgInspectionReference(adminUserInfo.CurrentOrgId, 1)
64
-		temp_references, _ := statistics_service.FindOrgInspectionReference(0, 2)
65
-		references = append(references, temp_references...)
66
-
67
-	}
68
-
54
+	references, _ := statistics_service.FindOrgQualityControlStandardInspectionReference(adminUserInfo.CurrentOrgId)
69
 	this.ServeSuccessJSON(map[string]interface{}{
55
 	this.ServeSuccessJSON(map[string]interface{}{
70
 		"references": references,
56
 		"references": references,
71
 	})
57
 	})
72
-
73
 }
58
 }
74
 
59
 
75
 //获取取值范围
60
 //获取取值范围
81
 	var range_vaule []string
66
 	var range_vaule []string
82
 	if range_type == 1 {
67
 	if range_type == 1 {
83
 		qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id)
68
 		qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id)
84
-		if qcs.ID == 0 { //没有配置选项
85
-			count, _ := statistics_service.FindOrgInspectionCount(adminUserInfo.CurrentOrgId) //判断是否为集成过来的数据
86
-			if count <= 0 {                                                                   //不是,读系统参考值
87
-				reference, _ := statistics_service.FindProcjectInspectionReference(0, project_id, item_id)
88
-				range_vaule = append(range_vaule, reference.RangeMin)
89
-				range_vaule = append(range_vaule, reference.RangeMax)
90
-
91
-			} else { //是,读集成过来的参考值
92
-				reference, _ := statistics_service.FindProcjectInspectionReference(adminUserInfo.CurrentOrgId, project_id, item_id)
93
-				range_vaule = append(range_vaule, reference.RangeMin)
94
-				range_vaule = append(range_vaule, reference.RangeMax)
95
-			}
96
-
97
-		} else { //有配置
98
-			range_vaule = append(range_vaule, qcs.MinRange)
99
-			range_vaule = append(range_vaule, qcs.LargeRange)
100
-
101
-		}
69
+		range_vaule = append(range_vaule, qcs.MinRange)
70
+		range_vaule = append(range_vaule, qcs.LargeRange)
102
 
71
 
103
 	} else {
72
 	} else {
104
 
73
 
144
 	var range_value string
113
 	var range_value string
145
 	if range_type == 1 {
114
 	if range_type == 1 {
146
 		qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id)
115
 		qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id)
147
-		if qcs.ID == 0 { //没有配置选项
148
-			count, _ := statistics_service.FindOrgInspectionCount(adminUserInfo.CurrentOrgId) //判断是否为集成过来的数据
149
-			if count <= 0 {                                                                   //不是,读系统参考值
150
-				reference, _ := statistics_service.FindProcjectInspectionReference(0, project_id, item_id)
151
-				range_value = reference.RangeMin + "," + reference.RangeMax
152
-
153
-			} else { //是,读集成过来的参考值
154
-				reference, _ := statistics_service.FindProcjectInspectionReference(adminUserInfo.CurrentOrgId, project_id, item_id)
155
-				range_value = reference.RangeMin + "," + reference.RangeMax
156
-			}
157
-		} else { //有配置
158
-			range_value = qcs.MinRange + "," + qcs.LargeRange
159
-		}
116
+		range_value = qcs.MinRange + "," + qcs.LargeRange
160
 
117
 
161
 	} else {
118
 	} else {
162
 		inspection, _ := statistics_service.FindOrgInspectionReferenceRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id)
119
 		inspection, _ := statistics_service.FindOrgInspectionReferenceRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id)
286
 	var range_value string
243
 	var range_value string
287
 	if range_type == 1 {
244
 	if range_type == 1 {
288
 		qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id)
245
 		qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id)
289
-		if qcs.ID == 0 { //没有配置选项
290
-			count, _ := statistics_service.FindOrgInspectionCount(adminUserInfo.CurrentOrgId) //判断是否为集成过来的数据
291
-			if count <= 0 {                                                                   //不是,读系统参考值
292
-				reference, _ := statistics_service.FindProcjectInspectionReference(0, project_id, item_id)
293
-				range_value = reference.RangeMin + "," + reference.RangeMax
294
-			} else { //是,读集成过来的参考值
295
-				reference, _ := statistics_service.FindProcjectInspectionReference(adminUserInfo.CurrentOrgId, project_id, item_id)
296
-				range_value = reference.RangeMin + "," + reference.RangeMax
297
-			}
298
-
299
-		} else { //有配置
300
-			range_value = qcs.MinRange + "," + qcs.LargeRange
301
-		}
246
+		range_value = qcs.MinRange + "," + qcs.LargeRange
302
 
247
 
303
 	} else {
248
 	} else {
304
 		inspection, _ := statistics_service.FindOrgInspectionReferenceRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id)
249
 		inspection, _ := statistics_service.FindOrgInspectionReferenceRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id)
883
 		page = 1
828
 		page = 1
884
 	}
829
 	}
885
 	if limit == 0 {
830
 	if limit == 0 {
886
-		limit = 20
831
+		limit = 5
887
 	}
832
 	}
888
 	timeLayout := "2006-01-02"
833
 	timeLayout := "2006-01-02"
889
 	loc, _ := time.LoadLocation("Local")
834
 	loc, _ := time.LoadLocation("Local")
904
 		}
849
 		}
905
 		theEndtTIme = theTime.Unix()
850
 		theEndtTIme = theTime.Unix()
906
 	}
851
 	}
907
-	data, _ := statistics_service.GetNurseWorkloadTableData(adminUserInfo.CurrentOrgId, theStartTIme, theEndtTIme, admin_user_id)
852
+	data, total, _ := statistics_service.GetNurseWorkloadTableData(adminUserInfo.CurrentOrgId, theStartTIme, theEndtTIme, admin_user_id, page, limit)
908
 	this.ServeSuccessJSON(map[string]interface{}{
853
 	this.ServeSuccessJSON(map[string]interface{}{
909
-		"data": data,
854
+		"data":  data,
855
+		"total": total,
910
 	})
856
 	})
911
 }
857
 }
912
 
858
 

+ 100 - 78
service/statistics_service/index_evaluation_service.go 查看文件

40
 
40
 
41
 		break
41
 		break
42
 	case 3:
42
 	case 3:
43
-		err = db.Raw("select from_unixtime(assessment_date,'%Y-%m-%d') as date, systolic_blood_pressure as value from xt_assessment_before_dislysis  Where status = 1 AND user_org_id = ? AND patient_id = ? AND  assessment_date <= ? AND  assessment_date >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
43
+		err = db.Raw("select from_unixtime(assessment_date,'%Y-%m-%d') as date, systolic_blood_pressure as value from xt_assessment_before_dislysis  Where status = 1 AND user_org_id = ? AND patient_id = ? AND  assessment_date <= ? AND  assessment_date >= ? AND systolic_blood_pressure <> 0 ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
44
 
44
 
45
 		break
45
 		break
46
 	case 4:
46
 	case 4:
47
-		err = db.Raw("select from_unixtime(assessment_date,'%Y-%m-%d') as date, diastolic_blood_pressure as value from xt_assessment_before_dislysis  Where status = 1 AND user_org_id = ? AND patient_id = ?  AND assessment_date <= ? AND  assessment_date >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
47
+		err = db.Raw("select from_unixtime(assessment_date,'%Y-%m-%d') as date, diastolic_blood_pressure as value from xt_assessment_before_dislysis  Where status = 1 AND user_org_id = ? AND patient_id = ?  AND assessment_date <= ? AND  assessment_date >= ?  AND diastolic_blood_pressure <> 0", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
48
 
48
 
49
 		break
49
 		break
50
 	case 5:
50
 	case 5:
52
 
52
 
53
 		break
53
 		break
54
 	case 6:
54
 	case 6:
55
-		err = db.Raw("select from_unixtime(assessment_date,'%Y-%m-%d') as date, systolic_blood_pressure as value from xt_assessment_after_dislysis  Where status = 1 AND user_org_id = ? AND patient_id = ? AND assessment_date <= ? AND  assessment_date >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
55
+		err = db.Raw("select from_unixtime(assessment_date,'%Y-%m-%d') as date, systolic_blood_pressure as value from xt_assessment_after_dislysis  Where status = 1 AND user_org_id = ? AND patient_id = ? AND assessment_date <= ? AND  assessment_date >= ?  AND systolic_blood_pressure <> 0", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
56
 		break
56
 		break
57
 	case 7:
57
 	case 7:
58
-		err = db.Raw("select from_unixtime(assessment_date,'%Y-%m-%d') as date, diastolic_blood_pressure as value from xt_assessment_after_dislysis  Where status = 1 AND user_org_id = ? AND patient_id = ? AND assessment_date <= ? AND  assessment_date >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
58
+		err = db.Raw("select from_unixtime(assessment_date,'%Y-%m-%d') as date, diastolic_blood_pressure as value from xt_assessment_after_dislysis  Where status = 1 AND user_org_id = ? AND patient_id = ? AND assessment_date <= ? AND  assessment_date >= ? AND diastolic_blood_pressure <> 0 ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
59
 
59
 
60
 		break
60
 		break
61
 	case 8:
61
 	case 8:
183
 	switch statistics_type {
183
 	switch statistics_type {
184
 	case 1:
184
 	case 1:
185
 		if patient_id == 0 {
185
 		if patient_id == 0 {
186
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.systolic_blood_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, end_time, start_time).Scan(&datas).Error
186
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.systolic_blood_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? AND systolic_blood_pressure <> 0 Order by operate_time asc", user_org_id, end_time, start_time).Scan(&datas).Error
187
 
187
 
188
 		} else {
188
 		} else {
189
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.systolic_blood_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
189
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.systolic_blood_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND  operate_time <= ? AND  operate_time >= ? AND systolic_blood_pressure <> 0 Order by operate_time asc", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
190
 		}
190
 		}
191
 		break
191
 		break
192
 	case 2:
192
 	case 2:
193
 
193
 
194
 		if patient_id == 0 {
194
 		if patient_id == 0 {
195
 
195
 
196
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.diastolic_blood_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, end_time, start_time).Scan(&datas).Error
196
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.diastolic_blood_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? AND diastolic_blood_pressure <> 0 Order by operate_time asc", user_org_id, end_time, start_time).Scan(&datas).Error
197
 
197
 
198
 		} else {
198
 		} else {
199
 
199
 
200
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.diastolic_blood_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
200
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.diastolic_blood_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND  operate_time <= ? AND  operate_time >= ? AND diastolic_blood_pressure <> 0 Order by operate_time asc", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
201
 
201
 
202
 		}
202
 		}
203
 
203
 
204
 		break
204
 		break
205
 	case 3:
205
 	case 3:
206
 		if patient_id == 0 {
206
 		if patient_id == 0 {
207
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.pulse_frequency as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND operate_time <= ? AND  operate_time >= ? ", user_org_id, end_time, start_time).Scan(&datas).Error
207
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.pulse_frequency as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, end_time, start_time).Scan(&datas).Error
208
 
208
 
209
 		} else {
209
 		} else {
210
 
210
 
211
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.pulse_frequency as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
211
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.pulse_frequency as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND  operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
212
 
212
 
213
 		}
213
 		}
214
 		break
214
 		break
215
 	case 4:
215
 	case 4:
216
 		if patient_id == 0 {
216
 		if patient_id == 0 {
217
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.breathing_rate as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, end_time, start_time).Scan(&datas).Error
217
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.breathing_rate as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, end_time, start_time).Scan(&datas).Error
218
 
218
 
219
 		} else {
219
 		} else {
220
 
220
 
221
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.breathing_rate as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
221
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.breathing_rate as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND  operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
222
 
222
 
223
 		}
223
 		}
224
 		break
224
 		break
225
 	case 5:
225
 	case 5:
226
 		if patient_id == 0 {
226
 		if patient_id == 0 {
227
 
227
 
228
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.temperature as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, end_time, start_time).Scan(&datas).Error
228
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.temperature as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, end_time, start_time).Scan(&datas).Error
229
 
229
 
230
 		} else {
230
 		} else {
231
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.temperature as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
231
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.temperature as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND operate_time <= ? AND  operate_time >= ?Order by operate_time asc", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
232
 
232
 
233
 		}
233
 		}
234
 		break
234
 		break
235
 	case 6:
235
 	case 6:
236
 		if patient_id == 0 {
236
 		if patient_id == 0 {
237
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.blood_flow_volume as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND    operate_time <= ? AND  operate_time >= ? ", user_org_id, end_time, start_time).Scan(&datas).Error
237
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.blood_flow_volume as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND    operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, end_time, start_time).Scan(&datas).Error
238
 
238
 
239
 		} else {
239
 		} else {
240
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.blood_flow_volume as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
240
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.blood_flow_volume as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND  operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
241
 
241
 
242
 		}
242
 		}
243
 		break
243
 		break
244
 	case 7:
244
 	case 7:
245
 		if patient_id == 0 {
245
 		if patient_id == 0 {
246
 
246
 
247
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.venous_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND operate_time <= ? AND  operate_time >= ? ", user_org_id, end_time, start_time).Scan(&datas).Error
247
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.venous_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, end_time, start_time).Scan(&datas).Error
248
 
248
 
249
 		} else {
249
 		} else {
250
 
250
 
251
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.venous_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
251
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.venous_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
252
 
252
 
253
 		}
253
 		}
254
 		break
254
 		break
255
 	case 8:
255
 	case 8:
256
 		if patient_id == 0 {
256
 		if patient_id == 0 {
257
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.arterial_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ?  AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, end_time, start_time).Scan(&datas).Error
257
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.arterial_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ?  AND  operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, end_time, start_time).Scan(&datas).Error
258
 
258
 
259
 		} else {
259
 		} else {
260
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.arterial_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
260
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.arterial_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ? AND  operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
261
 		}
261
 		}
262
 		break
262
 		break
263
 	case 9:
263
 	case 9:
264
 		if patient_id == 0 {
264
 		if patient_id == 0 {
265
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.transmembrane_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, end_time, start_time).Scan(&datas).Error
265
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.transmembrane_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, end_time, start_time).Scan(&datas).Error
266
 
266
 
267
 		} else {
267
 		} else {
268
 
268
 
269
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.transmembrane_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  AND operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
269
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.transmembrane_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  AND operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
270
 
270
 
271
 		}
271
 		}
272
 
272
 
273
 		break
273
 		break
274
 	case 10:
274
 	case 10:
275
 		if patient_id == 0 {
275
 		if patient_id == 0 {
276
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.dialysate_temperature as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, end_time, start_time).Scan(&datas).Error
276
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.dialysate_temperature as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? Order by  operate_time asc", user_org_id, end_time, start_time).Scan(&datas).Error
277
 
277
 
278
 		} else {
278
 		} else {
279
 
279
 
280
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.dialysate_temperature as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  AND operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
280
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.dialysate_temperature as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  AND operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
281
 
281
 
282
 		}
282
 		}
283
 
283
 
284
 		break
284
 		break
285
 	case 11:
285
 	case 11:
286
 		if patient_id == 0 {
286
 		if patient_id == 0 {
287
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.ultrafiltration_rate as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, end_time, start_time).Scan(&datas).Error
287
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.ultrafiltration_rate as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, end_time, start_time).Scan(&datas).Error
288
 
288
 
289
 		} else {
289
 		} else {
290
 
290
 
291
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.ultrafiltration_rate as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  AND operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
291
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.ultrafiltration_rate as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  AND operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
292
 
292
 
293
 		}
293
 		}
294
 
294
 
295
 		break
295
 		break
296
 	case 12:
296
 	case 12:
297
 		if patient_id == 0 {
297
 		if patient_id == 0 {
298
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.ultrafiltration_volume as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? ", user_org_id, end_time, start_time).Scan(&datas).Error
298
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.ultrafiltration_volume as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND  operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, end_time, start_time).Scan(&datas).Error
299
 
299
 
300
 		} else {
300
 		} else {
301
 
301
 
302
-			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.ultrafiltration_volume as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  AND operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
302
+			err = db.Raw("select from_unixtime(monitor.operate_time,'%Y-%m-%d %H:%i') as date, monitor.ultrafiltration_volume as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  AND operate_time <= ? AND  operate_time >= ? Order by operate_time asc", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
303
 
303
 
304
 		}
304
 		}
305
 
305
 
542
 		}
542
 		}
543
 		var weights []*weight
543
 		var weights []*weight
544
 		var weightAdd []float64
544
 		var weightAdd []float64
545
-		db.Raw("Select xt_assessment_after_dislysis.weight_after as weight_after ,xt_assessment_before_dislysis.weight_before as weight_before from `xt_assessment_before_dislysis`   LEFT JOIN  `xt_assessment_after_dislysis`  On xt_assessment_before_dislysis.`patient_id` = xt_assessment_after_dislysis.`patient_id` AND xt_assessment_before_dislysis.assessment_date = xt_assessment_after_dislysis.assessment_date AND xt_assessment_after_dislysis.weight_after != 0 AND xt_assessment_after_dislysis.user_org_id = ?  Where  xt_assessment_before_dislysis.user_org_id = ? AND xt_assessment_before_dislysis.created_time >= ? AND  xt_assessment_before_dislysis.created_time <= ? Order by xt_assessment_before_dislysis.assessment_date desc", user_org_id, user_org_id, start_time, end_time).Scan(&weights)
545
+		db.Raw("Select xt_assessment_after_dislysis.weight_after as weight_after ,xt_assessment_before_dislysis.weight_before as weight_before from `xt_assessment_before_dislysis`   LEFT JOIN  `xt_assessment_after_dislysis`  On xt_assessment_before_dislysis.`patient_id` = xt_assessment_after_dislysis.`patient_id` AND xt_assessment_before_dislysis.assessment_date = xt_assessment_after_dislysis.assessment_date AND xt_assessment_after_dislysis.weight_after <> 0 AND xt_assessment_after_dislysis.user_org_id = ?  Where  xt_assessment_before_dislysis.user_org_id = ? AND xt_assessment_before_dislysis.created_time >= ? AND  xt_assessment_before_dislysis.created_time <= ? Order by xt_assessment_before_dislysis.assessment_date desc", user_org_id, user_org_id, start_time, end_time).Scan(&weights)
546
 		for index, _ := range weights {
546
 		for index, _ := range weights {
547
 			if index+1 < len(weights) {
547
 			if index+1 < len(weights) {
548
 				if weights[index+1].WeightAfter == 0 || weights[index].WeightBefore == 0 {
548
 				if weights[index+1].WeightAfter == 0 || weights[index].WeightBefore == 0 {
792
 		}
792
 		}
793
 
793
 
794
 		var weights []*weight
794
 		var weights []*weight
795
-		db.Raw("Select xt_assessment_after_dislysis.weight_after as weight_after ,xt_assessment_before_dislysis.weight_before as weight_before,from_unixtime(xt_assessment_before_dislysis.assessment_date,'%Y-%m-%d') as date from `xt_assessment_before_dislysis`   LEFT JOIN  `xt_assessment_after_dislysis`  On xt_assessment_before_dislysis.`patient_id` = xt_assessment_after_dislysis.`patient_id` AND xt_assessment_before_dislysis.assessment_date = xt_assessment_after_dislysis.assessment_date AND xt_assessment_after_dislysis.weight_after != 0   Where  xt_assessment_before_dislysis.user_org_id = ? AND xt_assessment_before_dislysis.created_time >= ? AND  xt_assessment_before_dislysis.created_time <= ? AND xt_assessment_before_dislysis.patient_id = ? Order by date desc", user_org_id, start_time, end_time, patient_id).Scan(&weights)
795
+		db.Raw("Select xt_assessment_after_dislysis.weight_after as weight_after ,xt_assessment_before_dislysis.weight_before as weight_before,from_unixtime(xt_assessment_before_dislysis.assessment_date,'%Y-%m-%d') as date from `xt_assessment_before_dislysis`   LEFT JOIN  `xt_assessment_after_dislysis`  On xt_assessment_before_dislysis.`patient_id` = xt_assessment_after_dislysis.`patient_id` AND xt_assessment_before_dislysis.assessment_date = xt_assessment_after_dislysis.assessment_date AND xt_assessment_after_dislysis.weight_after <> 0   Where  xt_assessment_before_dislysis.user_org_id = ? AND xt_assessment_before_dislysis.created_time >= ? AND  xt_assessment_before_dislysis.created_time <= ? AND xt_assessment_before_dislysis.patient_id = ? Order by date desc", user_org_id, start_time, end_time, patient_id).Scan(&weights)
796
 		fmt.Println(len(weights))
796
 		fmt.Println(len(weights))
797
 		for index, _ := range weights {
797
 		for index, _ := range weights {
798
 
798
 
845
 		var bps []*bp
845
 		var bps []*bp
846
 
846
 
847
 		if patient_id == 0 {
847
 		if patient_id == 0 {
848
-			db.Raw("SELECT systolic_blood_pressure,diastolic_blood_pressure FROM xt_assessment_before_dislysis Where user_org_id = ? AND  created_time >= ? AND created_time <= ?   UNION ALL SELECT systolic_blood_pressure,diastolic_blood_pressure  FROM xt_assessment_after_dislysis Where user_org_id = ? AND created_time >= ? AND created_time <= ?  ", user_org_id, start_time, end_time, user_org_id, start_time, end_time).Scan(&bps)
849
-			db.Raw("SELECT count(id) FROM xt_assessment_before_dislysis Where user_org_id = ? AND  created_time >= ? AND created_time <= ?     ", user_org_id, start_time, end_time).Count(&TotalOne)
850
-			db.Raw("SELECT count(id) FROM xt_assessment_after_dislysis Where user_org_id = ? AND  created_time >= ? AND created_time <= ?   ", user_org_id, start_time, end_time).Count(&TotalTwo)
848
+			db.Raw("SELECT systolic_blood_pressure,diastolic_blood_pressure FROM xt_assessment_before_dislysis Where user_org_id = ? AND  created_time >= ? AND created_time <= ? AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0   UNION ALL SELECT systolic_blood_pressure,diastolic_blood_pressure  FROM xt_assessment_after_dislysis Where user_org_id = ? AND created_time >= ? AND created_time <= ? AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0 ", user_org_id, start_time, end_time, user_org_id, start_time, end_time).Scan(&bps)
849
+			db.Raw("SELECT count(id) FROM xt_assessment_before_dislysis Where user_org_id = ? AND  created_time >= ? AND created_time <= ? AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0 ", user_org_id, start_time, end_time).Count(&TotalOne)
850
+			db.Raw("SELECT count(id) FROM xt_assessment_after_dislysis Where user_org_id = ? AND  created_time >= ? AND created_time <= ?  AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0 ", user_org_id, start_time, end_time).Count(&TotalTwo)
851
 			Total = TotalOne + TotalTwo
851
 			Total = TotalOne + TotalTwo
852
 			fmt.Println("----Total-----")
852
 			fmt.Println("----Total-----")
853
 			fmt.Println(TotalOne)
853
 			fmt.Println(TotalOne)
855
 			fmt.Println(Total)
855
 			fmt.Println(Total)
856
 
856
 
857
 		} else {
857
 		} else {
858
-			db.Raw("SELECT systolic_blood_pressure,diastolic_blood_pressure FROM xt_assessment_before_dislysis Where user_org_id = ? AND  created_time >= ? AND created_time <= ? AND patient_id = ?  UNION ALL SELECT systolic_blood_pressure,diastolic_blood_pressure  FROM xt_assessment_after_dislysis Where user_org_id = ? AND created_time >= ? AND created_time <= ? AND patient_id = ?  ", user_org_id, start_time, end_time, patient_id, user_org_id, start_time, end_time, patient_id).Scan(&bps)
859
-			db.Raw("SELECT count(id) FROM xt_assessment_before_dislysis Where user_org_id = ? AND  created_time >= ? AND created_time <= ? AND patient_id = ?", user_org_id, start_time, end_time, patient_id).Count(&TotalOne)
860
-			db.Raw("SELECT count(id) FROM xt_assessment_after_dislysis Where user_org_id = ? AND  created_time >= ? AND created_time <= ? AND patient_id = ? ", user_org_id, start_time, end_time, patient_id).Count(&TotalTwo)
858
+			db.Raw("SELECT systolic_blood_pressure,diastolic_blood_pressure FROM xt_assessment_before_dislysis Where user_org_id = ? AND  created_time >= ? AND created_time <= ? AND patient_id = ? AND AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0   UNION ALL SELECT systolic_blood_pressure,diastolic_blood_pressure  FROM xt_assessment_after_dislysis Where user_org_id = ? AND created_time >= ? AND created_time <= ? AND patient_id = ? AND AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0   ", user_org_id, start_time, end_time, patient_id, user_org_id, start_time, end_time, patient_id).Scan(&bps)
859
+			db.Raw("SELECT count(id) FROM xt_assessment_before_dislysis Where user_org_id = ? AND  created_time >= ? AND created_time <= ? AND patient_id = ? AND  systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0 ", user_org_id, start_time, end_time, patient_id).Count(&TotalOne)
860
+			db.Raw("SELECT count(id) FROM xt_assessment_after_dislysis Where user_org_id = ? AND  created_time >= ? AND created_time <= ? AND patient_id = ?  AND  systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0 ", user_org_id, start_time, end_time, patient_id).Count(&TotalTwo)
861
 			Total = TotalOne + TotalTwo
861
 			Total = TotalOne + TotalTwo
862
 			fmt.Println(TotalOne)
862
 			fmt.Println(TotalOne)
863
 			fmt.Println(TotalTwo)
863
 			fmt.Println(TotalTwo)
921
 		break
921
 		break
922
 	case 2:
922
 	case 2:
923
 		if patient_id == 0 {
923
 		if patient_id == 0 {
924
-			tempErr = db.Table("xt_assessment_before_dislysis ").Where("user_org_id=? and status=1 and  created_time >= ? and created_time <= ?  ", user_org_id, start_time, end_time).
924
+			tempErr = db.Table("xt_assessment_before_dislysis ").Where("user_org_id=? and status=1 and  created_time >= ? and created_time <= ? AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0  ", user_org_id, start_time, end_time).
925
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
925
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
926
 					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
926
 					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
927
 					" WHEN systolic_blood_pressure >= 140 AND  systolic_blood_pressure <= 160   AND  diastolic_blood_pressure >= 90 AND  diastolic_blood_pressure <= 100 THEN '140-160mmHg/90-100mmHg'" +
927
 					" WHEN systolic_blood_pressure >= 140 AND  systolic_blood_pressure <= 160   AND  diastolic_blood_pressure >= 90 AND  diastolic_blood_pressure <= 100 THEN '140-160mmHg/90-100mmHg'" +
928
 					" ELSE '其他' END AS name, COUNT(*) AS total",
928
 					" ELSE '其他' END AS name, COUNT(*) AS total",
929
 				).Group("name").Scan(&items).Error
929
 				).Group("name").Scan(&items).Error
930
-			db.Table("xt_assessment_before_dislysis ").Where("user_org_id=? AND status = 1  AND created_time >= ? AND created_time <= ? ", user_org_id, start_time, end_time).Count(&Total)
930
+			db.Table("xt_assessment_before_dislysis ").Where("user_org_id=? AND status = 1  AND created_time >= ? AND created_time <= ? AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0 ", user_org_id, start_time, end_time).Count(&Total)
931
 
931
 
932
 		} else {
932
 		} else {
933
 
933
 
934
-			tempErr = db.Table("xt_assessment_before_dislysis ").Where("user_org_id=? and status=1 and  created_time >= ? and created_time <= ?  and patient_id = ? ", user_org_id, start_time, end_time, patient_id).
934
+			tempErr = db.Table("xt_assessment_before_dislysis ").Where("user_org_id=? and status=1 and  created_time >= ? and created_time <= ?  and patient_id = ? AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0 ", user_org_id, start_time, end_time, patient_id).
935
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
935
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
936
 					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
936
 					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
937
 					" WHEN systolic_blood_pressure >= 140 AND  systolic_blood_pressure <= 160   AND  diastolic_blood_pressure >= 90 AND  diastolic_blood_pressure <= 100 THEN '140-160mmHg/90-100mmHg'" +
937
 					" WHEN systolic_blood_pressure >= 140 AND  systolic_blood_pressure <= 160   AND  diastolic_blood_pressure >= 90 AND  diastolic_blood_pressure <= 100 THEN '140-160mmHg/90-100mmHg'" +
938
 					" ELSE '其他' END AS name, COUNT(*) AS total",
938
 					" ELSE '其他' END AS name, COUNT(*) AS total",
939
 				).Group("name").Scan(&items).Error
939
 				).Group("name").Scan(&items).Error
940
 
940
 
941
-			db.Table("xt_assessment_before_dislysis ").Where("user_org_id=? AND status = 1  AND created_time >= ? AND created_time <= ? AND patient_id = ?", user_org_id, start_time, end_time, patient_id).Count(&Total)
941
+			db.Table("xt_assessment_before_dislysis ").Where("user_org_id=? AND status = 1  AND created_time >= ? AND created_time <= ? AND patient_id = ? AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0", user_org_id, start_time, end_time, patient_id).Count(&Total)
942
 
942
 
943
 		}
943
 		}
944
 
944
 
1010
 		break
1010
 		break
1011
 	case 3:
1011
 	case 3:
1012
 		if patient_id == 0 {
1012
 		if patient_id == 0 {
1013
-			tempErr = db.Table("xt_assessment_after_dislysis ").Where("user_org_id=? and status=1 and  created_time >= ? and created_time <= ? ", user_org_id, start_time, end_time).
1013
+			tempErr = db.Table("xt_assessment_after_dislysis ").Where("user_org_id=? and status=1 and  created_time >= ? and created_time <= ? AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0 ", user_org_id, start_time, end_time).
1014
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
1014
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
1015
 					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
1015
 					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
1016
 					" WHEN systolic_blood_pressure >= 140 AND  systolic_blood_pressure <= 160   AND  diastolic_blood_pressure >= 90 AND  diastolic_blood_pressure <= 100 THEN '140-160mmHg/90-100mmHg'" +
1016
 					" WHEN systolic_blood_pressure >= 140 AND  systolic_blood_pressure <= 160   AND  diastolic_blood_pressure >= 90 AND  diastolic_blood_pressure <= 100 THEN '140-160mmHg/90-100mmHg'" +
1017
 					" ELSE '其他' END AS name, COUNT(*) AS total",
1017
 					" ELSE '其他' END AS name, COUNT(*) AS total",
1018
 				).Group("name").Scan(&items).Error
1018
 				).Group("name").Scan(&items).Error
1019
-			db.Table("xt_assessment_after_dislysis").Where("user_org_id=? AND status = 1  AND created_time >= ? AND created_time <= ? ", user_org_id, start_time, end_time).Count(&Total)
1019
+			db.Table("xt_assessment_after_dislysis").Where("user_org_id=? AND status = 1  AND created_time >= ? AND created_time <= ? AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0 ", user_org_id, start_time, end_time).Count(&Total)
1020
 
1020
 
1021
 		} else {
1021
 		} else {
1022
-			tempErr = db.Table("xt_assessment_after_dislysis ").Where("user_org_id=? and status=1 and  created_time >= ? and created_time <= ? and patient_id = ?", user_org_id, start_time, end_time, patient_id).
1022
+			tempErr = db.Table("xt_assessment_after_dislysis ").Where("user_org_id=? and status=1 and  created_time >= ? and created_time <= ? and patient_id = ? AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0", user_org_id, start_time, end_time, patient_id).
1023
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
1023
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
1024
 					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
1024
 					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
1025
 					" WHEN systolic_blood_pressure >= 140 AND  systolic_blood_pressure <= 160   AND  diastolic_blood_pressure >= 90 AND  diastolic_blood_pressure <= 100 THEN '140-160mmHg/90-100mmHg'" +
1025
 					" WHEN systolic_blood_pressure >= 140 AND  systolic_blood_pressure <= 160   AND  diastolic_blood_pressure >= 90 AND  diastolic_blood_pressure <= 100 THEN '140-160mmHg/90-100mmHg'" +
1026
 					" ELSE '其他' END AS name, COUNT(*) AS total",
1026
 					" ELSE '其他' END AS name, COUNT(*) AS total",
1027
 				).Group("name").Scan(&items).Error
1027
 				).Group("name").Scan(&items).Error
1028
 
1028
 
1029
-			db.Table("xt_assessment_after_dislysis ").Where("user_org_id=? AND status = 1  AND created_time >= ? AND created_time <= ? AND patient_id = ? ", user_org_id, start_time, end_time, patient_id).Count(&Total)
1029
+			db.Table("xt_assessment_after_dislysis ").Where("user_org_id=? AND status = 1  AND created_time >= ? AND created_time <= ? AND patient_id = ? AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0 ", user_org_id, start_time, end_time, patient_id).Count(&Total)
1030
 
1030
 
1031
 		}
1031
 		}
1032
 
1032
 
1121
 	db = db.Preload("VMPredialysisEvaluation", "status = 1 AND user_org_id = ?", orgID).
1121
 	db = db.Preload("VMPredialysisEvaluation", "status = 1 AND user_org_id = ?", orgID).
1122
 		Preload("VMAssessmentAfterDislysis", "status = 1 AND user_org_id = ?", orgID).
1122
 		Preload("VMAssessmentAfterDislysis", "status = 1 AND user_org_id = ?", orgID).
1123
 		Preload("VMMinMonitoringRecord", func(db *gorm.DB) *gorm.DB {
1123
 		Preload("VMMinMonitoringRecord", func(db *gorm.DB) *gorm.DB {
1124
-			return db.Where("status = 1 AND user_org_id = ?", orgID).Order("systolic_blood_pressure DESC")
1124
+			return db.Where("status = 1 AND user_org_id = ?", orgID).Order("diastolic_blood_pressure DESC")
1125
 		}).
1125
 		}).
1126
 		Preload("VMMaxMonitoringRecord", func(db *gorm.DB) *gorm.DB {
1126
 		Preload("VMMaxMonitoringRecord", func(db *gorm.DB) *gorm.DB {
1127
 			return db.Where("status = 1 AND user_org_id = ?", orgID).Order("systolic_blood_pressure ASC")
1127
 			return db.Where("status = 1 AND user_org_id = ?", orgID).Order("systolic_blood_pressure ASC")
1142
 	db := service.XTReadDB()
1142
 	db := service.XTReadDB()
1143
 	switch statistics_type {
1143
 	switch statistics_type {
1144
 	case 1:
1144
 	case 1:
1145
-		err = db.Raw("select from_unixtime(assessment_date, '%Y-%m-%d') as date, systolic_blood_pressure as systolic_blood_pressure, diastolic_blood_pressure as diastolic_blood_pressure from xt_assessment_before_dislysis  Where status = 1 AND user_org_id = ? AND patient_id = ? AND   created_time <= ? AND  created_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
1145
+		err = db.Raw("select from_unixtime(assessment_date, '%Y-%m-%d') as date, systolic_blood_pressure as systolic_blood_pressure, diastolic_blood_pressure as diastolic_blood_pressure from xt_assessment_before_dislysis  Where status = 1 AND user_org_id = ? AND patient_id = ? AND   created_time <= ? AND  created_time >= ? AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0 ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
1146
 		break
1146
 		break
1147
 	case 2:
1147
 	case 2:
1148
-		err = db.Raw("select from_unixtime(assessment_date, '%Y-%m-%d') as date, systolic_blood_pressure as systolic_blood_pressure, diastolic_blood_pressure as diastolic_blood_pressure from xt_assessment_after_dislysis Where status = 1 AND user_org_id = ? AND patient_id = ? AND  created_time <= ? AND  created_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
1148
+		err = db.Raw("select from_unixtime(assessment_date, '%Y-%m-%d') as date, systolic_blood_pressure as systolic_blood_pressure, diastolic_blood_pressure as diastolic_blood_pressure from xt_assessment_after_dislysis Where status = 1 AND user_org_id = ? AND patient_id = ? AND  created_time <= ? AND  created_time >= ? AND systolic_blood_pressure <> 0 AND diastolic_blood_pressure <> 0 ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
1149
 		break
1149
 		break
1150
 
1150
 
1151
 	}
1151
 	}
1167
 	switch statistics_type {
1167
 	switch statistics_type {
1168
 	case 1:
1168
 	case 1:
1169
 		var Total int64
1169
 		var Total int64
1170
-		db.Table("xt_dialysis_prescription as p").Where("user_org_id = ? AND status = 1  AND created_time >= ? AND  created_time <= ?", user_org_id, start_time, end_time).Count(&Total)
1170
+		db.Table("xt_dialysis_prescription as p").Where("user_org_id = ? AND status = 1  AND record_date >= ? AND  record_date <= ?", user_org_id, start_time, end_time).Count(&Total)
1171
 
1171
 
1172
 		for _, item := range datas {
1172
 		for _, item := range datas {
1173
 			var total int64
1173
 			var total int64
1174
-			db.Table("xt_dialysis_prescription as p").Where("user_org_id = ? AND status = 1 AND prescription_doctor = ? AND created_time >= ? AND  created_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&total)
1174
+			db.Table("xt_dialysis_prescription as p").Where("user_org_id = ? AND status = 1 AND prescription_doctor = ? AND record_date >= ? AND  record_date <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&total)
1175
 			item.PCount = total
1175
 			item.PCount = total
1176
 
1176
 
1177
 			if math.IsNaN(float64(item.PCount) / float64(Total)) {
1177
 			if math.IsNaN(float64(item.PCount) / float64(Total)) {
1242
 		var Total int64
1242
 		var Total int64
1243
 		var TotalOne int64
1243
 		var TotalOne int64
1244
 		var TotalTwo int64
1244
 		var TotalTwo int64
1245
-		db.Table("xt_dialysis_prescription as p").Where("user_org_id = ? AND status = 1 AND prescription_doctor = ?  AND created_time >= ? AND  created_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
1245
+		db.Table("xt_dialysis_prescription as p").Where("user_org_id = ? AND status = 1 AND prescription_doctor = ?  AND record_date >= ? AND  record_date <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
1246
 		db.Table("xt_patient_course_of_disease as course").Where("org_id = ? AND status = 1 AND recorder = ? AND ctime >= ? AND ctime <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalOne)
1246
 		db.Table("xt_patient_course_of_disease as course").Where("org_id = ? AND status = 1 AND recorder = ? AND ctime >= ? AND ctime <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalOne)
1247
 		db.Table("xt_patient_rescue_record as rescue").Where("org_id = ? AND status = 1 AND recorder = ? AND ctime >= ? AND ctime <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalTwo)
1247
 		db.Table("xt_patient_rescue_record as rescue").Where("org_id = ? AND status = 1 AND recorder = ? AND ctime >= ? AND ctime <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalTwo)
1248
 		item.PCount = Total
1248
 		item.PCount = Total
1268
 	var tempConfig models.Dataconfig
1268
 	var tempConfig models.Dataconfig
1269
 	db.Model(&models.Dataconfig{}).Where("name = '血管通路' AND module = 'hemodialysis' AND field_name = 'vascular_access_desc' AND parent_id = 0").First(&tempConfig)
1269
 	db.Model(&models.Dataconfig{}).Where("name = '血管通路' AND module = 'hemodialysis' AND field_name = 'vascular_access_desc' AND parent_id = 0").First(&tempConfig)
1270
 
1270
 
1271
-	db.Raw("select count(*) as total from  (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from  xt_assessment_before_dislysis as d  JOIN `xt_data_config` config on  d.`blood_access_part_opera_id` = config.value AND config.org_id = ? AND config.parent_id = ? AND FIND_IN_SET('内瘘',config.name) > 0 Group by d.id)  b JOIN `xt_dialysis_order`  on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1   AND xt_dialysis_order.created_time >= ? AND xt_dialysis_order.created_time <= ? ", user_org_id, tempConfig.ID, user_org_id, start_time, end_time).Count(&NewTotalOne)
1272
-	db.Raw("select count(*) as total_one from  (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from  xt_assessment_before_dislysis as d  JOIN `xt_data_config` config on  d.`blood_access_part_opera_id` = config.value AND config.org_id = ? AND config.parent_id = ? AND FIND_IN_SET('导管',config.name) > 0 Group by d.id)  b JOIN `xt_dialysis_order`  on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1  AND xt_dialysis_order.created_time >= ? AND xt_dialysis_order.created_time <= ? ", user_org_id, tempConfig.ID, user_org_id, start_time, end_time).Count(&NewTotalTwo)
1273
-	db.Table("xt_monitoring_record ").Where("user_org_id = ? AND status = 1  AND created_time >= ? AND created_time <= ?", user_org_id, start_time, end_time).Count(&NewTotalThree)
1271
+	db.Raw("select count(*) as total from  (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from  xt_assessment_before_dislysis as d  JOIN `xt_data_config` config on  d.`blood_access_part_opera_id` = config.value AND config.org_id = ? AND config.parent_id = ? AND FIND_IN_SET('内瘘',config.name) > 0 Where d.user_org_id = ? AND d.assessment_date >=? AND d.assessment_date <= ?  Group by d.id)  b JOIN `xt_dialysis_order`  on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1   AND xt_dialysis_order.dialysis_date >= ? AND xt_dialysis_order.dialysis_date <= ? ", user_org_id, tempConfig.ID, user_org_id, start_time, end_time, user_org_id, start_time, end_time).Count(&NewTotalOne)
1272
+	db.Raw("select count(*) as total_one from  (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from  xt_assessment_before_dislysis as d  JOIN `xt_data_config` config on  d.`blood_access_part_opera_id` = config.value AND config.org_id = ? AND config.parent_id = ? AND FIND_IN_SET('导管',config.name) > 0  Where d.user_org_id = ? AND d.assessment_date >=? AND d.assessment_date <= ?  Group by d.id)  b JOIN `xt_dialysis_order`  on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1  AND xt_dialysis_order.dialysis_date >= ? AND xt_dialysis_order.dialysis_date <= ? ", user_org_id, tempConfig.ID, user_org_id, start_time, end_time, user_org_id, start_time, end_time).Count(&NewTotalTwo)
1273
+	db.Table("xt_monitoring_record ").Where("user_org_id = ? AND status = 1  AND operate_time >= ? AND operate_time <= ?", user_org_id, start_time, end_time).Count(&NewTotalThree)
1274
 	db.Table("xt_treatment_summary").Where("user_org_id = ? AND status = 1  AND created_time >= ? AND created_time <= ?", user_org_id, start_time, end_time).Count(&NewTotalFour)
1274
 	db.Table("xt_treatment_summary").Where("user_org_id = ? AND status = 1  AND created_time >= ? AND created_time <= ?", user_org_id, start_time, end_time).Count(&NewTotalFour)
1275
 
1275
 
1276
 	switch statistics_type {
1276
 	switch statistics_type {
1277
 	case 1:
1277
 	case 1:
1278
 		for _, item := range datas {
1278
 		for _, item := range datas {
1279
 			var Total int64
1279
 			var Total int64
1280
-			db.Raw("select count(*) as total from  (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from  xt_assessment_before_dislysis as d  JOIN `xt_data_config` config on  d.`blood_access_part_opera_id` = config.value AND config.org_id = ? AND config.parent_id = ? AND  FIND_IN_SET('内瘘',config.name) > 0   Group by d.id)  b JOIN `xt_dialysis_order`  on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1  AND xt_dialysis_order.start_nurse = ? AND xt_dialysis_order.created_time >= ? AND xt_dialysis_order.created_time <= ? ", user_org_id, tempConfig.ID, user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
1280
+			db.Raw("select count(*) as total from  (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from  xt_assessment_before_dislysis as d  JOIN `xt_data_config` config on  d.`blood_access_part_opera_id` = config.value AND (config.org_id = ? OR config.org_id = 0)  AND config.parent_id = ? AND  FIND_IN_SET('内瘘',config.name) > 0 Where d.user_org_id = ? AND d.assessment_date >=? AND d.assessment_date <= ?   Group by d.id)  b JOIN `xt_dialysis_order`  on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1  AND xt_dialysis_order.start_nurse = ? AND xt_dialysis_order.dialysis_date >= ? AND xt_dialysis_order.dialysis_date <= ? ", user_org_id, tempConfig.ID, user_org_id, start_time, end_time, user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
1281
 			item.PunctureCount = Total
1281
 			item.PunctureCount = Total
1282
 
1282
 
1283
 			if math.IsNaN(float64(item.PunctureCount) / float64(NewTotalOne)) {
1283
 			if math.IsNaN(float64(item.PunctureCount) / float64(NewTotalOne)) {
1292
 	case 2:
1292
 	case 2:
1293
 		for _, item := range datas {
1293
 		for _, item := range datas {
1294
 			var Total int64
1294
 			var Total int64
1295
-			db.Raw("select count(*) as total from  (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from  xt_assessment_before_dislysis as d  JOIN `xt_data_config` config on  d.`blood_access_part_opera_id` = config.value AND config.org_id = ? AND config.parent_id = ? AND FIND_IN_SET('导管',config.name) > 0 Group by d.id)  b JOIN `xt_dialysis_order`  on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1  AND xt_dialysis_order.start_nurse = ? AND xt_dialysis_order.created_time >= ? AND xt_dialysis_order.created_time <= ? ", user_org_id, tempConfig.ID, user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
1295
+			db.Raw("select count(*) as total from  (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from  xt_assessment_before_dislysis as d  JOIN `xt_data_config` config on  d.`blood_access_part_opera_id` = config.value AND  (config.org_id = ? OR config.org_id = 0) AND config.parent_id = ? AND FIND_IN_SET('导管',config.name) > 0 Where d.user_org_id = ?  AND d.assessment_date >=? AND d.assessment_date <= ? Group by d.id)  b JOIN `xt_dialysis_order`  on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1  AND xt_dialysis_order.start_nurse = ? AND xt_dialysis_order.dialysis_date >= ? AND xt_dialysis_order.dialysis_date <= ? ", user_org_id, tempConfig.ID, user_org_id, start_time, end_time, user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
1296
 			item.ChangemedicineCount = Total
1296
 			item.ChangemedicineCount = Total
1297
 
1297
 
1298
 			if math.IsNaN(float64(item.ChangemedicineCount) / float64(NewTotalTwo)) {
1298
 			if math.IsNaN(float64(item.ChangemedicineCount) / float64(NewTotalTwo)) {
1307
 	case 3:
1307
 	case 3:
1308
 		for _, item := range datas {
1308
 		for _, item := range datas {
1309
 			var total int64
1309
 			var total int64
1310
-			db.Table("xt_monitoring_record").Where("user_org_id = ? AND status = 1 AND monitoring_nurse = ?  AND created_time >= ? AND created_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&total)
1310
+			db.Table("xt_monitoring_record").Where("user_org_id = ? AND status = 1 AND monitoring_nurse = ?  AND operate_time >= ? AND operate_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&total)
1311
 			item.CureCount = total
1311
 			item.CureCount = total
1312
 			if math.IsNaN(float64(item.CureCount) / float64(NewTotalThree)) {
1312
 			if math.IsNaN(float64(item.CureCount) / float64(NewTotalThree)) {
1313
 				item.CureRatio = "0.0"
1313
 				item.CureRatio = "0.0"
1340
 	return datas, nil
1340
 	return datas, nil
1341
 
1341
 
1342
 }
1342
 }
1343
-func GetNurseWorkloadTableData(user_org_id int64, start_time int64, end_time int64, admin_user_id int64) (datas []*VMUserAdminRole, err error) {
1343
+func GetNurseWorkloadTableData(user_org_id int64, start_time int64, end_time int64, admin_user_id int64, page int64, limit int64) (datas []*VMUserAdminRole, AdminTotal int64, err error) {
1344
 	userDb := service.UserReadDB()
1344
 	userDb := service.UserReadDB()
1345
 	db := service.XTReadDB()
1345
 	db := service.XTReadDB()
1346
 	var tempConfig models.Dataconfig
1346
 	var tempConfig models.Dataconfig
1347
+	offset := (page - 1) * limit
1347
 
1348
 
1348
 	db.Model(&models.Dataconfig{}).Where("name = '血管通路' AND module = 'hemodialysis' AND field_name = 'vascular_access_desc' AND parent_id = 0").First(&tempConfig)
1349
 	db.Model(&models.Dataconfig{}).Where("name = '血管通路' AND module = 'hemodialysis' AND field_name = 'vascular_access_desc' AND parent_id = 0").First(&tempConfig)
1349
 
1350
 
1350
 	if admin_user_id == 0 {
1351
 	if admin_user_id == 0 {
1351
-		userDb.Raw("select admin_user_id, user_name,org_id  from sgj_user_admin_role  Where status = 1 AND org_id = ?  AND user_type = 3 ", user_org_id).Scan(&datas)
1352
+		userDb.Raw("select admin_user_id, user_name,org_id  from sgj_user_admin_role  Where status = 1 AND org_id = ?  AND user_type = 3 ", user_org_id).Offset(offset).Limit(limit).Scan(&datas)
1352
 	} else {
1353
 	} else {
1353
 		userDb.Raw("select admin_user_id, user_name,org_id  from sgj_user_admin_role  Where status = 1 AND org_id = ?  AND user_type = 3  AND admin_user_id = ?", user_org_id, admin_user_id).Scan(&datas)
1354
 		userDb.Raw("select admin_user_id, user_name,org_id  from sgj_user_admin_role  Where status = 1 AND org_id = ?  AND user_type = 3  AND admin_user_id = ?", user_org_id, admin_user_id).Scan(&datas)
1354
 	}
1355
 	}
1358
 		var TotalOne int64
1359
 		var TotalOne int64
1359
 		var TotalTwo int64
1360
 		var TotalTwo int64
1360
 		var TotalThree int64
1361
 		var TotalThree int64
1361
-		db.Raw("select count(*) as total from  (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from  xt_assessment_before_dislysis as d  JOIN `xt_data_config` config on  d.`blood_access_part_opera_id` = config.value AND config.org_id = ? AND config.parent_id = ? AND FIND_IN_SET('内瘘',config.name) > 0 Group by d.id)  b JOIN `xt_dialysis_order`  on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1  AND xt_dialysis_order.start_nurse = ? AND xt_dialysis_order.created_time >= ? AND xt_dialysis_order.created_time <= ? ", user_org_id, tempConfig.ID, user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
1362
-		db.Raw("select count(*) as total_one from  (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from  xt_assessment_before_dislysis as d  JOIN `xt_data_config` config on  d.`blood_access_part_opera_id` = config.value AND config.org_id = ? AND config.parent_id = ? AND FIND_IN_SET('导管',config.name) > 0 Group by d.id)  b JOIN `xt_dialysis_order`  on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1  AND xt_dialysis_order.start_nurse = ? AND xt_dialysis_order.created_time >= ? AND xt_dialysis_order.created_time <= ? ", user_org_id, tempConfig.ID, user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalOne)
1363
-		db.Table("xt_monitoring_record ").Where("user_org_id = ? AND status = 1 AND monitoring_nurse = ? AND created_time >= ? AND created_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalTwo)
1362
+		db.Raw("select count(*) as total from  (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from  xt_assessment_before_dislysis as d  JOIN `xt_data_config` config on  d.`blood_access_part_opera_id` = config.value AND config.org_id = ? AND config.parent_id = ? AND FIND_IN_SET('内瘘',config.name) > 0 Where d.user_org_id = ? AND d.assessment_date >=? AND d.assessment_date <= ?  Group by d.id)  b JOIN `xt_dialysis_order`  on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1  AND xt_dialysis_order.start_nurse = ? AND xt_dialysis_order.dialysis_date >= ? AND xt_dialysis_order.dialysis_date <= ? ", user_org_id, tempConfig.ID, user_org_id, start_time, end_time, user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
1363
+		db.Raw("select count(*) as total_one from  (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from  xt_assessment_before_dislysis as d  JOIN `xt_data_config` config on  d.`blood_access_part_opera_id` = config.value AND config.org_id = ? AND config.parent_id = ? AND FIND_IN_SET('导管',config.name) > 0 Where  d.user_org_id = ?  AND d.assessment_date >=? AND d.assessment_date <= ?  Group by d.id)  b JOIN `xt_dialysis_order`  on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1  AND xt_dialysis_order.start_nurse = ? AND xt_dialysis_order.dialysis_date >= ? AND xt_dialysis_order.dialysis_date <= ? ", user_org_id, tempConfig.ID, user_org_id, start_time, end_time, user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalOne)
1364
+		db.Table("xt_monitoring_record ").Where("user_org_id = ? AND status = 1 AND monitoring_nurse = ? AND operate_time >= ? AND operate_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalTwo)
1364
 		db.Table("xt_treatment_summary").Where("user_org_id = ? AND status = 1 AND creater = ? AND created_time >= ? AND created_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalThree)
1365
 		db.Table("xt_treatment_summary").Where("user_org_id = ? AND status = 1 AND creater = ? AND created_time >= ? AND created_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalThree)
1365
 		item.PunctureCount = Total
1366
 		item.PunctureCount = Total
1366
 		item.ChangemedicineCount = TotalOne
1367
 		item.ChangemedicineCount = TotalOne
1370
 	}
1371
 	}
1371
 
1372
 
1372
 	if err != nil {
1373
 	if err != nil {
1373
-		return nil, err
1374
+		return nil, AdminTotal, err
1374
 	}
1375
 	}
1375
-	return datas, nil
1376
+	return datas, AdminTotal, nil
1376
 
1377
 
1377
 }
1378
 }
1378
 
1379
 
1392
 
1393
 
1393
 }
1394
 }
1394
 
1395
 
1395
-func FindOrgInspectionCount(user_org_id int64) (count int64, err error) {
1396
+//func FindOrgInspectionCount(user_org_id int64) (count int64, err error) {
1397
+//	db := service.XTReadDB()
1398
+//	err = db.Model(&models.QualityControlStandard{}).Where("status = 1 AND org_id = ? ", user_org_id).Count(&count).Error
1399
+//	return
1400
+//}
1401
+
1402
+type InspectionReference struct {
1403
+	ID          int64  `gorm:"column:id" json:"id" form:"id"`
1404
+	OrgId       int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
1405
+	ProjectName string `gorm:"column:project_name" json:"project_name" form:"project_name"`
1406
+	Project     string `gorm:"column:project" json:"project" form:"project"`
1407
+	ProjectId   int64  `gorm:"column:project_id" json:"project_id" form:"project_id"`
1408
+	ItemName    string `gorm:"column:item_name" json:"item_name" form:"item_name"`
1409
+	RangeType   int64  `gorm:"column:range_type" json:"range_type" form:"range_type"`
1410
+	RangeMin    string `gorm:"column:range_min" json:"range_min" form:"range_min"`
1411
+	RangeMax    string `gorm:"column:range_max" json:"range_max" form:"range_max"`
1412
+	RangeValue  string `gorm:"column:range_value" json:"range_value" form:"range_value"`
1413
+	Unit        string `gorm:"column:unit" json:"unit" form:"unit"`
1414
+	Status      int64  `gorm:"column:status" json:"status" form:"status"`
1415
+}
1416
+
1417
+func FindOrgQualityControlStandardInspectionReference(user_org_id int64) (references []*InspectionReference, err error) {
1396
 	db := service.XTReadDB()
1418
 	db := service.XTReadDB()
1397
-	err = db.Model(&models.InspectionReference{}).Where("status = 1 AND org_id = ?", user_org_id).Count(&count).Error
1419
+	err = db.Raw("Select reference.project_name as project_name,qcs.inspection_major as project_id, qcs.inspection_minor as id,reference.item_name as item_name,reference.range_type as range_type,reference.range_min as range_min, reference.range_max as range_max,reference.unit as  unit  from xt_quality_control_standard qcs Left JOIN xt_inspection_reference reference ON  qcs.inspection_major = reference.project_id and qcs.inspection_minor = reference.id and  (reference.org_id = ? OR org_id = 0)  Where qcs.user_org_id = ?  AND qcs.status = 1", user_org_id, user_org_id).Scan(&references).Error
1398
 	return
1420
 	return
1399
 }
1421
 }
1400
 
1422
 
1437
 	selectContent := "CASE"
1459
 	selectContent := "CASE"
1438
 	range_value_arr := strings.Split(range_value, ",")
1460
 	range_value_arr := strings.Split(range_value, ",")
1439
 
1461
 
1440
-	db.Table("xt_inspection").Where("org_id=? and status=1 and  created_time >= ? and created_time <= ? AND project_id = ? AND item_id = ? AND inspect_value <> '' ", user_org_id, start_time, end_time, project_id, item_id).Count(&Total)
1462
+	db.Table("xt_inspection").Where("org_id=? and status=1 and  inspect_date >= ? and inspect_date <= ? AND project_id = ? AND item_id = ? AND inspect_value <> '' ", user_org_id, start_time, end_time, project_id, item_id).Count(&Total)
1441
 
1463
 
1442
 	if range_type == 1 {
1464
 	if range_type == 1 {
1443
-		tempErr = db.Table("xt_inspection").Where("org_id=? and status=1 and  created_time >= ? and created_time <= ? AND project_id = ? AND item_id = ? AND inspect_value <> ''", user_org_id, start_time, end_time, project_id, item_id).
1465
+		tempErr = db.Table("xt_inspection").Where("org_id=? and status=1 and  inspect_date >= ? and inspect_date <= ? AND project_id = ? AND item_id = ? AND inspect_value <> ''", user_org_id, start_time, end_time, project_id, item_id).
1444
 			Select("CASE WHEN inspect_value < " + range_value_arr[0] + " THEN " + "'" + "小于" + range_value_arr[0] + "'" +
1466
 			Select("CASE WHEN inspect_value < " + range_value_arr[0] + " THEN " + "'" + "小于" + range_value_arr[0] + "'" +
1445
 				" WHEN inspect_value >= " + range_value_arr[0] + " AND  inspect_value <= " + range_value_arr[1] + " THEN " + "'" + range_value_arr[0] + "~" + range_value_arr[1] + "'" +
1467
 				" WHEN inspect_value >= " + range_value_arr[0] + " AND  inspect_value <= " + range_value_arr[1] + " THEN " + "'" + range_value_arr[0] + "~" + range_value_arr[1] + "'" +
1446
 				" WHEN inspect_value > " + range_value_arr[1] + " THEN " + "'" + "大于" + range_value_arr[1] + "'" +
1468
 				" WHEN inspect_value > " + range_value_arr[1] + " THEN " + "'" + "大于" + range_value_arr[1] + "'" +
1504
 			selectContent = selectContent + " WHEN inspect_value =" + "'" + item + "'" + " THEN " + "'" + item + "'"
1526
 			selectContent = selectContent + " WHEN inspect_value =" + "'" + item + "'" + " THEN " + "'" + item + "'"
1505
 
1527
 
1506
 		}
1528
 		}
1507
-		tempErr = db.Table("xt_inspection").Where("org_id=? and status=1 and  created_time >= ? and created_time <= ? AND project_id = ? AND item_id = ? AND inspect_value <> '' ", user_org_id, start_time, end_time, project_id, item_id).
1529
+		tempErr = db.Table("xt_inspection").Where("org_id=? and status=1 and  inspect_date >= ? and inspect_date <= ? AND project_id = ? AND item_id = ? AND inspect_value <> '' ", user_org_id, start_time, end_time, project_id, item_id).
1508
 			Select(selectContent +
1530
 			Select(selectContent +
1509
 				" ELSE '未知' END AS name, COUNT(*) AS total",
1531
 				" ELSE '未知' END AS name, COUNT(*) AS total",
1510
 			).Group("name").Scan(&items).Error
1532
 			).Group("name").Scan(&items).Error
1556
 			value, _ := strconv.ParseFloat(strings.Replace(range_value, "小于", "", 1), 64)
1578
 			value, _ := strconv.ParseFloat(strings.Replace(range_value, "小于", "", 1), 64)
1557
 			db := service.XTReadDB()
1579
 			db := service.XTReadDB()
1558
 			offset := (page - 1) * limit
1580
 			offset := (page - 1) * limit
1559
-			err = db.Model(&Inspection{}).Where("org_id = ? AND status = 1 AND created_time >= ? AND created_time <= ?  AND project_id = ? AND item_id = ? AND status = 1  AND inspect_value < ?", user_org_id, start_time, end_time, project_id, item_id, value).Preload("Patient", func(db *gorm.DB) *gorm.DB {
1581
+			err = db.Model(&Inspection{}).Where("org_id = ? AND status = 1 AND inspect_date >= ? AND inspect_date <= ?  AND project_id = ? AND item_id = ? AND status = 1  AND inspect_value < ?", user_org_id, start_time, end_time, project_id, item_id, value).Preload("Patient", func(db *gorm.DB) *gorm.DB {
1560
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1582
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1561
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1583
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1562
 			return datas, total, err
1584
 			return datas, total, err
1565
 
1587
 
1566
 			db := service.XTReadDB()
1588
 			db := service.XTReadDB()
1567
 			offset := (page - 1) * limit
1589
 			offset := (page - 1) * limit
1568
-			err = db.Model(&Inspection{}).Where("org_id = ? AND status = 1 AND created_time >= ? AND created_time <= ?  AND project_id = ? AND item_id = ? AND status = 1  AND inspect_value > ?", user_org_id, start_time, end_time, project_id, item_id, value).Preload("Patient", func(db *gorm.DB) *gorm.DB {
1590
+			err = db.Model(&Inspection{}).Where("org_id = ? AND status = 1 AND inspect_date >= ? AND inspect_date <= ?  AND project_id = ? AND item_id = ? AND status = 1  AND inspect_value > ?", user_org_id, start_time, end_time, project_id, item_id, value).Preload("Patient", func(db *gorm.DB) *gorm.DB {
1569
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1591
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1570
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1592
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1571
 			return datas, total, err
1593
 			return datas, total, err
1582
 
1604
 
1583
 			db := service.XTReadDB()
1605
 			db := service.XTReadDB()
1584
 			offset := (page - 1) * limit
1606
 			offset := (page - 1) * limit
1585
-			err = db.Model(&Inspection{}).Where("org_id = ? AND status = 1 AND created_time >= ? AND created_time <= ?  AND project_id = ? AND item_id = ? AND status = 1  AND inspect_value >= ? AND inspect_value <= ?", user_org_id, start_time, end_time, project_id, item_id, float1, float2).Preload("Patient", func(db *gorm.DB) *gorm.DB {
1607
+			err = db.Model(&Inspection{}).Where("org_id = ? AND status = 1 AND inspect_date >= ? AND inspect_date <= ?  AND project_id = ? AND item_id = ? AND status = 1  AND inspect_value >= ? AND inspect_value <= ?", user_org_id, start_time, end_time, project_id, item_id, float1, float2).Preload("Patient", func(db *gorm.DB) *gorm.DB {
1586
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1608
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1587
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1609
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1588
 			return datas, total, err
1610
 			return datas, total, err
1589
 		} else {
1611
 		} else {
1590
 			db := service.XTReadDB()
1612
 			db := service.XTReadDB()
1591
 			offset := (page - 1) * limit
1613
 			offset := (page - 1) * limit
1592
-			err = db.Model(&Inspection{}).Where("org_id = ? AND status = 1 AND created_time >= ? AND created_time <= ?  AND project_id = ? AND item_id = ? AND status = 1 ", user_org_id, start_time, end_time, project_id, item_id).Preload("Patient", func(db *gorm.DB) *gorm.DB {
1614
+			err = db.Model(&Inspection{}).Where("org_id = ? AND status = 1 AND inspect_date >= ? AND inspect_date <= ?  AND project_id = ? AND item_id = ? AND status = 1 ", user_org_id, start_time, end_time, project_id, item_id).Preload("Patient", func(db *gorm.DB) *gorm.DB {
1593
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1615
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1594
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1616
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1595
 			return datas, total, err
1617
 			return datas, total, err
1600
 		if range_value == "全部" {
1622
 		if range_value == "全部" {
1601
 			db := service.XTReadDB()
1623
 			db := service.XTReadDB()
1602
 			offset := (page - 1) * limit
1624
 			offset := (page - 1) * limit
1603
-			err = db.Model(&Inspection{}).Where("org_id = ? AND status = 1 AND created_time >= ? AND created_time <= ?  AND project_id = ? AND item_id = ? AND status = 1   ", user_org_id, start_time, end_time, project_id, item_id).Preload("Patient", func(db *gorm.DB) *gorm.DB {
1625
+			err = db.Model(&Inspection{}).Where("org_id = ? AND status = 1 AND inspect_date >= ? AND inspect_date <= ?  AND project_id = ? AND item_id = ? AND status = 1   ", user_org_id, start_time, end_time, project_id, item_id).Preload("Patient", func(db *gorm.DB) *gorm.DB {
1604
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1626
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1605
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1627
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1606
 			return datas, total, err
1628
 			return datas, total, err
1609
 
1631
 
1610
 			db := service.XTReadDB()
1632
 			db := service.XTReadDB()
1611
 			offset := (page - 1) * limit
1633
 			offset := (page - 1) * limit
1612
-			err = db.Model(&Inspection{}).Where("org_id = ? AND status = 1 AND created_time >= ? AND created_time <= ?  AND project_id = ? AND item_id = ? AND status = 1  AND inspect_value = ?", user_org_id, start_time, end_time, project_id, item_id, range_value).Preload("Patient", func(db *gorm.DB) *gorm.DB {
1634
+			err = db.Model(&Inspection{}).Where("org_id = ? AND status = 1 AND inspect_date >= ? AND inspect_date <= ?  AND project_id = ? AND item_id = ? AND status = 1  AND inspect_value = ?", user_org_id, start_time, end_time, project_id, item_id, range_value).Preload("Patient", func(db *gorm.DB) *gorm.DB {
1613
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1635
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1614
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1636
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1615
 			return datas, total, err
1637
 			return datas, total, err
1627
 
1649
 
1628
 func GetPatientInspectionChartData(user_org_id int64, start_time int64, end_time int64, project_id int64, item_id int64, patient_id int64) (datas []*NewIndexDataStruct, err error) {
1650
 func GetPatientInspectionChartData(user_org_id int64, start_time int64, end_time int64, project_id int64, item_id int64, patient_id int64) (datas []*NewIndexDataStruct, err error) {
1629
 	db := service.XTReadDB()
1651
 	db := service.XTReadDB()
1630
-	err = db.Raw("select from_unixtime(inspect_date, '%Y-%m-%d') as date, inspect_value as value from xt_inspection  Where status = 1 AND org_id = ? AND patient_id = ? AND project_id = ? AND item_id = ? AND created_time <= ? AND  created_time >= ? ", user_org_id, patient_id, project_id, item_id, end_time, start_time).Scan(&datas).Error
1652
+	err = db.Raw("select from_unixtime(inspect_date, '%Y-%m-%d') as date, inspect_value as value from xt_inspection  Where status = 1 AND org_id = ? AND patient_id = ? AND project_id = ? AND item_id = ? AND inspect_date <= ? AND  inspect_date >= ? Order by inspect_date asc ", user_org_id, patient_id, project_id, item_id, end_time, start_time).Scan(&datas).Error
1631
 	if err != nil {
1653
 	if err != nil {
1632
 		return nil, err
1654
 		return nil, err
1633
 	}
1655
 	}
1643
 	range_value_arr := strings.Split(range_value, ",")
1665
 	range_value_arr := strings.Split(range_value, ",")
1644
 	var Total int64
1666
 	var Total int64
1645
 
1667
 
1646
-	db.Table("xt_inspection").Where("org_id=? and status=1 and  created_time >= ? and created_time <= ? AND project_id = ? AND item_id = ? AND patient_id = ?  AND inspect_value <> ''", user_org_id, start_time, end_time, project_id, item_id, patient_id).Count(&Total)
1668
+	db.Table("xt_inspection").Where("org_id=? and status=1 and  inspect_date >= ? and inspect_date <= ? AND project_id = ? AND item_id = ? AND patient_id = ?  AND inspect_value <> ''", user_org_id, start_time, end_time, project_id, item_id, patient_id).Count(&Total)
1647
 
1669
 
1648
 	if range_type == 1 {
1670
 	if range_type == 1 {
1649
-		tempErr = db.Table("xt_inspection").Where("org_id=? and status=1 and  created_time >= ? and created_time <= ? AND project_id = ? AND item_id = ? AND patient_id = ? AND inspect_value <> ''", user_org_id, start_time, end_time, project_id, item_id, patient_id).
1671
+		tempErr = db.Table("xt_inspection").Where("org_id=? and status=1 and  inspect_date >= ? and inspect_date <= ? AND project_id = ? AND item_id = ? AND patient_id = ? AND inspect_value <> ''", user_org_id, start_time, end_time, project_id, item_id, patient_id).
1650
 			Select("CASE WHEN inspect_value < " + range_value_arr[0] + " THEN " + "'" + "小于" + range_value_arr[0] + "'" +
1672
 			Select("CASE WHEN inspect_value < " + range_value_arr[0] + " THEN " + "'" + "小于" + range_value_arr[0] + "'" +
1651
 				" WHEN inspect_value >= " + range_value_arr[0] + " AND  inspect_value <= " + range_value_arr[1] + " THEN " + "'" + range_value_arr[0] + "~" + range_value_arr[1] + "'" +
1673
 				" WHEN inspect_value >= " + range_value_arr[0] + " AND  inspect_value <= " + range_value_arr[1] + " THEN " + "'" + range_value_arr[0] + "~" + range_value_arr[1] + "'" +
1652
 				" WHEN inspect_value > " + range_value_arr[1] + " THEN " + "'" + "大于" + range_value_arr[1] + "'" +
1674
 				" WHEN inspect_value > " + range_value_arr[1] + " THEN " + "'" + "大于" + range_value_arr[1] + "'" +
1710
 		for _, item := range range_value_arr {
1732
 		for _, item := range range_value_arr {
1711
 			selectContent = selectContent + " WHEN inspect_value =" + "'" + item + "'" + " THEN " + "'" + item + "'"
1733
 			selectContent = selectContent + " WHEN inspect_value =" + "'" + item + "'" + " THEN " + "'" + item + "'"
1712
 		}
1734
 		}
1713
-		tempErr = db.Table("xt_inspection").Where("org_id=? and status=1 and  created_time >= ? and created_time <= ? AND patient_id  = ? AND inspect_value <> '' AND project_id = ? AND item_id = ?", user_org_id, start_time, end_time, patient_id, project_id, item_id).
1735
+		tempErr = db.Table("xt_inspection").Where("org_id=? and status=1 and  inspect_date >= ? and inspect_date <= ? AND patient_id  = ? AND inspect_value <> '' AND project_id = ? AND item_id = ?", user_org_id, start_time, end_time, patient_id, project_id, item_id).
1714
 			Select(selectContent +
1736
 			Select(selectContent +
1715
 				" ELSE '未知' END AS name, COUNT(*) AS total",
1737
 				" ELSE '未知' END AS name, COUNT(*) AS total",
1716
 			).Group("name").Scan(&items).Error
1738
 			).Group("name").Scan(&items).Error