Browse Source

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

XMLWAN 4 years ago
parent
commit
667ad523cc

+ 13 - 0
controllers/new_mobile_api_controllers/index_evaluation_api_controller.go View File

@@ -896,3 +896,16 @@ func (this *IndexEvaluationApiController) GetDefaultPatient() {
896 896
 	})
897 897
 
898 898
 }
899
+
900
+func (this *IndexEvaluationApiController) GetAllPatients() {
901
+	adminUserInfo := this.GetMobileAdminUserInfo()
902
+	patients, _ := statistics_service.GetOrgPatients(adminUserInfo.Org.Id)
903
+	if patients == nil {
904
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOrgNoPatient)
905
+		return
906
+	}
907
+	this.ServeSuccessJSON(map[string]interface{}{
908
+		"patients": patients,
909
+	})
910
+
911
+}

+ 2 - 0
controllers/new_mobile_api_controllers/statistics_api_controllers.go View File

@@ -35,4 +35,6 @@ func StatisticsAPIControllersRegisterRouters() {
35 35
 	beego.Router("/m/api/adminuser/all", &IndexEvaluationApiController{}, "Get:GetAdminUser")
36 36
 	beego.Router("/m/api/defalutpatient/get", &IndexEvaluationApiController{}, "Get:GetDefaultPatient")
37 37
 
38
+	beego.Router("/m/api/patients/get", &IndexEvaluationApiController{}, "Get:GetAllPatients")
39
+
38 40
 }

+ 44 - 18
service/statistics_service/index_evaluation_service.go View File

@@ -874,10 +874,10 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
874 874
 		for _, item := range bps {
875 875
 			if item.SystolicBloodPressure > 160 && item.DiastolicBloodPressure > 100 {
876 876
 				total_one++
877
-			} else if item.SystolicBloodPressure < 140 && item.DiastolicBloodPressure < 99 {
877
+			} else if item.SystolicBloodPressure < 140 && item.DiastolicBloodPressure < 90 {
878 878
 				total_two++
879 879
 
880
-			} else if item.SystolicBloodPressure >= 140 && item.SystolicBloodPressure <= 160 && item.DiastolicBloodPressure >= 99 && item.DiastolicBloodPressure <= 100 {
880
+			} else if item.SystolicBloodPressure >= 140 && item.SystolicBloodPressure <= 160 && item.DiastolicBloodPressure >= 90 && item.DiastolicBloodPressure <= 100 {
881 881
 				total_three++
882 882
 			} else {
883 883
 
@@ -892,7 +892,7 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
892 892
 		}
893 893
 		newItem1 := &otherItemAmount{
894 894
 			Total: total_two,
895
-			Name:  "小于140/99mmHg",
895
+			Name:  "小于140/90mmHg",
896 896
 			Ratio: "0",
897 897
 		}
898 898
 		newItem2 := &otherItemAmount{
@@ -924,8 +924,8 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
924 924
 		if patient_id == 0 {
925 925
 			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).
926 926
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
927
-					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 99 THEN '小于140/99mmHg'" +
928
-					" WHEN systolic_blood_pressure >= 140 AND  systolic_blood_pressure <= 160   AND  diastolic_blood_pressure >= 99 AND  diastolic_blood_pressure <= 100 THEN '140-160mmHg/90-100mmHg'" +
927
+					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
928
+					" 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'" +
929 929
 					" ELSE '其他' END AS name, COUNT(*) AS total",
930 930
 				).Group("name").Scan(&items).Error
931 931
 			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)
@@ -934,8 +934,8 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
934 934
 
935 935
 			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).
936 936
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
937
-					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 99 THEN '小于140/99mmHg'" +
938
-					" WHEN systolic_blood_pressure >= 140 AND  systolic_blood_pressure <= 160   AND  diastolic_blood_pressure >= 99 AND  diastolic_blood_pressure <= 100 THEN '140-160mmHg/90-100mmHg'" +
937
+					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
938
+					" 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'" +
939 939
 					" ELSE '其他' END AS name, COUNT(*) AS total",
940 940
 				).Group("name").Scan(&items).Error
941 941
 
@@ -952,7 +952,7 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
952 952
 			if item.Name == "大于160/100mmHg" {
953 953
 				isHasConditionOne = true
954 954
 			}
955
-			if item.Name == "小于140/99mmHg" {
955
+			if item.Name == "小于140/90mmHg" {
956 956
 				isHasConditionTwo = true
957 957
 			}
958 958
 
@@ -975,7 +975,7 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
975 975
 		if !isHasConditionTwo {
976 976
 			newItem := &otherItemAmount{
977 977
 				Total: 0,
978
-				Name:  "小于140/99mmHg",
978
+				Name:  "小于140/90mmHg",
979 979
 				Ratio: "0",
980 980
 			}
981 981
 			items = append(items, newItem)
@@ -1013,8 +1013,8 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
1013 1013
 		if patient_id == 0 {
1014 1014
 			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).
1015 1015
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
1016
-					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 99 THEN '小于140/99mmHg'" +
1017
-					" WHEN systolic_blood_pressure >= 140 AND  systolic_blood_pressure <= 160   AND  diastolic_blood_pressure >= 99 AND  diastolic_blood_pressure <= 100 THEN '140-160mmHg/90-100mmHg'" +
1016
+					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
1017
+					" 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'" +
1018 1018
 					" ELSE '其他' END AS name, COUNT(*) AS total",
1019 1019
 				).Group("name").Scan(&items).Error
1020 1020
 			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)
@@ -1022,8 +1022,8 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
1022 1022
 		} else {
1023 1023
 			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).
1024 1024
 				Select("CASE WHEN systolic_blood_pressure > 160 AND  diastolic_blood_pressure > 100 THEN '大于160/100mmHg'" +
1025
-					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 99 THEN '小于140/99mmHg'" +
1026
-					" WHEN systolic_blood_pressure >= 140 AND  systolic_blood_pressure <= 160   AND  diastolic_blood_pressure >= 99 AND  diastolic_blood_pressure <= 100 THEN '140-160mmHg/90-100mmHg'" +
1025
+					" WHEN systolic_blood_pressure < 140 AND  diastolic_blood_pressure < 90 THEN '小于140/90mmHg'" +
1026
+					" 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'" +
1027 1027
 					" ELSE '其他' END AS name, COUNT(*) AS total",
1028 1028
 				).Group("name").Scan(&items).Error
1029 1029
 
@@ -1040,7 +1040,7 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
1040 1040
 			if item.Name == "大于160/100mmHg" {
1041 1041
 				isHasConditionOne = true
1042 1042
 			}
1043
-			if item.Name == "小于140/99mmHg" {
1043
+			if item.Name == "小于140/90mmHg" {
1044 1044
 				isHasConditionTwo = true
1045 1045
 			}
1046 1046
 
@@ -1063,7 +1063,7 @@ func GetBloodPressureChartData(user_org_id int64, start_time int64, end_time int
1063 1063
 		if !isHasConditionTwo {
1064 1064
 			newItem := &otherItemAmount{
1065 1065
 				Total: 0,
1066
-				Name:  "小于140/99mmHg",
1066
+				Name:  "小于140/90mmHg",
1067 1067
 				Ratio: "0",
1068 1068
 			}
1069 1069
 			items = append(items, newItem)
@@ -1114,10 +1114,10 @@ func GetBloodPressureTableData(orgID, patientID int64, page, limit, start, end i
1114 1114
 		db = db.Where("sch.patient_id=?", patientID)
1115 1115
 	}
1116 1116
 	if start != 0 {
1117
-		db = db.Where("sch.created_time>=?", start)
1117
+		db = db.Where("sch.schedule_date>=?", start)
1118 1118
 	}
1119 1119
 	if end != 0 {
1120
-		db = db.Where("sch.created_time<=?", end)
1120
+		db = db.Where("sch.schedule_date<=?", end)
1121 1121
 	}
1122 1122
 	db = db.Preload("VMPredialysisEvaluation", "status = 1 AND user_org_id = ?", orgID).
1123 1123
 		Preload("VMAssessmentAfterDislysis", "status = 1 AND user_org_id = ?", orgID).
@@ -1403,7 +1403,7 @@ func FindOrgInspectionReference(user_org_id int64, range_type int) (references [
1403 1403
 	db := service.XTReadDB()
1404 1404
 	if range_type == 1 {
1405 1405
 
1406
-		err = db.Model(&models.InspectionReference{}).Where("status = 1 AND org_id = ? AND range_type = 1 AND range_max REGEXP '([^0-9.])' AND range_min REGEXP '([^0-9.])' ", user_org_id).Find(&references).Error
1406
+		err = db.Model(&models.InspectionReference{}).Where("status = 1 AND org_id = ? AND range_type = 1 AND  (range_min REGEXP '[^0-9.]') = 0  AND  (range_max REGEXP '[^0-9.]') = 0 ", user_org_id).Find(&references).Error
1407 1407
 
1408 1408
 	} else {
1409 1409
 		err = db.Model(&models.InspectionReference{}).Where("status = 1 AND org_id = ? AND range_type = 2", user_org_id).Find(&references).Error
@@ -1727,3 +1727,29 @@ func GetPatientInspectionBarChartData(user_org_id int64, start_time int64, end_t
1727 1727
 	}
1728 1728
 
1729 1729
 }
1730
+
1731
+type VMPatient struct {
1732
+	ID        int64  `gorm:"column:id" json:"id" form:"id"`
1733
+	UserOrgId int64  `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
1734
+	UserId    int64  `gorm:"column:user_id" json:"user_id" form:"user_id"`
1735
+	Name      string `gorm:"column:name" json:"name" form:"name"`
1736
+	Lapseto   int64  `gorm:"column:lapseto" json:"lapseto" form:"lapseto"`
1737
+	Status    int64  `gorm:"column:status" json:"status" form:"status"`
1738
+}
1739
+
1740
+func (VMPatient) TableName() string {
1741
+	return "xt_patients"
1742
+}
1743
+
1744
+func GetOrgPatients(user_org_id int64) (patient *[]VMPatient, err error) {
1745
+	db := service.XTReadDB()
1746
+	var tempPatient []VMPatient
1747
+	findErr := db.Model(&models.Patients{}).Where("user_org_id = ? AND status = 1 AND lapseto = 1", user_org_id).Find(&tempPatient).Error
1748
+	if findErr == gorm.ErrRecordNotFound {
1749
+		return nil, nil
1750
+	}
1751
+	if findErr != nil {
1752
+		return nil, findErr
1753
+	}
1754
+	return &tempPatient, nil
1755
+}