Procházet zdrojové kódy

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

XMLWAN před 4 roky
rodič
revize
5708a4f049

+ 9 - 71
controllers/new_mobile_api_controllers/index_evaluation_api_controller.go Zobrazit soubor

@@ -2,7 +2,6 @@ package new_mobile_api_controllers
2 2
 
3 3
 import (
4 4
 	"XT_New/enums"
5
-	"XT_New/models"
6 5
 	"XT_New/service/statistics_service"
7 6
 	"XT_New/utils"
8 7
 	"fmt"
@@ -25,20 +24,7 @@ func (this *IndexEvaluationApiController) GetAdminUser() {
25 24
 //初始化数据
26 25
 func (this *IndexEvaluationApiController) GetLaboratoryIndexInitData() {
27 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 28
 	this.ServeSuccessJSON(map[string]interface{}{
43 29
 		"references": references,
44 30
 	})
@@ -55,33 +41,13 @@ func (this *IndexEvaluationApiController) GetLaboratoryIndexProjectRangeValueDat
55 41
 	var range_vaule []string
56 42
 	if range_type == 1 {
57 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 46
 	} else {
79
-
80 47
 		inspection, _ := statistics_service.FindOrgInspectionReferenceRangeTypeValue(adminUserInfo.Org.Id, project_id, item_id)
81 48
 		for _, item := range inspection {
82 49
 			range_vaule = append(range_vaule, item.InspectValue)
83 50
 		}
84
-
85 51
 	}
86 52
 	this.ServeSuccessJSON(map[string]interface{}{
87 53
 		"range_vaule": range_vaule,
@@ -119,22 +85,7 @@ func (this *IndexEvaluationApiController) GetInspectionChartData() {
119 85
 	var range_value string
120 86
 	if range_type == 1 {
121 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 90
 	} else {
140 91
 
@@ -264,22 +215,8 @@ func (this *IndexEvaluationApiController) GetPatientInspectionBarChartData() {
264 215
 	var range_value string
265 216
 	if range_type == 1 {
266 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 221
 	} else {
285 222
 
@@ -857,7 +794,7 @@ func (this *IndexEvaluationApiController) GetNurseWorkloadTableData() {
857 794
 		page = 1
858 795
 	}
859 796
 	if limit == 0 {
860
-		limit = 20
797
+		limit = 10
861 798
 	}
862 799
 	timeLayout := "2006-01-02"
863 800
 	loc, _ := time.LoadLocation("Local")
@@ -878,9 +815,10 @@ func (this *IndexEvaluationApiController) GetNurseWorkloadTableData() {
878 815
 		}
879 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 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 Zobrazit soubor

@@ -2,7 +2,6 @@ package controllers
2 2
 
3 3
 import (
4 4
 	"XT_New/enums"
5
-	"XT_New/models"
6 5
 	"XT_New/service/statistics_service"
7 6
 	"XT_New/utils"
8 7
 	"github.com/astaxie/beego"
@@ -52,24 +51,10 @@ type PCIndexEvaluationApiController struct {
52 51
 //初始化数据
53 52
 func (this *PCIndexEvaluationApiController) GetLaboratoryIndexInitData() {
54 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 55
 	this.ServeSuccessJSON(map[string]interface{}{
70 56
 		"references": references,
71 57
 	})
72
-
73 58
 }
74 59
 
75 60
 //获取取值范围
@@ -81,24 +66,8 @@ func (this *PCIndexEvaluationApiController) GetLaboratoryIndexProjectRangeValueD
81 66
 	var range_vaule []string
82 67
 	if range_type == 1 {
83 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 72
 	} else {
104 73
 
@@ -144,19 +113,7 @@ func (this *PCIndexEvaluationApiController) GetInspectionChartData() {
144 113
 	var range_value string
145 114
 	if range_type == 1 {
146 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 118
 	} else {
162 119
 		inspection, _ := statistics_service.FindOrgInspectionReferenceRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id)
@@ -286,19 +243,7 @@ func (this *PCIndexEvaluationApiController) GetPatientInspectionBarChartData() {
286 243
 	var range_value string
287 244
 	if range_type == 1 {
288 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 248
 	} else {
304 249
 		inspection, _ := statistics_service.FindOrgInspectionReferenceRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id)
@@ -883,7 +828,7 @@ func (this *PCIndexEvaluationApiController) GetNurseWorkloadTableData() {
883 828
 		page = 1
884 829
 	}
885 830
 	if limit == 0 {
886
-		limit = 20
831
+		limit = 5
887 832
 	}
888 833
 	timeLayout := "2006-01-02"
889 834
 	loc, _ := time.LoadLocation("Local")
@@ -904,9 +849,10 @@ func (this *PCIndexEvaluationApiController) GetNurseWorkloadTableData() {
904 849
 		}
905 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 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 Zobrazit soubor

@@ -40,11 +40,11 @@ func GetDialysisProcessIndexChartData(user_org_id int64, patient_id int64, start
40 40
 
41 41
 		break
42 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 45
 		break
46 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 49
 		break
50 50
 	case 5:
@@ -52,10 +52,10 @@ func GetDialysisProcessIndexChartData(user_org_id int64, patient_id int64, start
52 52
 
53 53
 		break
54 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 56
 		break
57 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 60
 		break
61 61
 	case 8:
@@ -183,123 +183,123 @@ func GetDialysisWatchChartData(user_org_id int64, patient_id int64, start_time i
183 183
 	switch statistics_type {
184 184
 	case 1:
185 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 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 191
 		break
192 192
 	case 2:
193 193
 
194 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 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 204
 		break
205 205
 	case 3:
206 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 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 214
 		break
215 215
 	case 4:
216 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 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 224
 		break
225 225
 	case 5:
226 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 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 234
 		break
235 235
 	case 6:
236 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 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 243
 		break
244 244
 	case 7:
245 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 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 254
 		break
255 255
 	case 8:
256 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 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 262
 		break
263 263
 	case 9:
264 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 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 273
 		break
274 274
 	case 10:
275 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 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 284
 		break
285 285
 	case 11:
286 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 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 295
 		break
296 296
 	case 12:
297 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 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,7 +542,7 @@ func GetDialysisWeightChartData(user_org_id int64, start_time int64, end_time in
542 542
 		}
543 543
 		var weights []*weight
544 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 546
 		for index, _ := range weights {
547 547
 			if index+1 < len(weights) {
548 548
 				if weights[index+1].WeightAfter == 0 || weights[index].WeightBefore == 0 {
@@ -792,7 +792,7 @@ func GetPatientDialysisWeightChartData(user_org_id int64, patient_id int64, star
792 792
 		}
793 793
 
794 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 796
 		fmt.Println(len(weights))
797 797
 		for index, _ := range weights {
798 798
 
@@ -845,9 +845,9 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
845 845
 		var bps []*bp
846 846
 
847 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 851
 			Total = TotalOne + TotalTwo
852 852
 			fmt.Println("----Total-----")
853 853
 			fmt.Println(TotalOne)
@@ -855,9 +855,9 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
855 855
 			fmt.Println(Total)
856 856
 
857 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 861
 			Total = TotalOne + TotalTwo
862 862
 			fmt.Println(TotalOne)
863 863
 			fmt.Println(TotalTwo)
@@ -921,24 +921,24 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
921 921
 		break
922 922
 	case 2:
923 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 925
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
926 926
 					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
927 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 928
 					" ELSE '其他' END AS name, COUNT(*) AS total",
929 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 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 935
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
936 936
 					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
937 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 938
 					" ELSE '其他' END AS name, COUNT(*) AS total",
939 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,23 +1010,23 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
1010 1010
 		break
1011 1011
 	case 3:
1012 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 1014
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
1015 1015
 					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
1016 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 1017
 					" ELSE '其他' END AS name, COUNT(*) AS total",
1018 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 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 1023
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
1024 1024
 					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
1025 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 1026
 					" ELSE '其他' END AS name, COUNT(*) AS total",
1027 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,7 +1121,7 @@ func GetBloodPressureTableData(orgID, patientID int64, page, limit, start, end i
1121 1121
 	db = db.Preload("VMPredialysisEvaluation", "status = 1 AND user_org_id = ?", orgID).
1122 1122
 		Preload("VMAssessmentAfterDislysis", "status = 1 AND user_org_id = ?", orgID).
1123 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 1126
 		Preload("VMMaxMonitoringRecord", func(db *gorm.DB) *gorm.DB {
1127 1127
 			return db.Where("status = 1 AND user_org_id = ?", orgID).Order("systolic_blood_pressure ASC")
@@ -1142,10 +1142,10 @@ func GetPatientBloodPressureChartData(user_org_id int64, patient_id int64, start
1142 1142
 	db := service.XTReadDB()
1143 1143
 	switch statistics_type {
1144 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 1146
 		break
1147 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 1149
 		break
1150 1150
 
1151 1151
 	}
@@ -1167,11 +1167,11 @@ func GetDoctorWorkloadChartData(user_org_id int64, start_time int64, end_time in
1167 1167
 	switch statistics_type {
1168 1168
 	case 1:
1169 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 1172
 		for _, item := range datas {
1173 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 1175
 			item.PCount = total
1176 1176
 
1177 1177
 			if math.IsNaN(float64(item.PCount) / float64(Total)) {
@@ -1242,7 +1242,7 @@ func GetDoctorWorkloadTableData(user_org_id int64, start_time int64, end_time in
1242 1242
 		var Total int64
1243 1243
 		var TotalOne int64
1244 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 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 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 1248
 		item.PCount = Total
@@ -1268,16 +1268,16 @@ func GetNurseWorkloadChartData(user_org_id int64, start_time int64, end_time int
1268 1268
 	var tempConfig models.Dataconfig
1269 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 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 1276
 	switch statistics_type {
1277 1277
 	case 1:
1278 1278
 		for _, item := range datas {
1279 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 1281
 			item.PunctureCount = Total
1282 1282
 
1283 1283
 			if math.IsNaN(float64(item.PunctureCount) / float64(NewTotalOne)) {
@@ -1292,7 +1292,7 @@ func GetNurseWorkloadChartData(user_org_id int64, start_time int64, end_time int
1292 1292
 	case 2:
1293 1293
 		for _, item := range datas {
1294 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 1296
 			item.ChangemedicineCount = Total
1297 1297
 
1298 1298
 			if math.IsNaN(float64(item.ChangemedicineCount) / float64(NewTotalTwo)) {
@@ -1307,7 +1307,7 @@ func GetNurseWorkloadChartData(user_org_id int64, start_time int64, end_time int
1307 1307
 	case 3:
1308 1308
 		for _, item := range datas {
1309 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 1311
 			item.CureCount = total
1312 1312
 			if math.IsNaN(float64(item.CureCount) / float64(NewTotalThree)) {
1313 1313
 				item.CureRatio = "0.0"
@@ -1340,15 +1340,16 @@ func GetNurseWorkloadChartData(user_org_id int64, start_time int64, end_time int
1340 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 1344
 	userDb := service.UserReadDB()
1345 1345
 	db := service.XTReadDB()
1346 1346
 	var tempConfig models.Dataconfig
1347
+	offset := (page - 1) * limit
1347 1348
 
1348 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 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 1353
 	} else {
1353 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,9 +1359,9 @@ func GetNurseWorkloadTableData(user_org_id int64, start_time int64, end_time int
1358 1359
 		var TotalOne int64
1359 1360
 		var TotalTwo int64
1360 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 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 1366
 		item.PunctureCount = Total
1366 1367
 		item.ChangemedicineCount = TotalOne
@@ -1370,9 +1371,9 @@ func GetNurseWorkloadTableData(user_org_id int64, start_time int64, end_time int
1370 1371
 	}
1371 1372
 
1372 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,9 +1393,30 @@ func GetAllAdminUser(user_org_id int64) (datas []*AdminUser, err error) {
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 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 1420
 	return
1399 1421
 }
1400 1422
 
@@ -1437,10 +1459,10 @@ func GetInspectionChartData(user_org_id int64, start_time int64, end_time int64,
1437 1459
 	selectContent := "CASE"
1438 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 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 1466
 			Select("CASE WHEN inspect_value < " + range_value_arr[0] + " THEN " + "'" + "小于" + range_value_arr[0] + "'" +
1445 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 1468
 				" WHEN inspect_value > " + range_value_arr[1] + " THEN " + "'" + "大于" + range_value_arr[1] + "'" +
@@ -1504,7 +1526,7 @@ func GetInspectionChartData(user_org_id int64, start_time int64, end_time int64,
1504 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 1530
 			Select(selectContent +
1509 1531
 				" ELSE '未知' END AS name, COUNT(*) AS total",
1510 1532
 			).Group("name").Scan(&items).Error
@@ -1556,7 +1578,7 @@ func GetInspectionChartTableData(user_org_id int64, start_time int64, end_time i
1556 1578
 			value, _ := strconv.ParseFloat(strings.Replace(range_value, "小于", "", 1), 64)
1557 1579
 			db := service.XTReadDB()
1558 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 1582
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1561 1583
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1562 1584
 			return datas, total, err
@@ -1565,7 +1587,7 @@ func GetInspectionChartTableData(user_org_id int64, start_time int64, end_time i
1565 1587
 
1566 1588
 			db := service.XTReadDB()
1567 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 1591
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1570 1592
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1571 1593
 			return datas, total, err
@@ -1582,14 +1604,14 @@ func GetInspectionChartTableData(user_org_id int64, start_time int64, end_time i
1582 1604
 
1583 1605
 			db := service.XTReadDB()
1584 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 1608
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1587 1609
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1588 1610
 			return datas, total, err
1589 1611
 		} else {
1590 1612
 			db := service.XTReadDB()
1591 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 1615
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1594 1616
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1595 1617
 			return datas, total, err
@@ -1600,7 +1622,7 @@ func GetInspectionChartTableData(user_org_id int64, start_time int64, end_time i
1600 1622
 		if range_value == "全部" {
1601 1623
 			db := service.XTReadDB()
1602 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 1626
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1605 1627
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1606 1628
 			return datas, total, err
@@ -1609,7 +1631,7 @@ func GetInspectionChartTableData(user_org_id int64, start_time int64, end_time i
1609 1631
 
1610 1632
 			db := service.XTReadDB()
1611 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 1635
 				return db.Where("status = 1 AND user_org_id = ?", user_org_id)
1614 1636
 			}).Count(&total).Offset(offset).Limit(limit).Find(&datas).Error
1615 1637
 			return datas, total, err
@@ -1627,7 +1649,7 @@ type NewIndexDataStruct struct {
1627 1649
 
1628 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 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 1653
 	if err != nil {
1632 1654
 		return nil, err
1633 1655
 	}
@@ -1643,10 +1665,10 @@ func GetPatientInspectionBarChartData(user_org_id int64, start_time int64, end_t
1643 1665
 	range_value_arr := strings.Split(range_value, ",")
1644 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 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 1672
 			Select("CASE WHEN inspect_value < " + range_value_arr[0] + " THEN " + "'" + "小于" + range_value_arr[0] + "'" +
1651 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 1674
 				" WHEN inspect_value > " + range_value_arr[1] + " THEN " + "'" + "大于" + range_value_arr[1] + "'" +
@@ -1710,7 +1732,7 @@ func GetPatientInspectionBarChartData(user_org_id int64, start_time int64, end_t
1710 1732
 		for _, item := range range_value_arr {
1711 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 1736
 			Select(selectContent +
1715 1737
 				" ELSE '未知' END AS name, COUNT(*) AS total",
1716 1738
 			).Group("name").Scan(&items).Error