Browse Source

11月8日库存管理

XMLWAN 3 years ago
parent
commit
cb2d791273

+ 75 - 26
controllers/dialysis_record_api_controller.go View File

@@ -806,11 +806,18 @@ func (this *DialysisRecordAPIController) StartDialysis() {
806 806
 		// 修改了床位逻辑
807 807
 		daySchedule, _ := service.GetDaySchedule(adminUserInfo.CurrentOrgId, schedulestartTime, scheduleendTime, patientID)
808 808
 		if daySchedule.ID > 0 {
809
-			daySchedule.PartitionId = deviceNumber.ZoneID
810
-			daySchedule.BedId = bedID
811
-			daySchedule.ScheduleType = schedual_type
812
-			daySchedule.UpdatedTime = time.Now().Unix()
813
-			err := service.UpdateSchedule(&daySchedule)
809
+			//daySchedule.PartitionId = deviceNumber.ZoneID
810
+			//daySchedule.BedId = bedID
811
+			//daySchedule.ScheduleType = schedual_type
812
+			//daySchedule.UpdatedTime = time.Now().Unix()
813
+			//err := service.UpdateSchedule(&daySchedule)
814
+			xtSchedule := models.Schedule{
815
+				PartitionId:  deviceNumber.ZoneID,
816
+				BedId:        bedID,
817
+				ScheduleType: schedual_type,
818
+				UpdatedTime:  time.Now().Unix(),
819
+			}
820
+			service.UpdateScheduleOne(daySchedule.ID, xtSchedule)
814 821
 			if err != nil {
815 822
 				this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
816 823
 				return
@@ -828,11 +835,18 @@ func (this *DialysisRecordAPIController) StartDialysis() {
828 835
 				} else {
829 836
 					daySchedule, _ := service.GetDaySchedule(adminUserInfo.CurrentOrgId, schedulestartTime, scheduleendTime, patientID)
830 837
 					if daySchedule.ID > 0 {
831
-						daySchedule.PartitionId = deviceNumber.ZoneID
832
-						daySchedule.BedId = bedID
833
-						daySchedule.ScheduleType = schedual_type
834
-						daySchedule.UpdatedTime = time.Now().Unix()
835
-						err := service.UpdateSchedule(&daySchedule)
838
+						//daySchedule.PartitionId = deviceNumber.ZoneID
839
+						//daySchedule.BedId = bedID
840
+						//daySchedule.ScheduleType = schedual_type
841
+						//daySchedule.UpdatedTime = time.Now().Unix()
842
+						//err := service.UpdateSchedule(&daySchedule)
843
+						xtSchedule := models.Schedule{
844
+							PartitionId:  deviceNumber.ZoneID,
845
+							BedId:        bedID,
846
+							ScheduleType: schedual_type,
847
+							UpdatedTime:  time.Now().Unix(),
848
+						}
849
+						service.UpdateScheduleOne(daySchedule.ID, xtSchedule)
836 850
 						if err != nil {
837 851
 							this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
838 852
 							return
@@ -842,11 +856,18 @@ func (this *DialysisRecordAPIController) StartDialysis() {
842 856
 			} else if order_err == gorm.ErrRecordNotFound { //该床位没被占用
843 857
 				daySchedule, _ := service.GetDaySchedule(adminUserInfo.CurrentOrgId, schedulestartTime, scheduleendTime, patientID)
844 858
 				if daySchedule.ID > 0 {
845
-					daySchedule.PartitionId = deviceNumber.ZoneID
846
-					daySchedule.BedId = bedID
847
-					daySchedule.ScheduleType = schedual_type
848
-					daySchedule.UpdatedTime = time.Now().Unix()
849
-					err := service.UpdateSchedule(&daySchedule)
859
+					//daySchedule.PartitionId = deviceNumber.ZoneID
860
+					//daySchedule.BedId = bedID
861
+					//daySchedule.ScheduleType = schedual_type
862
+					//daySchedule.UpdatedTime = time.Now().Unix()
863
+					//err := service.UpdateSchedule(&daySchedule)
864
+					xtSchedule := models.Schedule{
865
+						PartitionId:  deviceNumber.ZoneID,
866
+						BedId:        bedID,
867
+						ScheduleType: schedual_type,
868
+						UpdatedTime:  time.Now().Unix(),
869
+					}
870
+					service.UpdateScheduleOne(daySchedule.ID, xtSchedule)
850 871
 					if err != nil {
851 872
 						this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
852 873
 						return
@@ -984,6 +1005,20 @@ func (this *DialysisRecordAPIController) StartDialysis() {
984 1005
 			UpdatedTime:           time.Now().Unix(),
985 1006
 		}
986 1007
 
1008
+		//只针对广慈医院
1009
+		if template.TemplateId == 26 || template.TemplateId == 25 || template.TemplateId == 28 || adminUserInfo.CurrentOrgId == 9987 || adminUserInfo.CurrentOrgId == 9526 || template.TemplateId == 32 || adminUserInfo.CurrentOrgId == 9918 || adminUserInfo.CurrentOrgId == 9671 || adminUserInfo.CurrentOrgId == 3877 || adminUserInfo.CurrentOrgId == 4 {
1010
+			// 查询病人是否有透前评估数据
1011
+			befor, errcode := service.GetAssessmentBefor(adminUserInfo.CurrentOrgId, patientID, recordDate.Unix())
1012
+			//如果有数据就插入
1013
+			if errcode == nil {
1014
+				record.SystolicBloodPressure = befor.SystolicBloodPressure
1015
+				record.DiastolicBloodPressure = befor.DiastolicBloodPressure
1016
+				record.BreathingRate = befor.BreathingRate
1017
+				record.PulseFrequency = befor.PulseFrequency
1018
+				record.Temperature = befor.Temperature
1019
+			}
1020
+		}
1021
+
987 1022
 		// 如果当天有插入数据,则不再往透析纪录里插入数据
988 1023
 		if newdialysisRecord.ID > 0 {
989 1024
 			err := service.CreateMonitor(&record)
@@ -1375,11 +1410,18 @@ func (this *DialysisRecordAPIController) ModifyStartDialysis() {
1375 1410
 			// 修改了床位逻辑
1376 1411
 			daySchedule, _ := service.GetDaySchedule(adminUserInfo.CurrentOrgId, schedulestartTime, scheduleendTime, tempDialysisRecord.PatientId)
1377 1412
 			if daySchedule.ID > 0 {
1378
-				daySchedule.BedId = bedID
1379
-				daySchedule.PartitionId = deviceNumber.ZoneID
1380
-				daySchedule.ScheduleType = schedual_type
1381
-				daySchedule.UpdatedTime = time.Now().Unix()
1382
-				err := service.UpdateSchedule(&daySchedule)
1413
+				//daySchedule.BedId = bedID
1414
+				//daySchedule.PartitionId = deviceNumber.ZoneID
1415
+				//daySchedule.ScheduleType = schedual_type
1416
+				//daySchedule.UpdatedTime = time.Now().Unix()
1417
+				//err := service.UpdateSchedule(&daySchedule)
1418
+				xtSchedule := models.Schedule{
1419
+					PartitionId:  deviceNumber.ZoneID,
1420
+					BedId:        bedID,
1421
+					ScheduleType: schedual_type,
1422
+					UpdatedTime:  time.Now().Unix(),
1423
+				}
1424
+				service.UpdateScheduleOne(daySchedule.ID, xtSchedule)
1383 1425
 				if err != nil {
1384 1426
 					this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
1385 1427
 					return
@@ -1390,12 +1432,19 @@ func (this *DialysisRecordAPIController) ModifyStartDialysis() {
1390 1432
 			if schedule.ID > 0 && schedule.DialysisOrder.ID == 0 { //有排班没上机记录
1391 1433
 				daySchedule, _ := service.GetDaySchedule(adminUserInfo.CurrentOrgId, schedulestartTime, scheduleendTime, tempDialysisRecord.PatientId)
1392 1434
 				if daySchedule.ID > 0 {
1393
-					daySchedule.BedId = bedID
1394
-					daySchedule.PartitionId = deviceNumber.ZoneID
1395
-
1396
-					daySchedule.ScheduleType = schedual_type
1397
-					daySchedule.UpdatedTime = time.Now().Unix()
1398
-					err := service.UpdateSchedule(&daySchedule)
1435
+					//daySchedule.BedId = bedID
1436
+					//daySchedule.PartitionId = deviceNumber.ZoneID
1437
+					//
1438
+					//daySchedule.ScheduleType = schedual_type
1439
+					//daySchedule.UpdatedTime = time.Now().Unix()
1440
+					//err := service.UpdateSchedule(&daySchedule)
1441
+					xtSchedule := models.Schedule{
1442
+						PartitionId:  deviceNumber.ZoneID,
1443
+						BedId:        bedID,
1444
+						ScheduleType: schedual_type,
1445
+						UpdatedTime:  time.Now().Unix(),
1446
+					}
1447
+					service.UpdateScheduleOne(daySchedule.ID, xtSchedule)
1399 1448
 					if err != nil {
1400 1449
 						this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
1401 1450
 						return

+ 8 - 1
controllers/drug_stock_api_contorller.go View File

@@ -1921,6 +1921,10 @@ func (c *StockDrugApiController) EditDrugWarehouseOut() {
1921 1921
 			////比较当前出库数量 和 最后一次出库数量,正常出库
1922 1922
 			if max_number <= min_number {
1923 1923
 				errs = service.UpDateDrugWarehouseOutInfo(item)
1924
+				flow := models.DrugFlow{
1925
+					Count: item.Count,
1926
+				}
1927
+				service.UpdateDrugFlowSix(item.WarehouseOutId, item.DrugId, item.WarehouseOutOrderNumber, flow)
1924 1928
 				cha_number = min_number - max_number
1925 1929
 
1926 1930
 				if item.CountUnit == medical.MaxUnit {
@@ -1987,7 +1991,10 @@ func (c *StockDrugApiController) EditDrugWarehouseOut() {
1987 1991
 				if all_number > cha_number {
1988 1992
 
1989 1993
 					errs = service.UpDateDrugWarehouseOutInfo(item)
1990
-
1994
+					flow := models.DrugFlow{
1995
+						Count: item.Count,
1996
+					}
1997
+					service.UpdateDrugFlowSix(item.WarehouseOutId, item.DrugId, item.WarehouseOutOrderNumber, flow)
1991 1998
 					if item.CountUnit == medical.MaxUnit {
1992 1999
 						maxNumber = cha_number / medical.MinNumber
1993 2000
 

+ 57 - 23
controllers/mobile_api_controllers/dialysis_api_controller.go View File

@@ -2078,7 +2078,13 @@ func (this *DialysisAPIController) StartDialysis() {
2078 2078
 			daySchedule.BedId = bedID
2079 2079
 			daySchedule.ScheduleType = schedual_type
2080 2080
 			daySchedule.UpdatedTime = time.Now().Unix()
2081
-			err := service.UpdateSchedule(&daySchedule)
2081
+			xtSchedule := models.Schedule{
2082
+				PartitionId:  deviceNumber.ZoneID,
2083
+				BedId:        bedID,
2084
+				ScheduleType: schedual_type,
2085
+				UpdatedTime:  time.Now().Unix(),
2086
+			}
2087
+			service.UpdateScheduleOne(daySchedule.ID, xtSchedule)
2082 2088
 			if err != nil {
2083 2089
 				this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2084 2090
 				return
@@ -2096,11 +2102,18 @@ func (this *DialysisAPIController) StartDialysis() {
2096 2102
 				} else {
2097 2103
 					daySchedule, _ := service.GetDaySchedule(adminUserInfo.Org.Id, schedulestartTime, scheduleendTime, patientID)
2098 2104
 					if daySchedule.ID > 0 {
2099
-						daySchedule.PartitionId = deviceNumber.ZoneID
2100
-						daySchedule.BedId = bedID
2101
-						daySchedule.ScheduleType = schedual_type
2102
-						daySchedule.UpdatedTime = time.Now().Unix()
2103
-						err := service.UpdateSchedule(&daySchedule)
2105
+						//daySchedule.PartitionId = deviceNumber.ZoneID
2106
+						//daySchedule.BedId = bedID
2107
+						//daySchedule.ScheduleType = schedual_type
2108
+						//daySchedule.UpdatedTime = time.Now().Unix()
2109
+						//err := service.UpdateSchedule(&daySchedule)
2110
+						xtSchedule := models.Schedule{
2111
+							PartitionId:  deviceNumber.ZoneID,
2112
+							BedId:        bedID,
2113
+							ScheduleType: schedual_type,
2114
+							UpdatedTime:  time.Now().Unix(),
2115
+						}
2116
+						service.UpdateScheduleOne(daySchedule.ID, xtSchedule)
2104 2117
 						if err != nil {
2105 2118
 							this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2106 2119
 							return
@@ -2110,11 +2123,18 @@ func (this *DialysisAPIController) StartDialysis() {
2110 2123
 			} else if order_err == gorm.ErrRecordNotFound { //该床位没被占用
2111 2124
 				daySchedule, _ := service.GetDaySchedule(adminUserInfo.Org.Id, schedulestartTime, scheduleendTime, patientID)
2112 2125
 				if daySchedule.ID > 0 {
2113
-					daySchedule.PartitionId = deviceNumber.ZoneID
2114
-					daySchedule.BedId = bedID
2115
-					daySchedule.ScheduleType = schedual_type
2116
-					daySchedule.UpdatedTime = time.Now().Unix()
2117
-					err := service.UpdateSchedule(&daySchedule)
2126
+					//daySchedule.PartitionId = deviceNumber.ZoneID
2127
+					//daySchedule.BedId = bedID
2128
+					//daySchedule.ScheduleType = schedual_type
2129
+					//daySchedule.UpdatedTime = time.Now().Unix()
2130
+					//err := service.UpdateSchedule(&daySchedule)
2131
+					xtSchedule := models.Schedule{
2132
+						PartitionId:  deviceNumber.ZoneID,
2133
+						BedId:        bedID,
2134
+						ScheduleType: schedual_type,
2135
+						UpdatedTime:  time.Now().Unix(),
2136
+					}
2137
+					service.UpdateScheduleOne(daySchedule.ID, xtSchedule)
2118 2138
 					if err != nil {
2119 2139
 						this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2120 2140
 						return
@@ -2247,7 +2267,7 @@ func (this *DialysisAPIController) StartDialysis() {
2247 2267
 	}
2248 2268
 
2249 2269
 	//只针对广慈医院
2250
-	if template.TemplateId == 26 || template.TemplateId == 25 || template.TemplateId == 28 || adminUserInfo.Org.Id == 9987 || adminUserInfo.Org.Id == 9526 || template.TemplateId == 32 {
2270
+	if template.TemplateId == 26 || template.TemplateId == 25 || template.TemplateId == 28 || adminUserInfo.Org.Id == 9987 || adminUserInfo.Org.Id == 9526 || template.TemplateId == 32 || adminUserInfo.Org.Id == 9918 || adminUserInfo.Org.Id == 9671 || adminUserInfo.Org.Id == 3877 || adminUserInfo.Org.Id == 4 {
2251 2271
 		// 查询病人是否有透前评估数据
2252 2272
 		befor, errcode := service.GetAssessmentBefor(adminUserInfo.Org.Id, patientID, recordDate.Unix())
2253 2273
 		//如果有数据就插入
@@ -2939,11 +2959,18 @@ func (this *DialysisAPIController) ModifyStartDialysisOrder() {
2939 2959
 			// 修改了床位逻辑
2940 2960
 			daySchedule, _ := service.GetDaySchedule(adminUserInfo.Org.Id, schedulestartTime, scheduleendTime, tempDialysisRecord.PatientId)
2941 2961
 			if daySchedule.ID > 0 {
2942
-				daySchedule.BedId = bedID
2943
-				daySchedule.PartitionId = deviceNumber.ZoneID
2944
-				daySchedule.ScheduleType = schedual_type
2945
-				daySchedule.UpdatedTime = time.Now().Unix()
2946
-				err := service.UpdateSchedule(&daySchedule)
2962
+				//daySchedule.BedId = bedID
2963
+				//daySchedule.PartitionId = deviceNumber.ZoneID
2964
+				//daySchedule.ScheduleType = schedual_type
2965
+				//daySchedule.UpdatedTime = time.Now().Unix()
2966
+				//err := service.UpdateSchedule(&daySchedule)
2967
+				xtSchedule := models.Schedule{
2968
+					PartitionId:  deviceNumber.ZoneID,
2969
+					BedId:        bedID,
2970
+					ScheduleType: schedual_type,
2971
+					UpdatedTime:  time.Now().Unix(),
2972
+				}
2973
+				service.UpdateScheduleOne(daySchedule.ID, xtSchedule)
2947 2974
 				if err != nil {
2948 2975
 					this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2949 2976
 					return
@@ -2954,12 +2981,19 @@ func (this *DialysisAPIController) ModifyStartDialysisOrder() {
2954 2981
 			if schedule.ID > 0 && schedule.DialysisOrder.ID == 0 { //有排班没上机记录
2955 2982
 				daySchedule, _ := service.GetDaySchedule(adminUserInfo.Org.Id, schedulestartTime, scheduleendTime, tempDialysisRecord.PatientId)
2956 2983
 				if daySchedule.ID > 0 {
2957
-					daySchedule.BedId = bedID
2958
-					daySchedule.PartitionId = deviceNumber.ZoneID
2959
-
2960
-					daySchedule.ScheduleType = schedual_type
2961
-					daySchedule.UpdatedTime = time.Now().Unix()
2962
-					err := service.UpdateSchedule(&daySchedule)
2984
+					//daySchedule.BedId = bedID
2985
+					//daySchedule.PartitionId = deviceNumber.ZoneID
2986
+					//
2987
+					//daySchedule.ScheduleType = schedual_type
2988
+					//daySchedule.UpdatedTime = time.Now().Unix()
2989
+					//err := service.UpdateSchedule(&daySchedule)
2990
+					xtSchedule := models.Schedule{
2991
+						PartitionId:  deviceNumber.ZoneID,
2992
+						BedId:        bedID,
2993
+						ScheduleType: schedual_type,
2994
+						UpdatedTime:  time.Now().Unix(),
2995
+					}
2996
+					service.UpdateScheduleOne(daySchedule.ID, xtSchedule)
2963 2997
 					if err != nil {
2964 2998
 						this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2965 2999
 						return

+ 1 - 3
controllers/new_mobile_api_controllers/staff_schedule_api_controller.go View File

@@ -688,12 +688,10 @@ func (c *StaffScheduleApiController) CreateMobileSchedulePatient() {
688 688
 	}
689 689
 
690 690
 	redis := service.RedisClient()
691
-	defer redis.Close()
692 691
 	err = service.CreateSchedule(&schedule)
693
-
694 692
 	key := "scheduals_" + scheduleDate + "_" + strconv.FormatInt(adminUserInfo.Org.Id, 10)
695 693
 	redis.Set(key, "", time.Second)
696
-
694
+	defer redis.Close()
697 695
 	fmt.Println(err)
698 696
 	if err != nil {
699 697
 		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeCreateScheduleFail)

+ 6 - 0
controllers/patient_api_controller.go View File

@@ -2514,6 +2514,10 @@ func (c *PatientApiController) DeleteDoctorAdvice() {
2514 2514
 
2515 2515
 	err := service.DeleteDoctorAdvice(&advice)
2516 2516
 	redis := service.RedisClient()
2517
+	keyOne := strconv.FormatInt(adminUserInfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(advice.PatientId, 10) + ":" + strconv.FormatInt(advice.AdviceDate, 10) + ":doctor_advices"
2518
+
2519
+	redis.Set(keyOne, "", time.Second)
2520
+
2517 2521
 	key := strconv.FormatInt(adminUserInfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(advice.AdviceDate, 10) + ":advice_list_all"
2518 2522
 	redis.Set(key, "", time.Second)
2519 2523
 	redis.Close()
@@ -2556,12 +2560,14 @@ func (c *PatientApiController) DeleteGroupAdvice() {
2556 2560
 	//}
2557 2561
 
2558 2562
 	err := service.DeleteGroupAdvice(adminUserInfo.CurrentOrgId, groupNo, adminUserInfo.AdminUser.Id)
2563
+
2559 2564
 	key := strconv.FormatInt(advice.UserOrgId, 10) + ":" + strconv.FormatInt(advice.PatientId, 10) + ":" + strconv.FormatInt(advice.AdviceDate, 10) + ":doctor_advices"
2560 2565
 	redis := service.RedisClient()
2561 2566
 
2562 2567
 	redis.Set(key, "", time.Second)
2563 2568
 	keyOne := strconv.FormatInt(adminUserInfo.CurrentOrgId, 10) + ":" + strconv.FormatInt(advice.AdviceDate, 10) + ":advice_list_all"
2564 2569
 	redis.Set(keyOne, "", time.Second)
2570
+
2565 2571
 	defer redis.Close()
2566 2572
 	if err != nil {
2567 2573
 		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDeleteAdviceFail)

+ 7 - 0
service/schedule_service.go View File

@@ -208,6 +208,13 @@ func UpdateSchedule(m *models.Schedule) error {
208 208
 	return err
209 209
 }
210 210
 
211
+func UpdateScheduleOne(id int64, schedule models.Schedule) error {
212
+	utx := XTWriteDB().Begin()
213
+	err := XTWriteDB().Where("id = ? and status = 1", id).Updates(map[string]interface{}{"partition_id": schedule.PartitionId, "bed_id": schedule.BedId, "schedule_type": schedule.ScheduleType}).Error
214
+	utx.Commit()
215
+	return err
216
+}
217
+
211 218
 func GetPatientScheduleFormToday(orgId, id, start int64) (schedules []*models.PatientSchedule, err error) {
212 219
 
213 220
 	err = readDb.Table("xt_schedule as s").

+ 7 - 1
service/stock_service.go View File

@@ -2193,6 +2193,12 @@ func UpDateDrugWarehouseOutInfo(info *models.DrugWarehouseOutInfo) (err error) {
2193 2193
 	return err
2194 2194
 }
2195 2195
 
2196
+func UpdateDrugFlowSix(warehousoutid int64, drugid int64, warehouse_out_order_number string, flow models.DrugFlow) error {
2197
+
2198
+	err := XTWriteDB().Model(&flow).Where("warehouse_out_id = ? and drug_id = ? and warehouse_out_order_number = ?", warehousoutid, drugid, warehouse_out_order_number).Updates(map[string]interface{}{"count": flow.Count}).Error
2199
+	return err
2200
+}
2201
+
2196 2202
 func FindAllCancelList(orgId int64, page int64, limit int64, startTime int64, endTime int64, types int64, keywords string) (list []*models.CancelStock, total int64, err error) {
2197 2203
 	db := readDb.Model(&models.CancelStock{})
2198 2204
 	db = db.Where("xt_cancel_stock.org_id = ? AND xt_cancel_stock.status = 1 AND xt_cancel_stock.type = ?", orgId, types)
@@ -3469,7 +3475,7 @@ func GetStockDrugCount(startime int64, endtime int64, orgid int64) (info []*mode
3469 3475
 }
3470 3476
 
3471 3477
 func GetAutoDiallysisBefor(startime int64, endtime int64, orgid int64) (info []*models.VmWarehouseInfo, err error) {
3472
-	db := XTReadDB().Table("xt_warehouse_out_info as x").Where("x.status = 1 and is_sys = 0")
3478
+	db := XTReadDB().Table("xt_warehouse_out_info as x").Where("x.status = 1")
3473 3479
 	if startime > 0 {
3474 3480
 		db = db.Where("x.ctime >=?", startime)
3475 3481
 	}