package controllers import ( "XT_New/enums" service "XT_New/service/print_data_service/schedule_dialysis" "XT_New/utils" "fmt" "strings" "time" "github.com/astaxie/beego" ) func PrintDataAPIControllerRegistRouters() { beego.Router("/api/print/schedule/dialysis", &PrintDataAPIController{}, "get:ScheduleDialysisRecordPrintData") beego.Router("/api/print/stock", &PrintDataAPIController{}, "get:StockRecordPrintData") beego.Router("/api/print/course", &PrintDataAPIController{}, "get:CourseRecordPrintData") beego.Router("/api/print/getlastafterweight", &PrintDataAPIController{}, "get:GetLastAfterWeight") } type PrintDataAPIController struct { BaseAuthAPIController } // /api/print/schedule/dialysis [get] // @param ids:string 排班 id,以逗号隔开 ("1,2,3") func (this *PrintDataAPIController) ScheduleDialysisRecordPrintData() { schIDStr := this.GetString("ids") if len(schIDStr) == 0 { this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong) return } idStrs := strings.Split(schIDStr, ",") adminUserInfo := this.GetAdminUserInfo() schedules, getScheduleErr := service.GetSchedules(adminUserInfo.CurrentOrgId, idStrs) if getScheduleErr != nil { this.ErrorLog("获取打印透析记录失败:%v", getScheduleErr) this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException) return } medicalStaffs, getMedicalStaffErr := service.GetMedicalStaffs(adminUserInfo.CurrentOrgId, adminUserInfo.CurrentAppId) if getMedicalStaffErr != nil { this.ErrorLog("获取医护人员失败:%v", getMedicalStaffErr) this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException) return } adminUser, _ := service.GetAllAdminUsers(adminUserInfo.CurrentOrgId, adminUserInfo.CurrentAppId) name, getScheduleErr := service.GetAllName(adminUserInfo.CurrentOrgId, adminUserInfo.CurrentAppId) templateInfo, _ := service.GetOrgInfoTemplate(adminUserInfo.CurrentOrgId) this.ServeSuccessJSON(map[string]interface{}{ "schedules": schedules, "medical_staffs": medicalStaffs, "users": adminUser, "templateInfo": templateInfo, "name": name, }) } func (this *PrintDataAPIController) StockRecordPrintData() { types, _ := this.GetInt("type", 0) start_time := this.GetString("start_time") end_time := this.GetString("end_time") adminUserInfo := this.GetAdminUserInfo() timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var startTime int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong) return } startTime = theTime.Unix() } var endTime 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()) this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong) return } endTime = theTime.Unix() } list, err := service.FindPrintStockGoodInfoByType(types, startTime, endTime, adminUserInfo.CurrentOrgId) if err != nil { this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException) } else { this.ServeSuccessJSON(map[string]interface{}{ "list": list, "type": types, }) } } func (this *PrintDataAPIController) CourseRecordPrintData() { id, _ := this.GetInt64("id", 0) adminUserInfo := this.GetAdminUserInfo() if id == 0 { this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong) return } timeLayout := "2006-01-02 15:04:05" record, err := service.GetPatientCoursesRecords(adminUserInfo.CurrentOrgId, id) dataTimeStr := time.Unix(record.RecordTime, 0).Format(timeLayout) //设置时间戳 使用模板格式化为日期字符串 tempTime := strings.Split(dataTimeStr, " ") recordDate, parseDateErr := utils.ParseTimeStringToTime("2006-01-02", tempTime[0]) if parseDateErr != nil { this.ErrorLog("日期(%v)解析错误:%v", tempTime[0], parseDateErr) //this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong) //return } patient, _ := service.FindPatientWithDeviceById(adminUserInfo.CurrentOrgId, record.PatientID, recordDate.Unix()) if err != nil { this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException) return } else { this.ServeSuccessJSON(map[string]interface{}{ "record": record, "patient": patient, }) } } func (this *PrintDataAPIController) GetLastAfterWeight() { id, _ := this.GetInt64("id") fmt.Print("id", id) assmentdate, _ := this.GetInt64("assmentdate") adminUserInfo := this.GetAdminUserInfo() org_id := adminUserInfo.CurrentOrgId weight, err := service.GetLastAfterWeight(org_id, id, assmentdate) //fmt.Print("errr-------------",err) if err != nil { this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException) return } this.ServeSuccessJSON(map[string]interface{}{ "weight": weight, }) }