瀏覽代碼

打印总次数

XMLWAN 4 年之前
父節點
當前提交
863d64a5fa
共有 2 個文件被更改,包括 58 次插入1 次删除
  1. 2 1
      controllers/schedule_api_controller.go
  2. 56 0
      service/schedule_service.go

+ 2 - 1
controllers/schedule_api_controller.go 查看文件

@@ -558,7 +558,6 @@ func (c *ScheduleApiController) ChangeSchedule() {
558 558
 func (this *ScheduleApiController) PrintInitData() {
559 559
 	dateStr := this.GetString("date")
560 560
 	//week_type, _ := this.GetInt64("type", 0)
561
-
562 561
 	var date *time.Time
563 562
 	if len(dateStr) == 0 {
564 563
 		now := time.Now()
@@ -590,6 +589,7 @@ func (this *ScheduleApiController) PrintInitData() {
590 589
 	//	break
591 590
 	//}
592 591
 	schedules, getScheduleErr := service.GetPrinitWeekSchedules(adminUserInfo.CurrentOrgId, monday.Unix(), sunday.Unix())
592
+	total, getScheduleErr := service.GetPrinitWeekTotal(adminUserInfo.CurrentOrgId, monday.Unix(), sunday.Unix())
593 593
 	if getScheduleErr != nil {
594 594
 		this.ErrorLog("获取周排班失败:%v", getScheduleErr)
595 595
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
@@ -611,6 +611,7 @@ func (this *ScheduleApiController) PrintInitData() {
611 611
 	}
612 612
 
613 613
 	this.ServeSuccessJSON(map[string]interface{}{
614
+		"total":     total,
614 615
 		"schedules": schedules,
615 616
 		"monday":    monday.Unix(),
616 617
 		"days":      days,

+ 56 - 0
service/schedule_service.go 查看文件

@@ -146,6 +146,12 @@ type WeekSchedulePrintVM struct {
146 146
 	Mode         *models.TreatmentMode `gorm:"ForeignKey:ModeID" json:"mode"`
147 147
 }
148 148
 
149
+type PrintCount struct {
150
+	ScheduleType int64 `gorm:"column:schedule_type" json:"schedule_type"`
151
+	ScheduleWeek int64 `gorm:"column:schedule_week" json:"schedule_week"`
152
+	Count        int64
153
+}
154
+
149 155
 func GetPrinitWeekSchedules(orgID int64, start, end int64) ([]*WeekSchedulePrintVM, error) {
150 156
 	var schedules []*WeekSchedulePrintVM
151 157
 	err := readDb.Table("xt_schedule as s").
@@ -160,6 +166,56 @@ func GetPrinitWeekSchedules(orgID int64, start, end int64) ([]*WeekSchedulePrint
160 166
 	return schedules, err
161 167
 }
162 168
 
169
+func GetPrinitWeekTotal(orgid int64, startime int64, endtime int64) (print []*PrintCount, err error) {
170
+
171
+	db := XTReadDB().Table("xt_schedule as x").Where("x.status = 1")
172
+	if orgid > 0 {
173
+		db = db.Where("x.user_org_id = ?", orgid)
174
+	}
175
+	if startime > 0 {
176
+		db = db.Where("x.schedule_date >=?", startime)
177
+	}
178
+	if endtime > 0 {
179
+		db = db.Where("x.schedule_date <=?", endtime)
180
+	}
181
+	err = db.Select("x.schedule_type,x.schedule_week,count(x.patient_id) as count").Group("x.schedule_date,x.schedule_type").Scan(&print).Error
182
+	return print, err
183
+}
184
+
185
+func GetBloodPrintWeekTotal(orgid int64, startime int64, endtime int64) (print []*PrintCount, err error) {
186
+
187
+	db := XTReadDB().Table("xt_schedule as x").Where("x.status = 1")
188
+	if orgid > 0 {
189
+		db = db.Where("x.user_org_id = ?", orgid)
190
+	}
191
+	if startime > 0 {
192
+		db = db.Where("x.schedule_date >=?", startime)
193
+	}
194
+	if endtime > 0 {
195
+		db = db.Where("x.schedule_date <=?", endtime)
196
+	}
197
+	db = db.Where("x.mode_id = 2")
198
+	err = db.Select("x.schedule_type,x.schedule_week,count(x.patient_id) as count").Group("x.schedule_date,x.schedule_type").Scan(&print).Error
199
+	return print, err
200
+}
201
+
202
+func GetPerfusionWeekTotal(orgid int64, startime int64, endtime int64) (print []*PrintCount, err error) {
203
+
204
+	db := XTReadDB().Table("xt_schedule as x").Where("x.status = 1")
205
+	if orgid > 0 {
206
+		db = db.Where("x.user_org_id = ?", orgid)
207
+	}
208
+	if startime > 0 {
209
+		db = db.Where("x.schedule_date >=?", startime)
210
+	}
211
+	if endtime > 0 {
212
+		db = db.Where("x.schedule_date <=?", endtime)
213
+	}
214
+	db = db.Where("x.mode_id = 3")
215
+	err = db.Select("x.schedule_type,x.schedule_week,count(x.patient_id) as count").Group("x.schedule_date,x.schedule_type").Scan(&print).Error
216
+	return print, err
217
+}
218
+
163 219
 // func ExchangeScheduleTimeWithWeekSchedules(orgID int64, nextWeekSchs []*models.Schedule, nextTwoWeekSchs []*models.Schedule) error {
164 220
 // 	templateMode, getTemplateModeErr := GetOrgPatientScheduleTemplateMode(orgID)
165 221
 // 	if getTemplateModeErr != nil {