소스 검색

Merge branches '20220812' and '20230223_xt_api_new_branch' of http://git.shengws.com/csx/XT_New into 20230223_xt_api_new_branch

XMLWAN 2 년 전
부모
커밋
dc9d6413de

+ 38 - 0
controllers/gobal_config_api_controller.go 파일 보기

@@ -121,10 +121,48 @@ func GobalConfigRegistRouters() {
121 121
 	beego.Router("/api/changesettleopenconfig", &GobalConfigApiController{}, "Get:ChangeSettleOpenConfig")
122 122
 
123 123
 	beego.Router("/api/changegoodoutopen", &GobalConfigApiController{}, "Get:ChangeGoodOutOpen")
124
+
125
+	beego.Router("/api/schedule/config/commit", &GobalConfigApiController{}, "post:PostScheduleConfig")
126
+	beego.Router("/api/schedule/config/get", &GobalConfigApiController{}, "get:GetScheduleConfig")
124 127
 }
125 128
 
126 129
 //provinces, _ := service.GetDistrictsByUpid(0)21
127 130
 
131
+func (c *GobalConfigApiController) PostScheduleConfig() {
132
+	is_show_mode, _ := c.GetInt64("is_show_mode", 0)
133
+	is_show_machine, _ := c.GetInt64("is_show_machine", 0)
134
+	id, _ := c.GetInt64("id", 0)
135
+
136
+	config, _ := service.GetScheduleConfigById(id)
137
+	var err error
138
+	if config.ID == 0 {
139
+		config.IsShowMode = is_show_mode
140
+		config.IsShowMachine = is_show_machine
141
+		config.UserOrgId = c.GetAdminUserInfo().CurrentOrgId
142
+		config.Ctime = time.Now().Unix()
143
+		config.Mtime = time.Now().Unix()
144
+		config.Status = 1
145
+		err = service.CreateScheduleConfig(config)
146
+	} else {
147
+		config.IsShowMachine = is_show_machine
148
+		config.IsShowMode = is_show_mode
149
+		config.Mtime = time.Now().Unix()
150
+		err = service.SaveScheduleConfig(config)
151
+	}
152
+	if err == nil {
153
+		c.ServeSuccessJSON(map[string]interface{}{
154
+			"config": config,
155
+		})
156
+	}
157
+}
158
+
159
+func (c *GobalConfigApiController) GetScheduleConfig() {
160
+	config, _ := service.GetScheduleConfigByOrgId(c.GetAdminUserInfo().CurrentOrgId)
161
+	c.ServeSuccessJSON(map[string]interface{}{
162
+		"config": config,
163
+	})
164
+}
165
+
128 166
 func (c *GobalConfigApiController) PostStockConfig() {
129 167
 	is_open, _ := c.GetInt64("is_open", 0)
130 168
 	adminUserInfo := c.GetAdminUserInfo()

+ 5 - 14
controllers/mobile_api_controllers/dialysis_api_controller.go 파일 보기

@@ -2449,7 +2449,6 @@ func (c *DialysisAPIController) GetSchedualPatientsList() {
2449 2449
 // @param nurse:int 上机护士
2450 2450
 // @param bed:int 床位号
2451 2451
 func (this *DialysisAPIController) StartDialysis() {
2452
-
2453 2452
 	patientID, _ := this.GetInt64("patient_id")
2454 2453
 	recordDateStr := this.GetString("record_date")
2455 2454
 	nurseID, _ := this.GetInt64("nurse")
@@ -2599,19 +2598,11 @@ func (this *DialysisAPIController) StartDialysis() {
2599 2598
 			} else { //2022-11-04 更变需求,如果改床位有排班,但是没上机,则进行互换床位操作
2600 2599
 				daySchedule, _ := service.GetDaySchedule(adminUserInfo.Org.Id, schedulestartTime, scheduleendTime, patientID)
2601 2600
 				if daySchedule.ID > 0 {
2602
-					//daySchedule.PartitionId = deviceNumber.ZoneID
2603
-					//daySchedule.BedId = bedID
2604
-					//daySchedule.ScheduleType = schedual_type
2605
-					//daySchedule.UpdatedTime = time.Now().Unix()
2606
-					//err := service.UpdateSchedule(&daySchedule)
2607
-					//xtSchedule := models.Schedule{
2608
-					//	PartitionId:  deviceNumber.ZoneID,
2609
-					//	BedId:        bedID,
2610
-					//	ScheduleType: schedual_type,
2611
-					//	UpdatedTime:  time.Now().Unix(),
2612
-					//}
2613
-					//err := service.UpdateScheduleOne(daySchedule.ID, xtSchedule)
2614
-					service.UpdateScheduleTwo(daySchedule, schedule)
2601
+					err := service.UpdateScheduleTwo(daySchedule, schedule)
2602
+					if err != nil {
2603
+						this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2604
+						return
2605
+					}
2615 2606
 
2616 2607
 				}
2617 2608
 			}

+ 1 - 1
controllers/mobile_api_controllers/dialysis_api_controller_extend.go 파일 보기

@@ -514,7 +514,7 @@ func (this *DialysisAPIController) AddUrgentSchedule() {
514 514
 				UpdatedTime:  time.Now().Unix(),
515 515
 				IsExport:     5,
516 516
 			}
517
-			createErr := service.CreateSchedule(newSchedule)
517
+			createErr := service.CreateScheduleTwo(newSchedule)
518 518
 			redis := service.RedisClient()
519 519
 			timeStr := time.Now().Format("2006-01-02")
520 520
 			key := "scheduals_" + timeStr + "_" + strconv.FormatInt(adminUserInfo.Org.Id, 10)

+ 73 - 43
controllers/new_mobile_api_controllers/staff_schedule_api_controller.go 파일 보기

@@ -377,43 +377,45 @@ func (this *StaffScheduleApiController) GetPatientScheduleList() {
377 377
 
378 378
 func (this *StaffScheduleApiController) DeleteSchedule() {
379 379
 	id, _ := this.GetInt64("id")
380
-	fmt.Println("id", id)
381
-
382 380
 	org_id := this.GetMobileAdminUserInfo().Org.Id
383 381
 	err := service.DeleteSchedule(id)
384
-	schedule, _ := service.GetScheduleNight(org_id, id)
385
-
386
-	redis := service.RedisClient()
382
+	if err == nil {
383
+		schedule, _ := service.GetScheduleNight(org_id, id)
384
+		redis := service.RedisClient()
385
+		//处方
386
+		keyOne := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":prescriptions_list_all"
387
+		redis.Set(keyOne, "", time.Second)
387 388
 
388
-	//处方
389
-	keyOne := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":prescriptions_list_all"
390
-	redis.Set(keyOne, "", time.Second)
389
+		//医嘱
390
+		keyTwo := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":advice_list_all"
391
+		redis.Set(keyTwo, "", time.Second)
391 392
 
392
-	//医嘱
393
-	keyTwo := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":advice_list_all"
394
-	redis.Set(keyTwo, "", time.Second)
393
+		keySix := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":assessment_befores_list_all"
394
+		redis.Set(keySix, "", time.Second)
395
+		keyThree := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":assessment_after_dislysis_list_all"
396
+		redis.Set(keyThree, "", time.Second)
395 397
 
396
-	keySix := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":assessment_befores_list_all"
397
-	redis.Set(keySix, "", time.Second)
398
-	keyThree := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":assessment_after_dislysis_list_all"
399
-	redis.Set(keyThree, "", time.Second)
398
+		keyFour := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":monitor_record_list_all"
399
+		redis.Set(keyFour, "", time.Second)
400 400
 
401
-	keyFour := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":monitor_record_list_all"
402
-	redis.Set(keyFour, "", time.Second)
401
+		keyFive := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":treatment_summarys_list_all"
402
+		redis.Set(keyFive, "", time.Second)
403 403
 
404
-	keyFive := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":treatment_summarys_list_all"
405
-	redis.Set(keyFive, "", time.Second)
404
+		keySeven := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":dialysis_orders_list_all"
405
+		redis.Set(keySeven, "", time.Second)
406 406
 
407
-	keySeven := strconv.FormatInt(org_id, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":dialysis_orders_list_all"
408
-	redis.Set(keySeven, "", time.Second)
407
+		defer redis.Close()
408
+		fmt.Println(err)
409 409
 
410
-	defer redis.Close()
411
-	fmt.Println(err)
410
+		returnData := make(map[string]interface{}, 0)
411
+		returnData["msg"] = "ok"
412
+		this.ServeSuccessJSON(returnData)
413
+		return
412 414
 
413
-	returnData := make(map[string]interface{}, 0)
414
-	returnData["msg"] = "ok"
415
-	this.ServeSuccessJSON(returnData)
416
-	return
415
+	} else {
416
+		this.ServeFailJsonSend(enums.ErrorCodeDataException, "删除失败")
417
+		return
418
+	}
417 419
 }
418 420
 
419 421
 func (this *StaffScheduleApiController) SearchPatient() {
@@ -758,7 +760,7 @@ func (c *StaffScheduleApiController) CreateMobileSchedulePatient() {
758 760
 	}
759 761
 
760 762
 	redis := service.RedisClient()
761
-	err = service.CreateSchedule(&schedule)
763
+	err = service.CreateScheduleTwo(&schedule)
762 764
 	key := "scheduals_" + scheduleDate + "_" + strconv.FormatInt(adminUserInfo.Org.Id, 10)
763 765
 	redis.Set(key, "", time.Second)
764 766
 	defer redis.Close()
@@ -842,7 +844,6 @@ func (c *StaffScheduleApiController) ChangeScheduleType() {
842 844
 			PatientId: schedule.PatientId,
843 845
 			ModeId:    schedule.ModeId,
844 846
 		}
845
-
846 847
 		var DialysisMachineName string
847 848
 		so, _ := service.GetDialysisSolutionTwo(org_id, sch.PatientId, sch.ModeId)
848 849
 		filedRecordOne, _ := service.FindFiledBy(org_id, "透析器")
@@ -871,8 +872,6 @@ func (c *StaffScheduleApiController) ChangeScheduleType() {
871 872
 			}
872 873
 		}
873 874
 		sch.DialysisMachineName = DialysisMachineName
874
-		service.UpdateScheduleById(id, sch)
875
-
876 875
 		schedu := models.Schedule{
877 876
 			PatientId: patient_id,
878 877
 			ModeId:    mode_id,
@@ -900,7 +899,15 @@ func (c *StaffScheduleApiController) ChangeScheduleType() {
900 899
 			}
901 900
 		}
902 901
 		schedu.DialysisMachineName = DialysisMachineName1
903
-		service.UpdateScheduleById(schedule.ID, schedu)
902
+		err := service.UpdateScheduleById(schedule.ID, schedu, id, sch)
903
+		if err == nil {
904
+			c.ServeSuccessJSON(map[string]interface{}{
905
+				"msg": "ok",
906
+			})
907
+		} else {
908
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
909
+			return
910
+		}
904 911
 	} else {
905 912
 		xtSchedule := models.Schedule{
906 913
 			ScheduleDate: schedule_date,
@@ -909,11 +916,17 @@ func (c *StaffScheduleApiController) ChangeScheduleType() {
909 916
 			UserOrgId:    org_id,
910 917
 		}
911 918
 
912
-		service.ChangeScheduleClass(xtSchedule)
919
+		err := service.ChangeScheduleClass(xtSchedule)
920
+		if err == nil {
921
+			c.ServeSuccessJSON(map[string]interface{}{
922
+				"msg": "ok",
923
+			})
924
+		} else {
925
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
926
+			return
927
+		}
913 928
 	}
914
-	c.ServeSuccessJSON(map[string]interface{}{
915
-		"msg": "ok",
916
-	})
929
+
917 930
 }
918 931
 func (c *StaffScheduleApiController) ChangeScheduleBed() {
919 932
 	schedule_type, _ := c.GetInt64("schedule_type")
@@ -972,7 +985,7 @@ func (c *StaffScheduleApiController) ChangeScheduleBed() {
972 985
 			}
973 986
 		}
974 987
 		sch.DialysisMachineName = DialysisMachineName
975
-		service.UpdateScheduleById(id, sch)
988
+
976 989
 		schedu := models.Schedule{
977 990
 			PatientId:           patient_id,
978 991
 			ModeId:              mode_id,
@@ -1002,7 +1015,18 @@ func (c *StaffScheduleApiController) ChangeScheduleBed() {
1002 1015
 			}
1003 1016
 		}
1004 1017
 		schedu.DialysisMachineName = DialysisMachineName1
1005
-		service.UpdateScheduleById(schedule.ID, schedu)
1018
+		err := service.UpdateScheduleById(schedule.ID, schedu, id, sch)
1019
+		if err == nil {
1020
+			c.ServeSuccessJSON(map[string]interface{}{
1021
+				"msg": "ok",
1022
+			})
1023
+
1024
+		} else {
1025
+
1026
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
1027
+			return
1028
+		}
1029
+
1006 1030
 	} else {
1007 1031
 		var str string
1008 1032
 		//查找该机构用的是什么透析器
@@ -1029,10 +1053,16 @@ func (c *StaffScheduleApiController) ChangeScheduleBed() {
1029 1053
 			IsExport:            20000,
1030 1054
 			DialysisMachineName: str,
1031 1055
 		}
1032
-		service.DeleteSchedule(id)
1033
-		service.CreateSchedule(&xtSchedule)
1056
+		var err error
1057
+		err = service.CreateSchedule(&xtSchedule, id)
1058
+		if err == nil {
1059
+			c.ServeSuccessJSON(map[string]interface{}{
1060
+				"msg": "ok",
1061
+			})
1062
+			return
1063
+		} else {
1064
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
1065
+			return
1066
+		}
1034 1067
 	}
1035
-	c.ServeSuccessJSON(map[string]interface{}{
1036
-		"msg": "ok",
1037
-	})
1038 1068
 }

+ 63 - 53
controllers/schedule_api_controller.go 파일 보기

@@ -79,11 +79,8 @@ func ScheduleApiRegistRouters() {
79 79
 	beego.Router("/api/patient/smartpatientschtemplate", &ScheduleApiController{}, "Get:GetPatientSmartSchTemplate")
80 80
 
81 81
 	beego.Router("/api/device/get", &ScheduleApiController{}, "Get:GetDevicesNumbers")
82
-
83 82
 	beego.Router("/api/smartsch/batch", &ScheduleApiController{}, "Post:BatchPostSmartSch")
84
-
85 83
 	beego.Router("/api/smartsch/get", &ScheduleApiController{}, "Get:GetSmartSch")
86
-
87 84
 	beego.Router("/api/sch/exchange", &ScheduleApiController{}, "Get:ExchangeSch")
88 85
 	beego.Router("/api/sch/coversch", &ScheduleApiController{}, "Get:CoverSch")
89 86
 	beego.Router("/api/schedule/delete_two", &ScheduleApiController{}, "Delete:DeleteScheduleTwo")
@@ -122,13 +119,22 @@ func (c *ScheduleApiController) CoverSch() {
122 119
 	new_sch.ScheduleType = sch_two.ScheduleType
123 120
 	new_sch.ID = 0
124 121
 	//删除原来的排班
125
-	service.SaveSchTwo(sch, sch_two)
122
+	err := service.SaveSchTwo(sch, sch_two)
126 123
 	//生成新的排班
127
-	service.SaveSch(new_sch)
128
-	c.ServeSuccessJSON(map[string]interface{}{
129
-		"msg": "覆盖成功",
130
-	})
131
-
124
+	if err == nil {
125
+		err2 := service.SaveSch(new_sch)
126
+		if err2 == nil {
127
+			c.ServeSuccessJSON(map[string]interface{}{
128
+				"msg": "覆盖成功",
129
+			})
130
+		} else {
131
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
132
+			return
133
+		}
134
+	} else {
135
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
136
+		return
137
+	}
132 138
 }
133 139
 func (c *ScheduleApiController) ExchangeSch() {
134 140
 	id_one, _ := c.GetInt64("id_one")
@@ -161,10 +167,18 @@ func (c *ScheduleApiController) ExchangeSch() {
161 167
 		}
162 168
 	}
163 169
 
164
-	service.UpdateScheduleThree(sch, sch_two)
165
-	c.ServeSuccessJSON(map[string]interface{}{
166
-		"msg": "交换成功",
167
-	})
170
+	err := service.UpdateScheduleThree(sch, sch_two)
171
+	if err == nil {
172
+		c.ServeSuccessJSON(map[string]interface{}{
173
+			"msg": "交换成功",
174
+		})
175
+
176
+	} else {
177
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
178
+		return
179
+
180
+	}
181
+
168 182
 }
169 183
 func (c *ScheduleApiController) BatchPostSmartSch() {
170 184
 	patient_id, _ := c.GetInt64("patient_id")
@@ -186,7 +200,6 @@ func (c *ScheduleApiController) BatchPostSmartSch() {
186 200
 
187 201
 	//数据校验
188 202
 	if dataBody["smart_schs"] != nil && reflect.TypeOf(dataBody["smart_schs"]).String() == "[]interface {}" {
189
-
190 203
 		schs, _ := dataBody["smart_schs"].([]interface{})
191 204
 		if len(schs) > 0 {
192 205
 			for _, item := range schs {
@@ -1000,7 +1013,7 @@ func (c *ScheduleApiController) BatchPostSmartSch() {
1000 1013
 							service.SaveSch(daySchedule)
1001 1014
 						} else {
1002 1015
 							existSchedule.IsExport = 3003
1003
-							service.CreateSchedule(&schedule)
1016
+							service.CreateScheduleTwo(&schedule)
1004 1017
 						}
1005 1018
 					}
1006 1019
 				}
@@ -1527,7 +1540,7 @@ func (c *ScheduleApiController) CreateSchedule() {
1527 1540
 
1528 1541
 	redis := service.RedisClient()
1529 1542
 	schedule.IsExport = 1000
1530
-	err = service.CreateSchedule(&schedule)
1543
+	err = service.CreateScheduleTwo(&schedule)
1531 1544
 
1532 1545
 	key := "scheduals_" + scheduleDate + "_" + strconv.FormatInt(adminUserInfo.CurrentOrgId, 10)
1533 1546
 
@@ -2670,26 +2683,18 @@ func (this *ScheduleApiController) ExportSchedule() {
2670 2683
 				for _, item := range schedules {
2671 2684
 					if item.ScheduleDate > clear_schedule_date {
2672 2685
 						//查询该患者是否转出获取死亡
2673
-						fmt.Println("11111323242423")
2674
-
2675 2686
 						//查找当天日期是否存在
2676 2687
 						_, errcode := service.GetTodayScheduleIsExistOne(item.PatientId, item.ScheduleDate, item.UserOrgId)
2677 2688
 						if errcode == gorm.ErrRecordNotFound {
2678 2689
 							//查询该床位是否有患者
2679
-							fmt.Println("errcodes")
2680 2690
 							sch, errcodes := service.GetPatientByBed(item.ScheduleDate, item.BedId, item.ScheduleType, item.UserOrgId)
2681
-							fmt.Println("errcodes")
2682
-							fmt.Println(errcodes)
2683
-							fmt.Println(sch)
2684 2691
 
2685 2692
 							if errcodes == gorm.ErrRecordNotFound {
2686
-								fmt.Println("1111111")
2687
-								service.CreateSchedule(item)
2693
+								service.CreateScheduleTwo(item)
2688 2694
 							} else if errcodes == nil {
2689
-								fmt.Println("1111222222222")
2690 2695
 								//清除当天该床位已有的患者
2691 2696
 								service.ModeFyScheduleById(sch.ScheduleDate, sch.BedId, sch.ScheduleType, sch.UserOrgId)
2692
-								service.CreateSchedule(item)
2697
+								service.CreateScheduleTwo(item)
2693 2698
 							}
2694 2699
 
2695 2700
 						} else if errcode == nil {
@@ -2704,8 +2709,6 @@ func (this *ScheduleApiController) ExportSchedule() {
2704 2709
 								Status:              1,
2705 2710
 								DialysisMachineName: item.DialysisMachineName,
2706 2711
 							}
2707
-							fmt.Println("1111222222223333333333333333332")
2708
-
2709 2712
 							service.UpdateScheduleByOrgIdOne(item.PatientId, item.ScheduleDate, item.UserOrgId, &schedule)
2710 2713
 						}
2711 2714
 					}
@@ -4556,38 +4559,45 @@ func (c *ScheduleApiController) DeleteScheduleTwo() {
4556 4559
 	schedule.Status = 0
4557 4560
 	schedule.UpdatedTime = time.Now().Unix()
4558 4561
 	err = service.UpdateSchedule(schedule)
4559
-	redis := service.RedisClient()
4560 4562
 
4561
-	//处方
4562
-	keyOne := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":prescriptions_list_all"
4563
-	redis.Set(keyOne, "", time.Second)
4563
+	if err == nil {
4564
+		redis := service.RedisClient()
4565
+		//处方
4566
+		keyOne := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":prescriptions_list_all"
4567
+		redis.Set(keyOne, "", time.Second)
4564 4568
 
4565
-	//医嘱
4566
-	keyTwo := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":advice_list_all"
4567
-	redis.Set(keyTwo, "", time.Second)
4569
+		//医嘱
4570
+		keyTwo := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":advice_list_all"
4571
+		redis.Set(keyTwo, "", time.Second)
4568 4572
 
4569
-	keySix := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":assessment_befores_list_all"
4570
-	redis.Set(keySix, "", time.Second)
4571
-	keyThree := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":assessment_after_dislysis_list_all"
4572
-	redis.Set(keyThree, "", time.Second)
4573
+		keySix := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":assessment_befores_list_all"
4574
+		redis.Set(keySix, "", time.Second)
4575
+		keyThree := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":assessment_after_dislysis_list_all"
4576
+		redis.Set(keyThree, "", time.Second)
4573 4577
 
4574
-	keyFour := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":monitor_record_list_all"
4575
-	redis.Set(keyFour, "", time.Second)
4578
+		keyFour := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":monitor_record_list_all"
4579
+		redis.Set(keyFour, "", time.Second)
4576 4580
 
4577
-	keyFive := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":treatment_summarys_list_all"
4578
-	redis.Set(keyFive, "", time.Second)
4581
+		keyFive := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":treatment_summarys_list_all"
4582
+		redis.Set(keyFive, "", time.Second)
4579 4583
 
4580
-	keySeven := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":dialysis_orders_list_all"
4581
-	redis.Set(keySeven, "", time.Second)
4582
-	fmt.Println(err)
4583
-	defer redis.Close()
4584
-	if err != nil {
4585
-		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDeleteScheduleFail)
4584
+		keySeven := strconv.FormatInt(adminINfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(schedule.ScheduleDate, 10) + ":dialysis_orders_list_all"
4585
+		redis.Set(keySeven, "", time.Second)
4586
+		defer redis.Close()
4587
+		if err != nil {
4588
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDeleteScheduleFail)
4589
+			return
4590
+		}
4591
+		c.ServeSuccessJSON(map[string]interface{}{
4592
+			"msg":      "ok",
4593
+			"schedule": &schedule,
4594
+		})
4595
+
4596
+	} else {
4597
+
4598
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
4586 4599
 		return
4600
+
4587 4601
 	}
4588 4602
 
4589
-	c.ServeSuccessJSON(map[string]interface{}{
4590
-		"msg":      "ok",
4591
-		"schedule": &schedule,
4592
-	})
4593 4603
 }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1158 - 7
controllers/schedule_template_api_controller.go


+ 11 - 2
service/device_service.go 파일 보기

@@ -831,9 +831,18 @@ func GetPartionId(bed_id int64, org_id int64) (models.XtDeviceNumber, error) {
831 831
 	return number, err
832 832
 }
833 833
 
834
-func UpdateScheduleById(id int64, schedule models.Schedule) error {
834
+func UpdateScheduleById(id int64, schedule models.Schedule, id_two int64, schedule_two models.Schedule) error {
835
+	utx := XTWriteDB().Begin()
835 836
 
836
-	err := XTWriteDB().Model(&models.Schedule{}).Where("id = ? and status =1", id).Update(map[string]interface{}{"patient_id": schedule.PatientId, "mode_id": schedule.ModeId, "is_export": 10000, "dialysis_machine_name": schedule.DialysisMachineName}).Error
837
+	if err = utx.Model(&models.Schedule{}).Where("id = ? and status =1", id).Update(map[string]interface{}{"patient_id": schedule.PatientId, "mode_id": schedule.ModeId, "is_export": 50000, "dialysis_machine_name": schedule.DialysisMachineName}).Error; err != nil {
838
+		utx.Rollback()
839
+		return err
840
+	}
841
+	if err = utx.Model(&models.Schedule{}).Where("id = ? and status =1", id_two).Update(map[string]interface{}{"patient_id": schedule_two.PatientId, "mode_id": schedule_two.ModeId, "is_export": 50000, "dialysis_machine_name": schedule_two.DialysisMachineName}).Error; err != nil {
842
+		utx.Rollback()
843
+		return err
844
+	}
845
+	utx.Commit()
837 846
 	return err
838 847
 }
839 848
 

+ 1 - 1
service/his_print_service.go 파일 보기

@@ -23,7 +23,7 @@ func GetBatchProjectHisPrescription(ids []string, record_time int64, user_org_id
23 23
 		Preload("HisPrintPrescription", func(db *gorm.DB) *gorm.DB {
24 24
 			return db.Where("status = 1 AND user_org_id = ? AND record_date = ? AND type <> 1 AND p_type = 2", user_org_id, record_time).
25 25
 				Preload("HisPrescriptionProject", func(db *gorm.DB) *gorm.DB {
26
-					return db.Where("his_prescription_project.status = 1 AND his_prescription_project.user_org_id = ?", user_org_id).Where("his_prescription_project.status = 1 ").Preload("HisProject", "status = 1").Preload("GoodInfo", "status=1")
26
+					return db.Joins("Join xt_his_project p On p.id = his_prescription_project.project_id  AND p.cost_classify != 3").Where("his_prescription_project.status = 1 AND his_prescription_project.user_org_id = ?", user_org_id).Where("his_prescription_project.status = 1 ").Preload("HisProject", "status = 1").Preload("GoodInfo", "status=1")
27 27
 				})
28 28
 		}).
29 29
 		Preload("HisPrescriptionInfoTwo", "status = 1 AND record_date = ?", record_time).

+ 49 - 11
service/patient_schedule_template_service.go 파일 보기

@@ -34,17 +34,10 @@ func GetOrgPatientScheduleTemplateIDs(orgID int64) ([]*models.PatientScheduleTem
34 34
 	return ids, nil
35 35
 }
36 36
 
37
-func GetOrgPatientScheduleTemplateIDByTemplateID(orgID int64, templateID int64) (*models.PatientScheduleTemplateId, error) {
38
-	var id models.PatientScheduleTemplateId
39
-	err := readDb.Model(&models.PatientScheduleTemplateId{}).Where("org_id = ? AND id = ? AND status = 1", orgID, templateID).First(&id).Error
40
-	if err != nil {
41
-		if err == gorm.ErrRecordNotFound {
42
-			return nil, nil
43
-		} else {
44
-			return nil, err
45
-		}
46
-	}
47
-	return &id, nil
37
+func GetOrgPatientScheduleTemplateIDByTemplateID(orgID int64, templateID int64) (id models.PatientScheduleTemplateId, err error) {
38
+	err = readDb.Model(&models.PatientScheduleTemplateId{}).Where("org_id = ? AND id = ? AND status = 1", orgID, templateID).First(&id).Error
39
+
40
+	return id, nil
48 41
 }
49 42
 
50 43
 type PatientsTwo struct {
@@ -954,3 +947,48 @@ func UpdateTemplateItemModeWeek(orgID int64, id int64, week_time int64) {
954 947
 	readDb.Model(&models.PatientScheduleTemplateMode{}).Where("org_id = ? AND status = 1 AND id = ? ", orgID, id).Updates(map[string]interface{}{"original_week": week_time, "week": week_time})
955 948
 	return
956 949
 }
950
+
951
+func ClearAndCreateSyncSch(user_org_id int64, start_time int64, schs []models.Schedule) (err error) {
952
+	utx := writeDb.Begin()
953
+	err = utx.Table("xt_schedule as s").
954
+		Where("s.schedule_date > ? AND s.status = 1 AND "+
955
+			"s.user_org_id = ?", start_time, user_org_id).
956
+		Updates(map[string]interface{}{"status": 0, "updated_time": time.Now().Unix()}).Error
957
+	if err != nil {
958
+		utx.Rollback()
959
+		return
960
+	}
961
+	if len(schs) > 0 {
962
+		if len(schs) > 0 {
963
+			thisSQL := "INSERT INTO xt_schedule (user_org_id, partition_id, bed_id, patient_id, schedule_date,schedule_type,schedule_week,mode_id,status,created_time,updated_time,is_export,dialysis_machine_name,remark) VALUES "
964
+			insertParams := make([]string, 0)
965
+			insertData := make([]interface{}, 0)
966
+			for _, info := range schs {
967
+				insertParams = append(insertParams, "(?,?,?,?,?,?,?,?,?,?,?,?,?,?)")
968
+				insertData = append(insertData, info.UserOrgId)
969
+				insertData = append(insertData, info.PartitionId)
970
+				insertData = append(insertData, info.BedId)
971
+				insertData = append(insertData, info.PatientId)
972
+				insertData = append(insertData, info.ScheduleDate)
973
+				insertData = append(insertData, info.ScheduleType)
974
+				insertData = append(insertData, info.ScheduleWeek)
975
+				insertData = append(insertData, info.ModeId)
976
+				insertData = append(insertData, info.Status)
977
+				insertData = append(insertData, info.CreatedTime)
978
+				insertData = append(insertData, info.UpdatedTime)
979
+				insertData = append(insertData, info.IsExport)
980
+				insertData = append(insertData, info.DialysisMachineName)
981
+				insertData = append(insertData, "")
982
+			}
983
+			thisSQL += strings.Join(insertParams, ", ")
984
+			err = utx.Exec(thisSQL, insertData...).Error
985
+			if err != nil {
986
+				utx.Rollback()
987
+				return
988
+			}
989
+		}
990
+		utx.Commit()
991
+	}
992
+	return
993
+
994
+}

+ 99 - 27
service/schedule_service.go 파일 보기

@@ -226,9 +226,19 @@ func GetPointSchedule(orgID, scheduleDate, scheduleWeek, scheduleType, bedId int
226 226
 	return
227 227
 }
228 228
 
229
-func CreateSchedule(m *models.Schedule) error {
229
+func CreateSchedule(m *models.Schedule, id int64) (err error) {
230 230
 	utx := XTWriteDB().Begin()
231
-	err := utx.Create(&m).Error
231
+	schedule := models.XtSchedule{}
232
+	err = utx.Model(&schedule).Where("id=? and status = 1", id).Updates(map[string]interface{}{"status": 0}).Error
233
+	if err != nil {
234
+		utx.Rollback()
235
+		return err
236
+	}
237
+	err = utx.Create(&m).Error
238
+	if err != nil {
239
+		utx.Rollback()
240
+		return err
241
+	}
232 242
 	utx.Commit()
233 243
 	return err
234 244
 }
@@ -346,8 +356,8 @@ func UpdateScheduleOne(id int64, schedule models.Schedule) error {
346 356
 }
347 357
 
348 358
 // 参数一:当前操作的患者的排班     参数二被替换床位对应的排班
349
-func UpdateScheduleTwo(schone models.Schedule, schtwo models.Schedule) {
350
-	utx := XTWriteDB()
359
+func UpdateScheduleTwo(schone models.Schedule, schtwo models.Schedule) error {
360
+	utx := XTWriteDB().Begin()
351 361
 	//床位
352 362
 	var tempBedID int64
353 363
 	var tempBedIDTwo int64
@@ -377,16 +387,22 @@ func UpdateScheduleTwo(schone models.Schedule, schtwo models.Schedule) {
377 387
 
378 388
 	schone.ScheduleType = tempTypeTwo
379 389
 	schtwo.ScheduleType = tempTypeID
380
-	schone.IsExport = 9000
381
-	schtwo.IsExport = 9000
382 390
 
383
-	utx.Model(&models.Schedule{}).Where("id = ?", schone.ID).Updates(map[string]interface{}{"partition_id": schone.PartitionId, "bed_id": schone.BedId, "schedule_type": schone.ScheduleType, "is_export": 9000})
384
-	utx.Model(&models.Schedule{}).Where("id = ?", schtwo.ID).Updates(map[string]interface{}{"partition_id": schtwo.PartitionId, "bed_id": schtwo.BedId, "schedule_type": schtwo.ScheduleType, "is_export": 9000})
391
+	if err := utx.Model(&models.Schedule{}).Where("id = ?", schone.ID).Updates(map[string]interface{}{"partition_id": schone.PartitionId, "bed_id": schone.BedId, "schedule_type": schone.ScheduleType, "is_export": 90000}).Error; err != nil {
392
+		utx.Rollback()
393
+		return err
394
+	}
385 395
 
396
+	if err := utx.Model(&models.Schedule{}).Where("id = ?", schtwo.ID).Updates(map[string]interface{}{"partition_id": schtwo.PartitionId, "bed_id": schtwo.BedId, "schedule_type": schtwo.ScheduleType, "is_export": 90000}).Error; err != nil {
397
+		utx.Rollback()
398
+		return err
399
+	}
400
+	utx.Commit()
401
+	return err
386 402
 }
387 403
 
388
-func UpdateScheduleThree(schone *models.Schedule, schtwo *models.Schedule) {
389
-	utx := XTWriteDB()
404
+func UpdateScheduleThree(schone *models.Schedule, schtwo *models.Schedule) error {
405
+	utx := XTWriteDB().Begin()
390 406
 	//床位
391 407
 	var tempBedID int64
392 408
 	var tempBedIDTwo int64
@@ -407,6 +423,7 @@ func UpdateScheduleThree(schone *models.Schedule, schtwo *models.Schedule) {
407 423
 	var sch_week_one int64
408 424
 	var sch_week_two int64
409 425
 
426
+	//原数据
410 427
 	tempBedID = schone.BedId
411 428
 	tempBedIDTwo = schtwo.BedId
412 429
 
@@ -422,6 +439,7 @@ func UpdateScheduleThree(schone *models.Schedule, schtwo *models.Schedule) {
422 439
 	sch_week_one = schone.ScheduleWeek
423 440
 	sch_week_two = schtwo.ScheduleWeek
424 441
 
442
+	//交换数据
425 443
 	schone.BedId = tempBedIDTwo
426 444
 	schtwo.BedId = tempBedID
427 445
 
@@ -437,12 +455,18 @@ func UpdateScheduleThree(schone *models.Schedule, schtwo *models.Schedule) {
437 455
 	schone.ScheduleWeek = sch_week_two
438 456
 	schtwo.ScheduleWeek = sch_week_one
439 457
 
440
-	schone.IsExport = 9000
441
-	schtwo.IsExport = 9000
458
+	if err = utx.Model(&models.Schedule{}).Where("id = ?", schone.ID).Updates(map[string]interface{}{"partition_id": schone.PartitionId, "bed_id": schone.BedId, "schedule_type": schone.ScheduleType, "schedule_date": schone.ScheduleDate, "schedule_week": schone.ScheduleWeek, "is_export": 80000}).Error; err != nil {
459
+		utx.Rollback()
460
+		return err
461
+	}
442 462
 
443
-	utx.Model(&models.Schedule{}).Where("id = ?", schone.ID).Updates(map[string]interface{}{"partition_id": schone.PartitionId, "bed_id": schone.BedId, "schedule_type": schone.ScheduleType, "schedule_date": schone.ScheduleDate, "schedule_week": schone.ScheduleWeek, "is_export": 9000})
444
-	utx.Model(&models.Schedule{}).Where("id = ?", schtwo.ID).Updates(map[string]interface{}{"partition_id": schtwo.PartitionId, "bed_id": schtwo.BedId, "schedule_type": schtwo.ScheduleType, "schedule_date": schtwo.ScheduleDate, "schedule_week": schtwo.ScheduleWeek, "is_export": 9000})
463
+	if err = utx.Model(&models.Schedule{}).Where("id = ?", schtwo.ID).Updates(map[string]interface{}{"partition_id": schtwo.PartitionId, "bed_id": schtwo.BedId, "schedule_type": schtwo.ScheduleType, "schedule_date": schtwo.ScheduleDate, "schedule_week": schtwo.ScheduleWeek, "is_export": 80000}).Error; err != nil {
464
+		utx.Rollback()
465
+		return err
466
+	}
467
+	utx.Commit()
445 468
 
469
+	return err
446 470
 }
447 471
 
448 472
 func GetPatientScheduleFormToday(orgId, id, start int64) (schedules []*models.PatientSchedule, err error) {
@@ -1500,21 +1524,43 @@ func GetScheduleTemplateCountByDate(org_id int64, week_day int8, patient_id int6
1500 1524
 	return
1501 1525
 }
1502 1526
 
1503
-func SaveSchTemplateTwo(sch models.PatientScheduleTemplateItem, sch_two models.PatientScheduleTemplateItem) (err error) {
1504
-	//err = writeDb.Save(&sch).Error
1505
-	err = writeDb.Model(&models.PatientScheduleTemplateItem{}).Where("status=1 AND id = ?", sch.ID).Updates(map[string]interface{}{"status": 0}).Error
1506
-	err = writeDb.Model(&models.PatientScheduleTemplateItem{}).Where("status=1 AND id = ?", sch_two.ID).Updates(map[string]interface{}{"status": 0}).Error
1527
+func SaveSchTemplateTwo(sch models.PatientScheduleTemplateItem, sch_two models.PatientScheduleTemplateItem, new_sch models.PatientScheduleTemplateItem) (err error) {
1528
+	utx := writeDb.Begin()
1529
+	if err = utx.Model(&models.PatientScheduleTemplateItem{}).Where("status=1 AND id = ?", sch.ID).Updates(map[string]interface{}{"status": 0}).Error; err != nil {
1530
+		utx.Rollback()
1531
+		return err
1532
+	}
1533
+	if err = utx.Model(&models.PatientScheduleTemplateItem{}).Where("status=1 AND id = ?", sch_two.ID).Updates(map[string]interface{}{"status": 0}).Error; err != nil {
1534
+		utx.Rollback()
1535
+		return err
1536
+	}
1537
+	if err = utx.Save(&new_sch).Error; err != nil {
1538
+		utx.Rollback()
1539
+		return err
1540
+	}
1541
+	utx.Commit()
1507 1542
 
1508
-	return
1543
+	return err
1509 1544
 }
1510 1545
 
1511
-func SaveSchTemplate(sch models.PatientScheduleTemplateItem) (err error) {
1512
-	err = writeDb.Save(&sch).Error
1513
-	return
1546
+func SaveSchTemplate(sch models.PatientScheduleTemplateItem, sch_two models.PatientScheduleTemplateItem) (err error) {
1547
+	utx := writeDb.Begin()
1548
+	if err = utx.Save(&sch).Error; err != nil {
1549
+		utx.Rollback()
1550
+		return err
1551
+	}
1552
+
1553
+	if err = utx.Save(&sch_two).Error; err != nil {
1554
+		utx.Rollback()
1555
+		return err
1556
+	}
1557
+	utx.Commit()
1558
+
1559
+	return err
1514 1560
 }
1515 1561
 
1516
-func UpdateScheduleTemplateThree(schone models.PatientScheduleTemplateItem, schtwo models.PatientScheduleTemplateItem) {
1517
-	utx := XTWriteDB()
1562
+func UpdateScheduleTemplateThree(schone models.PatientScheduleTemplateItem, schtwo models.PatientScheduleTemplateItem) error {
1563
+	utx := XTWriteDB().Begin()
1518 1564
 	//床位
1519 1565
 	var tempBedID int64
1520 1566
 	var tempBedIDTwo int64
@@ -1544,10 +1590,17 @@ func UpdateScheduleTemplateThree(schone models.PatientScheduleTemplateItem, scht
1544 1590
 
1545 1591
 	schone.Weekday = sch_week_two
1546 1592
 	schtwo.Weekday = sch_week_one
1593
+	if err = utx.Model(&models.PatientScheduleTemplateItem{}).Where("id = ?", schone.ID).Updates(map[string]interface{}{"device_number_id": schone.DeviceNumberID, "time_type": schone.TimeType, "weekday": schone.Weekday, "is_export": 70000}).Error; err != nil {
1594
+		utx.Rollback()
1595
+		return err
1596
+	}
1597
+	if err = utx.Model(&models.PatientScheduleTemplateItem{}).Where("id = ?", schtwo.ID).Updates(map[string]interface{}{"device_number_id": schtwo.DeviceNumberID, "time_type": schtwo.TimeType, "weekday": schtwo.Weekday, "is_export": 70000}).Error; err != nil {
1598
+		utx.Rollback()
1599
+		return err
1600
+	}
1601
+	utx.Commit()
1547 1602
 
1548
-	utx.Model(&models.PatientScheduleTemplateItem{}).Where("id = ?", schone.ID).Updates(map[string]interface{}{"device_number_id": schone.DeviceNumberID, "time_type": schone.TimeType, "weekday": schone.Weekday, "is_export": 9000})
1549
-	utx.Model(&models.PatientScheduleTemplateItem{}).Where("id = ?", schtwo.ID).Updates(map[string]interface{}{"device_number_id": schtwo.DeviceNumberID, "time_type": schtwo.TimeType, "weekday": schtwo.Weekday, "is_export": 9000})
1550
-
1603
+	return err
1551 1604
 }
1552 1605
 
1553 1606
 func GetScheduleTemplateForDeviceNumberTwo(orgID int64, deviceNumberID int64, template_id int64, week_type int64, time_type int64, patient_id int64) (models.PatientScheduleTemplateItem, error) {
@@ -1555,3 +1608,22 @@ func GetScheduleTemplateForDeviceNumberTwo(orgID int64, deviceNumberID int64, te
1555 1608
 	err := readDb.Model(&models.PatientScheduleTemplateItem{}).Where("device_number_id = ? AND org_id = ? AND status = 1 AND template_id = ? AND weekday = ? AND time_type = ? AND patient_id = ?", deviceNumberID, orgID, template_id, week_type, time_type, patient_id).First(&item).Error
1556 1609
 	return item, err
1557 1610
 }
1611
+
1612
+func ClearSchedules(user_org_id int64, start_time int64) (err error) {
1613
+	err = writeDb.Table("xt_schedule as s").
1614
+		Where("s.schedule_date > ? AND s.status = 1 AND "+
1615
+			"s.user_org_id = ?", start_time, user_org_id).
1616
+		Updates(map[string]interface{}{"status": 0, "updated_time": time.Now().Unix()}).Error
1617
+	return
1618
+}
1619
+
1620
+func CreateScheduleTwo(m *models.Schedule) error {
1621
+	utx := XTWriteDB().Begin()
1622
+	err = utx.Create(&m).Error
1623
+	if err != nil {
1624
+		utx.Rollback()
1625
+		return err
1626
+	}
1627
+	utx.Commit()
1628
+	return err
1629
+}