1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package controllers
-
- import (
- "XT_New/enums"
- "XT_New/models"
- "XT_New/service"
- "github.com/astaxie/beego"
- "strings"
- "time"
- )
-
- type HisPrintApiController struct {
- BaseAuthAPIController
- }
-
- func HisPrintApiRegistRouters() {
- beego.Router("/api/his/prescription/print", &HisPrintApiController{}, "get:GetBatchHisPrescriptionData")
- }
-
- func (c *HisPrintApiController) GetBatchHisPrescriptionData() {
- record_date := c.GetString("record_date")
- patient_ids := c.GetString("patient_ids")
- print_type, _ := c.GetInt64("type")
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_date+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
- adminInfo := c.GetAdminUserInfo()
- ids := strings.Split(patient_ids, ",")
- switch print_type {
- case 1:
- patients, _ := service.GetBatchDrugHisPrescription(ids, recordDateTime, adminInfo.CurrentOrgId)
- c.ServeSuccessJSON(map[string]interface{}{
- "patients": patients,
- })
- break
- case 2:
- //var newPatients []*models.PrintPatient
-
- patients, _ := service.GetBatchProjectHisPrescription(ids, recordDateTime, adminInfo.CurrentOrgId)
- //for _, item := range patients {
- // for _, subItem := range item.HisPrintPrescription {
- // for _, subItemTwo := range subItem.HisPrescriptionProject {
- // if subItemTwo.HisProject.CostClassify != 3 {
- //
- // }
- // }
- // }
- //}
- c.ServeSuccessJSON(map[string]interface{}{
- "patients": patients,
- })
- break
- case 3:
- var newPatients []*models.PrintPatient
- var newPatientsTwo []*models.PrintPatient
-
- patients, _ := service.GetBatchInspectionProjectHisPrescription(ids, recordDateTime, adminInfo.CurrentOrgId)
- for _, item := range patients {
- var newPatient *models.PrintPatient
- newPatient = item
- for index, subItem := range item.HisPrintPrescription {
- if index > 0 {
- item.HisPrintPrescription[0].HisPrescriptionProject = append(item.HisPrintPrescription[0].HisPrescriptionProject, subItem.HisPrescriptionProject...)
- }
- }
- newPatients = append(newPatients, newPatient)
- }
-
- for _, item := range patients {
- var newPatient *models.PrintPatient
- newPatient = item
- if len(item.HisPrintPrescription) > 0 {
- newPatient.NewHisPrintPrescription = append(newPatient.NewHisPrintPrescription, item.HisPrintPrescription[0])
- newPatientsTwo = append(newPatientsTwo, newPatient)
- }
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patients": newPatientsTwo,
- })
- break
- }
- }
|