package controllers import ( "Xcx_New/enums" "Xcx_New/models" "Xcx_New/service/statistics_service" "Xcx_New/utils" "github.com/astaxie/beego" "time" ) func PCIndexEvaluationApiControllersRegisterRouters() { beego.Router("/api/inspectionindex/init", &PCIndexEvaluationApiController{}, "Get:GetLaboratoryIndexInitData") beego.Router("/api/rangevalue/get", &PCIndexEvaluationApiController{}, "Get:GetLaboratoryIndexProjectRangeValueData") beego.Router("/api/inspectionindex/chart", &PCIndexEvaluationApiController{}, "Get:GetInspectionChartData") beego.Router("/api/inspectionindex/table", &PCIndexEvaluationApiController{}, "Get:GetInspectionChartTableData") beego.Router("/api/patientinspectionindex/chart", &PCIndexEvaluationApiController{}, "Get:GetPatientInspectionChartData") beego.Router("/api/patientinspectionindex/barchart", &PCIndexEvaluationApiController{}, "Get:GetPatientInspectionBarChartData") beego.Router("/api/dialysisprocessindex/chart", &PCIndexEvaluationApiController{}, "Get:GetDialysisProcessIndexChartData") beego.Router("/api/dialysisprocessindex/table", &PCIndexEvaluationApiController{}, "Get:GetDialysisProcessIndexTableData") beego.Router("/api/dialysiswatch/chart", &PCIndexEvaluationApiController{}, "Get:GetDialysisWatchChartData") beego.Router("/api/dialysiswatch/table", &PCIndexEvaluationApiController{}, "Get:GetDialysisWatchTableData") beego.Router("/api/dialysisbloodpressure/chart", &PCIndexEvaluationApiController{}, "Get:GetDialysisBloodPressureChartData") beego.Router("/api/dialysisbloodpressure/table", &PCIndexEvaluationApiController{}, "Get:GetDialysisBloodPressureTableData") beego.Router("/api/patientdialysisbloodpressure/chart", &PCIndexEvaluationApiController{}, "Get:GetDialysisPatientBloodPressureChartData") beego.Router("/api/dialysisweight/chart", &PCIndexEvaluationApiController{}, "Get:GetDialysisWeightChartData") beego.Router("/api/dialysisweight/table", &PCIndexEvaluationApiController{}, "Get:GetDialysisWeightTableData") beego.Router("/api/patientdialysisweight/chart", &PCIndexEvaluationApiController{}, "Get:GetDialysisPatientWeightChartData") beego.Router("/api/doctorworkload/chart", &PCIndexEvaluationApiController{}, "Get:GetDoctorWorkloadChartData") beego.Router("/api/doctorworkload/table", &PCIndexEvaluationApiController{}, "Get:GetDoctorWorkloadTableData") beego.Router("/api/nurseworkload/chart", &PCIndexEvaluationApiController{}, "Get:GetNurseWorkloadChartData") beego.Router("/api/nurseworkload/table", &PCIndexEvaluationApiController{}, "Get:GetNurseWorkloadTableData") beego.Router("/api/adminuser/all", &PCIndexEvaluationApiController{}, "Get:GetAdminUser") beego.Router("/api/defalutpatient/get", &PCIndexEvaluationApiController{}, "Get:GetDefaultPatient") } type PCIndexEvaluationApiController struct { BaseAuthAPIController } //化验指标 //初始化数据 func (this *PCIndexEvaluationApiController) GetLaboratoryIndexInitData() { adminUserInfo := this.GetAdminUserInfo() var references []*models.InspectionReference count, _ := statistics_service.FindOrgInspectionCount(adminUserInfo.CurrentOrgId) if count <= 0 { references, _ = statistics_service.FindOrgInspectionReference(0, 1) references2, _ := statistics_service.FindOrgInspectionReference(0, 2) references = append(references, references2...) } else { references, _ = statistics_service.FindOrgInspectionReference(adminUserInfo.CurrentOrgId, 1) references2, _ := statistics_service.FindOrgInspectionReference(adminUserInfo.CurrentOrgId, 2) references = append(references, references2...) } this.ServeSuccessJSON(map[string]interface{}{ "references": references, }) } //获取取值范围 func (this *PCIndexEvaluationApiController) GetLaboratoryIndexProjectRangeValueData() { range_type, _ := this.GetInt64("range_type") project_id, _ := this.GetInt64("project_id") item_id, _ := this.GetInt64("item_id") adminUserInfo := this.GetAdminUserInfo() var range_vaule []string var qcs models.InspectionReference if range_type == 1 { count, _ := statistics_service.FindOrgInspectionCount(adminUserInfo.CurrentOrgId) if count <= 0 { qcs, _ = statistics_service.FindOrgConfigRangeTypeValue(0, project_id, item_id) } else { qcs, _ = statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id) } range_vaule = append(range_vaule, qcs.RangeMin) range_vaule = append(range_vaule, qcs.RangeMax) } else { inspection, _ := statistics_service.FindOrgInspectionReferenceRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id) for _, item := range inspection { range_vaule = append(range_vaule, item.InspectValue) } } this.ServeSuccessJSON(map[string]interface{}{ "range_vaule": range_vaule, }) } func (this *PCIndexEvaluationApiController) GetInspectionChartData() { adminUserInfo := this.GetAdminUserInfo() start_time := this.GetString("start_time") end_time := this.GetString("end_time") project_id, _ := this.GetInt64("project_id") item_id, _ := this.GetInt64("item_id") range_type, _ := this.GetInt("range_type") timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } var range_value string if range_type == 1 { count, _ := statistics_service.FindOrgInspectionCount(adminUserInfo.CurrentOrgId) if count <= 0 { qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(0, project_id, item_id) range_value = qcs.RangeMin + "," + qcs.RangeMax } else { qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id) range_value = qcs.RangeMin + "," + qcs.RangeMax } } else { inspection, _ := statistics_service.FindOrgInspectionReferenceRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id) for _, item := range inspection { if len(range_value) == 0 { range_value = item.InspectValue } else { range_value = range_value + "," + item.InspectValue } } } data, _ := statistics_service.GetInspectionChartData(adminUserInfo.CurrentOrgId, theStartTIme, theEndtTIme, project_id, item_id, range_type, range_value) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } func (this *PCIndexEvaluationApiController) GetInspectionChartTableData() { adminUserInfo := this.GetAdminUserInfo() start_time := this.GetString("start_time") end_time := this.GetString("end_time") patient_id, _ := this.GetInt64("patient_id") page, _ := this.GetInt64("page") limit, _ := this.GetInt64("limit") project_id, _ := this.GetInt64("project_id") item_id, _ := this.GetInt64("item_id") range_value := this.GetString("range_value") range_type, _ := this.GetInt("range_type") if page == 0 { page = 1 } if limit == 0 { limit = 20 } timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } data, total, _ := statistics_service.GetInspectionChartTableData(adminUserInfo.CurrentOrgId, theStartTIme, theEndtTIme, project_id, item_id, patient_id, page, limit, range_type, range_value) this.ServeSuccessJSON(map[string]interface{}{ "data": data, "total": total, }) } func (this *PCIndexEvaluationApiController) GetPatientInspectionChartData() { adminUserInfo := this.GetAdminUserInfo() start_time := this.GetString("start_time") end_time := this.GetString("end_time") project_id, _ := this.GetInt64("project_id") item_id, _ := this.GetInt64("item_id") patient_id, _ := this.GetInt64("patient_id") timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } data, _ := statistics_service.GetPatientInspectionChartData(adminUserInfo.CurrentOrgId, theStartTIme, theEndtTIme, project_id, item_id, patient_id) references, _ := statistics_service.FindOrgQualityControlStandardInspectionReferenceById(adminUserInfo.CurrentOrgId, project_id, item_id) this.ServeSuccessJSON(map[string]interface{}{ "data": data, "references": references, }) } func (this *PCIndexEvaluationApiController) GetPatientInspectionBarChartData() { adminUserInfo := this.GetAdminUserInfo() start_time := this.GetString("start_time") end_time := this.GetString("end_time") project_id, _ := this.GetInt64("project_id") item_id, _ := this.GetInt64("item_id") range_type, _ := this.GetInt("range_type") patient_id, _ := this.GetInt64("patient_id") timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } var range_value string if range_type == 1 { count, _ := statistics_service.FindOrgInspectionCount(adminUserInfo.CurrentOrgId) if count <= 0 { qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(0, project_id, item_id) range_value = qcs.RangeMin + "," + qcs.RangeMax } else { qcs, _ := statistics_service.FindOrgConfigRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id) range_value = qcs.RangeMin + "," + qcs.RangeMax } } else { inspection, _ := statistics_service.FindOrgInspectionReferenceRangeTypeValue(adminUserInfo.CurrentOrgId, project_id, item_id) for _, item := range inspection { if len(range_value) == 0 { range_value = item.InspectValue } else { range_value = range_value + "," + item.InspectValue } } } data, _ := statistics_service.GetPatientInspectionBarChartData(adminUserInfo.CurrentOrgId, theStartTIme, theEndtTIme, project_id, item_id, range_type, range_value, patient_id) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } func (this *PCIndexEvaluationApiController) GetAdminUser() { admins, _ := statistics_service.GetAllAdminUser(this.GetAdminUserInfo().CurrentOrgId) this.ServeSuccessJSON(map[string]interface{}{ "admin": admins, }) } func (this *PCIndexEvaluationApiController) GetDialysisProcessIndexChartData() { adminUserInfo := this.GetAdminUserInfo() statistics_type, _ := this.GetInt("statistics_type") start_time := this.GetString("start_time") end_time := this.GetString("end_time") patient_id, _ := this.GetInt64("patient_id") timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } if patient_id == 0 { patientInfo, _ := statistics_service.GetOrgFirstPatientInfo(adminUserInfo.CurrentOrgId) if patientInfo == nil { this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOrgNoPatient) return } if statistics_type == 9 || statistics_type == 10 { data, _ := statistics_service.GetDialysisProcessIndexOtherChartData(adminUserInfo.CurrentOrgId, patientInfo.ID, theStartTIme, theEndtTIme, statistics_type) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } else { data, _ := statistics_service.GetDialysisProcessIndexChartData(adminUserInfo.CurrentOrgId, patientInfo.ID, theStartTIme, theEndtTIme, statistics_type) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } } else { if statistics_type == 9 || statistics_type == 10 { data, _ := statistics_service.GetDialysisProcessIndexOtherChartData(adminUserInfo.CurrentOrgId, patient_id, theStartTIme, theEndtTIme, statistics_type) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } else { data, _ := statistics_service.GetDialysisProcessIndexChartData(adminUserInfo.CurrentOrgId, patient_id, theStartTIme, theEndtTIme, statistics_type) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } } } func (this *PCIndexEvaluationApiController) GetDialysisProcessIndexTableData() { adminUserInfo := this.GetAdminUserInfo() start_time := this.GetString("start_time") end_time := this.GetString("end_time") patient_id, _ := this.GetInt64("patient_id") page, _ := this.GetInt64("page") limit, _ := this.GetInt64("limit") if page == 0 { page = 1 } if limit == 0 { limit = 20 } timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } if patient_id == 0 { patientInfo, _ := statistics_service.GetOrgFirstPatientInfo(adminUserInfo.CurrentOrgId) if patientInfo == nil { this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOrgNoPatient) return } data, total, _ := statistics_service.GetDialysisProcessIndexTableData(adminUserInfo.CurrentOrgId, patientInfo.ID, page, limit, theStartTIme, theEndtTIme) this.ServeSuccessJSON(map[string]interface{}{ "data": data, "total": total, }) } else { data, total, _ := statistics_service.GetDialysisProcessIndexTableData(adminUserInfo.CurrentOrgId, patient_id, page, limit, theStartTIme, theEndtTIme) this.ServeSuccessJSON(map[string]interface{}{ "data": data, "total": total, }) } } func (this *PCIndexEvaluationApiController) GetDialysisWatchChartData() { adminUserInfo := this.GetAdminUserInfo() statistics_type, _ := this.GetInt("statistics_type") start_time := this.GetString("start_time") end_time := this.GetString("end_time") patient_id, _ := this.GetInt64("patient_id") timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } if patient_id == 0 { patientInfo, _ := statistics_service.GetOrgFirstPatientInfo(adminUserInfo.CurrentOrgId) if patientInfo == nil { this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOrgNoPatient) return } data, _ := statistics_service.GetDialysisWatchChartData(adminUserInfo.CurrentOrgId, patientInfo.ID, theStartTIme, theEndtTIme, statistics_type) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } else { data, _ := statistics_service.GetDialysisWatchChartData(adminUserInfo.CurrentOrgId, patient_id, theStartTIme, theEndtTIme, statistics_type) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } } func (this *PCIndexEvaluationApiController) GetDialysisWatchTableData() { adminUserInfo := this.GetAdminUserInfo() start_time := this.GetString("start_time") end_time := this.GetString("end_time") patient_id, _ := this.GetInt64("patient_id") page, _ := this.GetInt64("page") limit, _ := this.GetInt64("limit") if page == 0 { page = 1 } if limit == 0 { limit = 20 } timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } if patient_id == 0 { patientInfo, _ := statistics_service.GetOrgFirstPatientInfo(adminUserInfo.CurrentOrgId) if patientInfo == nil { this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOrgNoPatient) return } data, total, _ := statistics_service.GetDialysisWatchTableData(adminUserInfo.CurrentOrgId, patientInfo.ID, page, limit, theStartTIme, theEndtTIme) this.ServeSuccessJSON(map[string]interface{}{ "data": data, "total": total, }) } else { data, total, _ := statistics_service.GetDialysisWatchTableData(adminUserInfo.CurrentOrgId, patient_id, page, limit, theStartTIme, theEndtTIme) this.ServeSuccessJSON(map[string]interface{}{ "data": data, "total": total, }) } } func (this *PCIndexEvaluationApiController) GetDialysisBloodPressureChartData() { adminUserInfo := this.GetAdminUserInfo() statistics_type, _ := this.GetInt("statistics_type") start_time := this.GetString("start_time") end_time := this.GetString("end_time") patient_id, _ := this.GetInt64("patient_id") timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } data, _ := statistics_service.GetBloodPressureChartData(adminUserInfo.CurrentOrgId, theStartTIme, theEndtTIme, statistics_type, patient_id) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } func (this *PCIndexEvaluationApiController) GetDialysisBloodPressureTableData() { adminUserInfo := this.GetAdminUserInfo() start_time := this.GetString("start_time") end_time := this.GetString("end_time") patient_id, _ := this.GetInt64("patient_id") page, _ := this.GetInt64("page") limit, _ := this.GetInt64("limit") if page == 0 { page = 1 } if limit == 0 { limit = 20 } timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } data, total, _ := statistics_service.GetBloodPressureTableData(adminUserInfo.CurrentOrgId, patient_id, page, limit, theStartTIme, theEndtTIme) this.ServeSuccessJSON(map[string]interface{}{ "data": data, "total": total, }) } func (this *PCIndexEvaluationApiController) GetDialysisPatientBloodPressureChartData() { adminUserInfo := this.GetAdminUserInfo() statistics_type, _ := this.GetInt("statistics_type") start_time := this.GetString("start_time") end_time := this.GetString("end_time") patient_id, _ := this.GetInt64("patient_id") timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } data, _ := statistics_service.GetPatientBloodPressureChartData(adminUserInfo.CurrentOrgId, patient_id, theStartTIme, theEndtTIme, statistics_type) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } func (this *PCIndexEvaluationApiController) GetDialysisWeightChartData() { adminUserInfo := this.GetAdminUserInfo() statistics_type, _ := this.GetInt("statistics_type") start_time := this.GetString("start_time") end_time := this.GetString("end_time") timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } data, _ := statistics_service.GetDialysisWeightChartData(adminUserInfo.CurrentOrgId, theStartTIme, theEndtTIme, statistics_type) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } func (this *PCIndexEvaluationApiController) GetDialysisWeightTableData() { adminUserInfo := this.GetAdminUserInfo() start_time := this.GetString("start_time") end_time := this.GetString("end_time") patient_id, _ := this.GetInt64("patient_id") page, _ := this.GetInt64("page") limit, _ := this.GetInt64("limit") if page == 0 { page = 1 } if limit == 0 { limit = 20 } timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } data, total, _ := statistics_service.GetDialysisWeightTableData(adminUserInfo.CurrentOrgId, patient_id, page, limit, theStartTIme, theEndtTIme) this.ServeSuccessJSON(map[string]interface{}{ "data": data, "total": total, }) } func (this *PCIndexEvaluationApiController) GetDialysisPatientWeightChartData() { adminUserInfo := this.GetAdminUserInfo() statistics_type, _ := this.GetInt("statistics_type") start_time := this.GetString("start_time") end_time := this.GetString("end_time") patient_id, _ := this.GetInt64("patient_id") timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } data, _ := statistics_service.GetPatientDialysisWeightChartData(adminUserInfo.CurrentOrgId, patient_id, theStartTIme, theEndtTIme, statistics_type) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } func (this *PCIndexEvaluationApiController) GetDoctorWorkloadChartData() { adminUserInfo := this.GetAdminUserInfo() statistics_type, _ := this.GetInt("statistics_type") start_time := this.GetString("start_time") admin_user_id, _ := this.GetInt64("admin_user_id") end_time := this.GetString("end_time") timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } data, _ := statistics_service.GetDoctorWorkloadChartData(adminUserInfo.CurrentOrgId, theStartTIme, theEndtTIme, statistics_type, admin_user_id) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } func (this *PCIndexEvaluationApiController) GetDoctorWorkloadTableData() { adminUserInfo := this.GetAdminUserInfo() start_time := this.GetString("start_time") end_time := this.GetString("end_time") admin_user_id, _ := this.GetInt64("admin_user_id") page, _ := this.GetInt64("page") limit, _ := this.GetInt64("limit") if page == 0 { page = 1 } if limit == 0 { limit = 20 } timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } data, _ := statistics_service.GetDoctorWorkloadTableData(adminUserInfo.CurrentOrgId, theStartTIme, theEndtTIme, admin_user_id) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } func (this *PCIndexEvaluationApiController) GetNurseWorkloadChartData() { adminUserInfo := this.GetAdminUserInfo() statistics_type, _ := this.GetInt("statistics_type") start_time := this.GetString("start_time") end_time := this.GetString("end_time") admin_user_id, _ := this.GetInt64("admin_user_id") timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } data, _ := statistics_service.GetNurseWorkloadChartData(adminUserInfo.CurrentOrgId, theStartTIme, theEndtTIme, statistics_type, admin_user_id) this.ServeSuccessJSON(map[string]interface{}{ "data": data, }) } func (this *PCIndexEvaluationApiController) GetNurseWorkloadTableData() { adminUserInfo := this.GetAdminUserInfo() start_time := this.GetString("start_time") end_time := this.GetString("end_time") admin_user_id, _ := this.GetInt64("admin_user_id") page, _ := this.GetInt64("page") limit, _ := this.GetInt64("limit") if page == 0 { page = 1 } if limit == 0 { limit = 5 } timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var theStartTIme int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { utils.ErrorLog(err.Error()) } theStartTIme = theTime.Unix() } var theEndtTIme int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) } theEndtTIme = theTime.Unix() } data, total, _ := statistics_service.GetNurseWorkloadTableData(adminUserInfo.CurrentOrgId, theStartTIme, theEndtTIme, admin_user_id, page, limit) dialysisCount, _ := statistics_service.GetOrderDialysisCount(adminUserInfo.CurrentOrgId, theStartTIme, theEndtTIme) this.ServeSuccessJSON(map[string]interface{}{ "data": data, "total": total, "dialysisCount": dialysisCount, }) } func (this *PCIndexEvaluationApiController) GetDefaultPatient() { adminUserInfo := this.GetAdminUserInfo() patientInfo, _ := statistics_service.GetOrgFirstPatientInfo(adminUserInfo.CurrentOrgId) if patientInfo == nil { this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOrgNoPatient) return } this.ServeSuccessJSON(map[string]interface{}{ "patient": patientInfo, }) }