|
@@ -67,6 +67,7 @@ func ScheduleApiRegistRouters() {
|
67
|
67
|
beego.Router("/api/order/changefuncprint", &ScheduleApiController{}, "Get:ChangeFuncPrint")
|
68
|
68
|
beego.Router("/api/order/getdataprint", &ScheduleApiController{}, "Get:GetDataPrint")
|
69
|
69
|
beego.Router("/api/schedule/getnextweekpanels", &ScheduleApiController{}, "Get:GetNextWeekPanels")
|
|
70
|
+ beego.Router("/api/schedule/synchroschedule", &ScheduleApiController{}, "Get:SynchroSchedule")
|
70
|
71
|
}
|
71
|
72
|
|
72
|
73
|
func (c *ScheduleApiController) GetWeekPanels() {
|
|
@@ -367,7 +368,9 @@ func (c *ScheduleApiController) CreateSchedule() {
|
367
|
368
|
}
|
368
|
369
|
|
369
|
370
|
redis := service.RedisClient()
|
|
371
|
+
|
370
|
372
|
err = service.CreateSchedule(&schedule)
|
|
373
|
+
|
371
|
374
|
key := "scheduals_" + scheduleDate + "_" + strconv.FormatInt(adminUserInfo.CurrentOrgId, 10)
|
372
|
375
|
|
373
|
376
|
redis.Set(key, "", time.Second)
|
|
@@ -1400,6 +1403,8 @@ func (this *ScheduleApiController) ExportSchedule() {
|
1400
|
1403
|
//err := service.UpdateScheduleStatus(clear_schedule_date, this.GetAdminUserInfo().CurrentOrgId)
|
1401
|
1404
|
if err == nil {
|
1402
|
1405
|
for _, item := range schedules {
|
|
1406
|
+ //删除当天的日期排班
|
|
1407
|
+ service.DeleteScheduleExist(item.ScheduleDate, item.UserOrgId)
|
1403
|
1408
|
//查找当天日期是否存在
|
1404
|
1409
|
_, errcode := service.GetTodayScheduleIsExist(item.PatientId, item.ScheduleDate, item.UserOrgId, item.ModeId, item.ScheduleType)
|
1405
|
1410
|
if errcode == gorm.ErrRecordNotFound {
|
|
@@ -2731,3 +2736,79 @@ func (c *ScheduleApiController) GetNextWeekPanels() {
|
2731
|
2736
|
"schedule": schedule,
|
2732
|
2737
|
})
|
2733
|
2738
|
}
|
|
2739
|
+
|
|
2740
|
+func (c *ScheduleApiController) SynchroSchedule() {
|
|
2741
|
+
|
|
2742
|
+ template_id, _ := c.GetInt64("template_id")
|
|
2743
|
+ copy_startime, _ := c.GetInt64("copy_startime")
|
|
2744
|
+ copy_endtime, _ := c.GetInt64("copy_endtime")
|
|
2745
|
+
|
|
2746
|
+ orgId := c.GetAdminUserInfo().CurrentOrgId
|
|
2747
|
+ //根据模板ID获取模板数据
|
|
2748
|
+ list, _ := service.GetTemplateListByTemplateId(template_id, orgId)
|
|
2749
|
+ //清空该时间段的所有排班数据
|
|
2750
|
+ service.DeletePatientSchedule(copy_startime, copy_endtime, orgId)
|
|
2751
|
+
|
|
2752
|
+ var tuesday int64
|
|
2753
|
+ var wednesday int64
|
|
2754
|
+ var thursday int64
|
|
2755
|
+ var friday int64
|
|
2756
|
+ var saturday int64
|
|
2757
|
+
|
|
2758
|
+ tuesday = copy_startime + 86400
|
|
2759
|
+ wednesday = copy_startime + 172800
|
|
2760
|
+ thursday = copy_startime + 259200
|
|
2761
|
+ friday = copy_startime + 345600
|
|
2762
|
+ saturday = copy_startime + 432000
|
|
2763
|
+
|
|
2764
|
+ for _, item := range list {
|
|
2765
|
+ if item.Weekday == 1 {
|
|
2766
|
+ item.ScheduleDate = copy_startime
|
|
2767
|
+ }
|
|
2768
|
+ if item.Weekday == 2 {
|
|
2769
|
+ item.ScheduleDate = tuesday
|
|
2770
|
+ }
|
|
2771
|
+ if item.Weekday == 3 {
|
|
2772
|
+ item.ScheduleDate = wednesday
|
|
2773
|
+ }
|
|
2774
|
+ if item.Weekday == 4 {
|
|
2775
|
+ item.ScheduleDate = thursday
|
|
2776
|
+ }
|
|
2777
|
+ if item.Weekday == 5 {
|
|
2778
|
+ item.ScheduleDate = friday
|
|
2779
|
+ }
|
|
2780
|
+ if item.Weekday == 6 {
|
|
2781
|
+ item.ScheduleDate = saturday
|
|
2782
|
+ }
|
|
2783
|
+ if item.Weekday == 7 {
|
|
2784
|
+ item.ScheduleDate = copy_endtime
|
|
2785
|
+ }
|
|
2786
|
+
|
|
2787
|
+ //根据床位号获取区号
|
|
2788
|
+ number, _ := service.GetBedNumberById(item.DeviceNumberID, orgId)
|
|
2789
|
+ item.ZoneId = number.ZoneID
|
|
2790
|
+ }
|
|
2791
|
+
|
|
2792
|
+ for _, item := range list {
|
|
2793
|
+ schedule := models.XtSchedule{
|
|
2794
|
+ UserOrgId: orgId,
|
|
2795
|
+ PartitionId: item.ZoneId,
|
|
2796
|
+ BedId: item.DeviceNumberID,
|
|
2797
|
+ PatientId: item.PatientID,
|
|
2798
|
+ ScheduleDate: item.ScheduleDate,
|
|
2799
|
+ ScheduleType: item.TimeType,
|
|
2800
|
+ ScheduleWeek: item.Weekday,
|
|
2801
|
+ ModeId: item.TreatMode,
|
|
2802
|
+ Status: 1,
|
|
2803
|
+ CreatedTime: time.Now().Unix(),
|
|
2804
|
+ UpdatedTime: 0,
|
|
2805
|
+ }
|
|
2806
|
+
|
|
2807
|
+ service.CreatePatientSchedule(&schedule)
|
|
2808
|
+ }
|
|
2809
|
+
|
|
2810
|
+ returnData := make(map[string]interface{}, 0)
|
|
2811
|
+ returnData["list"] = list
|
|
2812
|
+ c.ServeSuccessJSON(returnData)
|
|
2813
|
+ return
|
|
2814
|
+}
|