Browse Source

耗材参数

XMLWAN 3 years ago
parent
commit
1dbcf87982

+ 6 - 1
controllers/dialysis_api_controller.go View File

3208
 				record.UltrafiltrationRate = ultrafiltration_rate
3208
 				record.UltrafiltrationRate = ultrafiltration_rate
3209
 			}
3209
 			}
3210
 
3210
 
3211
+			if template.TemplateId == 43 { //adminInfo.CurrentOrgId == 9538
3212
+				ultrafiltration_rate = math.Floor(prescription.TargetUltrafiltration / float64(totalMin) * 60)
3213
+				record.UltrafiltrationRate = ultrafiltration_rate
3214
+			}
3215
+
3211
 			// 只针对方济医院
3216
 			// 只针对方济医院
3212
 			if template.TemplateId == 1 && adminInfo.CurrentOrgId != 9849 {
3217
 			if template.TemplateId == 1 && adminInfo.CurrentOrgId != 9849 {
3213
 				value, _ := strconv.ParseFloat(fmt.Sprintf("%.3f", prescription.TargetUltrafiltration/float64(totalMin)*60), 6)
3218
 				value, _ := strconv.ParseFloat(fmt.Sprintf("%.3f", prescription.TargetUltrafiltration/float64(totalMin)*60), 6)
3227
 		}
3232
 		}
3228
 	}
3233
 	}
3229
 
3234
 
3230
-	if template.TemplateId == 6 || template.TemplateId == 20 || template.TemplateId == 22 || template.TemplateId == 32 || template.TemplateId == 34 || template.TemplateId == 41 {
3235
+	if template.TemplateId == 6 || template.TemplateId == 20 || template.TemplateId == 22 || template.TemplateId == 32 || template.TemplateId == 34 || template.TemplateId == 41 || template.TemplateId == 43 {
3231
 		if ultrafiltration_rate > 0 && adminInfo.CurrentOrgId != 9538 {
3236
 		if ultrafiltration_rate > 0 && adminInfo.CurrentOrgId != 9538 {
3232
 			ultrafiltration_volume := math.Floor(float64(record.OperateTime+3600-fristrecord.OperateTime) / 3600 * ultrafiltration_rate)
3237
 			ultrafiltration_volume := math.Floor(float64(record.OperateTime+3600-fristrecord.OperateTime) / 3600 * ultrafiltration_rate)
3233
 
3238
 

+ 13 - 2
controllers/dialysis_record_api_controller.go View File

570
 // @param nurse:int 上机护士
570
 // @param nurse:int 上机护士
571
 // @param bed:int 上机床位号
571
 // @param bed:int 上机床位号
572
 func (this *DialysisRecordAPIController) StartDialysis() {
572
 func (this *DialysisRecordAPIController) StartDialysis() {
573
+
573
 	patientID, _ := this.GetInt64("patient_id")
574
 	patientID, _ := this.GetInt64("patient_id")
574
 	recordDateStr := this.GetString("date")
575
 	recordDateStr := this.GetString("date")
575
 	nurseID, _ := this.GetInt64("nurse")
576
 	nurseID, _ := this.GetInt64("nurse")
583
 	difficult_puncture_nurse, _ := this.GetInt64("difficult_puncture_nurse")
584
 	difficult_puncture_nurse, _ := this.GetInt64("difficult_puncture_nurse")
584
 	new_fistula_nurse, _ := this.GetInt64("new_fistula_nurse")
585
 	new_fistula_nurse, _ := this.GetInt64("new_fistula_nurse")
585
 	bedID, _ := this.GetInt64("bed")
586
 	bedID, _ := this.GetInt64("bed")
587
+
586
 	if patientID <= 0 || len(recordDateStr) == 0 || nurseID <= 0 || bedID <= 0 {
588
 	if patientID <= 0 || len(recordDateStr) == 0 || nurseID <= 0 || bedID <= 0 {
587
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
589
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
588
 		return
590
 		return
737
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
739
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
738
 		return
740
 		return
739
 	}
741
 	}
740
-
742
+	fmt.Println("hhaaaaaaa888888888323232323232333232322333323232", adminUserInfo.CurrentOrgId)
741
 	dialysisRecord = &models.DialysisOrder{
743
 	dialysisRecord = &models.DialysisOrder{
742
 		DialysisDate:           recordDate.Unix(),
744
 		DialysisDate:           recordDate.Unix(),
743
 		UserOrgId:              adminUserInfo.CurrentOrgId,
745
 		UserOrgId:              adminUserInfo.CurrentOrgId,
803
 				}
805
 				}
804
 
806
 
805
 				//针对监利大垸医院
807
 				//针对监利大垸医院
806
-				if adminUserInfo.CurrentOrgId == 10101 || adminUserInfo.CurrentOrgId == 9671 {
808
+				if adminUserInfo.CurrentOrgId == 10101 {
807
 
809
 
808
 					if evaluation.ID > 0 {
810
 					if evaluation.ID > 0 {
809
 						ultrafiltration_rate = math.Ceil(prescription.TargetUltrafiltration / float64(totalMin) * 60 * 1000)
811
 						ultrafiltration_rate = math.Ceil(prescription.TargetUltrafiltration / float64(totalMin) * 60 * 1000)
810
 						fmt.Println("ultrafiltration_rate", ultrafiltration_rate)
812
 						fmt.Println("ultrafiltration_rate", ultrafiltration_rate)
811
 					}
813
 					}
812
 				}
814
 				}
815
+				fmt.Println("hhh233223323223232332233233223323223323232322332322323", adminUserInfo.CurrentOrgId)
816
+				//针对肇庆三鹤血液透析中心
817
+				if adminUserInfo.CurrentOrgId == 10215 || template.TemplateId == 43 {
818
+
819
+					if evaluation.ID > 0 {
820
+						ultrafiltration_rate = math.Ceil(prescription.TargetUltrafiltration / float64(totalMin) * 60)
821
+						fmt.Println("hhhh2323323223322323323232", ultrafiltration_rate)
822
+					}
823
+				}
813
 			}
824
 			}
814
 		}
825
 		}
815
 		record := models.MonitoringRecord{
826
 		record := models.MonitoringRecord{

+ 1 - 1
controllers/mobile_api_controllers/check_weight_api_controller.go View File

335
 
335
 
336
 	template, _ := service.GetOrgInfoTemplate(adminUserInfo.Org.Id)
336
 	template, _ := service.GetOrgInfoTemplate(adminUserInfo.Org.Id)
337
 
337
 
338
-	if template.TemplateId == 22 || template.TemplateId == 17 || template.TemplateId == 21 || template.TemplateId == 26 || template.TemplateId == 27 || template.TemplateId == 34 || template.TemplateId == 30 || template.TemplateId == 32 || template.TemplateId == 36 || template.TemplateId == 40 || template.TemplateId == 38 {
338
+	if template.TemplateId == 22 || template.TemplateId == 17 || template.TemplateId == 21 || template.TemplateId == 26 || template.TemplateId == 27 || template.TemplateId == 34 || template.TemplateId == 30 || template.TemplateId == 32 || template.TemplateId == 36 || template.TemplateId == 40 || template.TemplateId == 38 || template.TemplateId == 43 {
339
 		dewater_amount = dewater_amount * 1000
339
 		dewater_amount = dewater_amount * 1000
340
 	}
340
 	}
341
 
341
 

+ 13 - 5
controllers/mobile_api_controllers/dialysis_api_controller.go View File

1493
 		tempassessmentAfterDislysis.ActualDisplacement = endmonitorRecords.DisplacementQuantity
1493
 		tempassessmentAfterDislysis.ActualDisplacement = endmonitorRecords.DisplacementQuantity
1494
 
1494
 
1495
 	}
1495
 	}
1496
-	if adminUserInfo.Org.Id == 10101 || adminUserInfo.Org.Id == 9671 || adminUserInfo.Org.Id == 3877 {
1496
+	if adminUserInfo.Org.Id == 10101 || adminUserInfo.Org.Id == 9671 || adminUserInfo.Org.Id == 3877 || adminUserInfo.Org.Id == 10215 || adminUserInfo.Org.Id == 9671 {
1497
 		evaluation, _ := service.MobileGetPredialysisEvaluation(adminUserInfo.Org.Id, id, recordDate.Unix())
1497
 		evaluation, _ := service.MobileGetPredialysisEvaluation(adminUserInfo.Org.Id, id, recordDate.Unix())
1498
 		if evaluation.SystolicBloodPressure == 0 {
1498
 		if evaluation.SystolicBloodPressure == 0 {
1499
 			evaluation.SystolicBloodPressure = fmonitorRecords.SystolicBloodPressure
1499
 			evaluation.SystolicBloodPressure = fmonitorRecords.SystolicBloodPressure
1916
 			//针对监利大垸医院
1916
 			//针对监利大垸医院
1917
 			if template.TemplateId == 41 {
1917
 			if template.TemplateId == 41 {
1918
 				ultrafiltration_rate = math.Floor(prescription.TargetUltrafiltration * 60 / float64(totalMin) * 1000)
1918
 				ultrafiltration_rate = math.Floor(prescription.TargetUltrafiltration * 60 / float64(totalMin) * 1000)
1919
+			}
1920
+
1921
+			//针对肇庆三鹤血液透析中心
1922
+
1923
+			if template.TemplateId == 43 {
1924
+				ultrafiltration_rate = math.Floor(prescription.TargetUltrafiltration * 60 / float64(totalMin))
1919
 				fmt.Println("hhhh232332322323232332", ultrafiltration_rate)
1925
 				fmt.Println("hhhh232332322323232332", ultrafiltration_rate)
1920
 			}
1926
 			}
1921
 
1927
 
2476
 			}
2482
 			}
2477
 
2483
 
2478
 			if template.TemplateId == 41 {
2484
 			if template.TemplateId == 41 {
2479
-				fmt.Println("hhhhhhhhhh", prescription.TargetUltrafiltration)
2480
-				fmt.Println("jj2332323322323", float64(totalMin))
2481
 				ultrafiltration_rate = math.Floor(prescription.TargetUltrafiltration * 60 / float64(totalMin) * 1000)
2485
 				ultrafiltration_rate = math.Floor(prescription.TargetUltrafiltration * 60 / float64(totalMin) * 1000)
2482
-				fmt.Println("ultrafiltration_rate000304293929329238328328328328238328328", ultrafiltration_rate)
2486
+				record.UltrafiltrationRate = ultrafiltration_rate
2487
+			}
2488
+
2489
+			if template.TemplateId == 43 {
2490
+				ultrafiltration_rate = math.Floor(prescription.TargetUltrafiltration * 60 / float64(totalMin))
2483
 				record.UltrafiltrationRate = ultrafiltration_rate
2491
 				record.UltrafiltrationRate = ultrafiltration_rate
2484
 			}
2492
 			}
2485
 		}
2493
 		}
2495
 		}
2503
 		}
2496
 	}
2504
 	}
2497
 
2505
 
2498
-	if template.TemplateId == 6 || template.TemplateId == 20 || template.TemplateId == 22 || template.TemplateId == 32 || template.TemplateId == 34 || template.TemplateId == 36 || template.TemplateId == 41 { //adminInfo.Org.Id == 9538
2506
+	if template.TemplateId == 6 || template.TemplateId == 20 || template.TemplateId == 22 || template.TemplateId == 32 || template.TemplateId == 34 || template.TemplateId == 36 || template.TemplateId == 41 || template.TemplateId == 43 { //adminInfo.Org.Id == 9538
2499
 		if ultrafiltration_rate > 0 && adminInfo.Org.Id != 9538 {
2507
 		if ultrafiltration_rate > 0 && adminInfo.Org.Id != 9538 {
2500
 			ultrafiltration_volume := math.Floor(float64(record.OperateTime+3600-fristrecord.OperateTime) / 3600 * ultrafiltration_rate)
2508
 			ultrafiltration_volume := math.Floor(float64(record.OperateTime+3600-fristrecord.OperateTime) / 3600 * ultrafiltration_rate)
2501
 			record.UltrafiltrationVolume = ultrafiltration_volume
2509
 			record.UltrafiltrationVolume = ultrafiltration_volume

+ 8 - 6
controllers/mobile_api_controllers/patient_api_controller.go View File

972
 					}
972
 					}
973
 				}
973
 				}
974
 			}
974
 			}
975
-
976
-			c.ServeSuccessJSON(map[string]interface{}{
977
-				"msg":    "ok",
978
-				"advice": advices,
979
-				"ids":    ids,
980
-			})
975
+			for _, item := range advices {
976
+				advice, _ := service.FindHisDoctorAdviceById(adminInfo.Org.Id, item.ID)
977
+				c.ServeSuccessJSON(map[string]interface{}{
978
+					"msg":    "1",
979
+					"advice": advice,
980
+					"ids":    ids,
981
+				})
982
+			}
981
 
983
 
982
 		} else {
984
 		} else {
983
 			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
985
 			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)

+ 27 - 1
controllers/self_drug_api_congtroller.go View File

2016
 	var minNumber int64
2016
 	var minNumber int64
2017
 	for _, item := range list {
2017
 	for _, item := range list {
2018
 
2018
 
2019
-		//查询库存信息
2019
+		//查询药品信息
2020
 		drug, _ := service.GetDrugDetailByDrugId(item.DrugId)
2020
 		drug, _ := service.GetDrugDetailByDrugId(item.DrugId)
2021
 
2021
 
2022
 		//查询库存
2022
 		//查询库存
2115
 			service.CreateDrugWarehouseOutInfo(warehouseOutInfo)
2115
 			service.CreateDrugWarehouseOutInfo(warehouseOutInfo)
2116
 			service.CreateDrugFlowOne(drugflow)
2116
 			service.CreateDrugFlowOne(drugflow)
2117
 
2117
 
2118
+			//扣减当前批次号的库存
2119
+			var total_count int64
2120
+
2121
+			//查询当前批次库存的数量
2122
+			warehosueInfoList, _ := service.GetCurrentWarehosueInfo(item.WarehouseInfoId)
2123
+			fmt.Println(warehosueInfoList)
2124
+			for _, item := range warehosueInfoList {
2125
+				total_count += item.StockMaxNumber*drug.MinNumber + item.StockMinNumber
2126
+			}
2127
+			//判断当前批次库存 和 需要出库的数据
2128
+			//出库
2129
+			if proof_count <= total_count {
2130
+
2131
+				//var total_count_one int64
2132
+				//获取当前批次号的库存
2133
+				//warehouseinfoOne, _ := service.GetCurrentWarehosueInfoOne(item.WarehouseInfoId)
2134
+				//total_count_one = warehouseinfoOne.StockMaxNumber * drug.MinNumber + warehouseinfoOne.StockMinNumber
2135
+
2136
+			}
2137
+			//报错提示
2138
+			if proof_count > total_count {
2139
+				this.ServeSuccessJSON(map[string]interface{}{
2140
+					"msg": "1",
2141
+				})
2142
+			}
2118
 		}
2143
 		}
2119
 
2144
 
2120
 		//判断 如果库存数量 小于于盘点库存,则入库
2145
 		//判断 如果库存数量 小于于盘点库存,则入库
2198
 
2223
 
2199
 			service.CreateDrugWarehouseInfo(warehouseInfo)
2224
 			service.CreateDrugWarehouseInfo(warehouseInfo)
2200
 			service.CreateDrugFlowOne(drugflow)
2225
 			service.CreateDrugFlowOne(drugflow)
2226
+
2201
 		}
2227
 		}
2202
 	}
2228
 	}
2203
 	returnData := make(map[string]interface{}, 0)
2229
 	returnData := make(map[string]interface{}, 0)

+ 1 - 1
service/manage_service.go View File

730
 
730
 
731
 func UpadateForm(id int64, orgid int64, infor *models.DeviceInformation) error {
731
 func UpadateForm(id int64, orgid int64, infor *models.DeviceInformation) error {
732
 
732
 
733
-	err := UserWriteDB().Model(&infor).Where("id = ? AND user_org_id = ? AND status = 1", id, orgid).Updates(map[string]interface{}{"date": infor.Date, "class": infor.Class, "zone": infor.Zone, "bed_number": infor.BedNumber, "contagion": infor.Contagion, "dialysis_mode": infor.DialysisMode, "start_time": infor.StartTime, "end_time": infor.EndTime, "dialysis_hour": infor.DialysisHour, "hyperfiltratio": infor.Hyperfiltratio, "weight_loss": infor.WeightLoss, "warning_value": infor.WarningValue, "user_total": infor.UserTotal, "move": infor.Move, "failure_stage": infor.FailureStage, "fault_description": infor.FaultDescription, "code_information": infor.CodeInformation, "disinfect_type": infor.DisinfectType, "disinfectant_type": infor.DisinfectType, "disinfection": infor.Disinfection, "machine_run": infor.MachineRun, "fluid_path": infor.FluidPath, "disinfectant": infor.Disinfectant, "disinfection_status": infor.DisinfectionStatus, "disinfection_residue": infor.DisinfectionResidue, "long_time": infor.LongTime, "disinfec_startime": infor.DisinfecStartime, "disinfec_endtime": infor.DisinfecEndtime, "dialysis_checked": infor.DialysisChecked, "dialysis_name": infor.DialysisName, "norms": infor.Norms, "dialysis_concentration": infor.DialysisConcentration,
733
+	err := UserWriteDB().Model(&infor).Where("id = ? AND user_org_id = ? AND status = 1", id, orgid).Updates(map[string]interface{}{"date": infor.Date, "class": infor.Class, "zone": infor.Zone, "bed_number": infor.BedNumber, "contagion": infor.Contagion, "dialysis_mode": infor.DialysisMode, "start_time": infor.StartTime, "end_time": infor.EndTime, "dialysis_hour": infor.DialysisHour, "hyperfiltratio": infor.Hyperfiltratio, "weight_loss": infor.WeightLoss, "warning_value": infor.WarningValue, "user_total": infor.UserTotal, "move": infor.Move, "failure_stage": infor.FailureStage, "fault_description": infor.FaultDescription, "code_information": infor.CodeInformation, "disinfect_type": infor.DisinfectType, "disinfectant_type": infor.DisinfectantType, "disinfection": infor.Disinfection, "machine_run": infor.MachineRun, "fluid_path": infor.FluidPath, "disinfectant": infor.Disinfectant, "disinfection_status": infor.DisinfectionStatus, "disinfection_residue": infor.DisinfectionResidue, "long_time": infor.LongTime, "disinfec_startime": infor.DisinfecStartime, "disinfec_endtime": infor.DisinfecEndtime, "dialysis_checked": infor.DialysisChecked, "dialysis_name": infor.DialysisName, "norms": infor.Norms, "dialysis_concentration": infor.DialysisConcentration,
734
 		"germ_checked": infor.GermChecked, "germ_name": infor.GermName, "germ_number": infor.GermNumber, "clean": infor.Clean, "sign_name": infor.SignName, "bed": infor.Bed, "patient_id": infor.PatientId, "mtime": time.Now().Unix()}).Error
734
 		"germ_checked": infor.GermChecked, "germ_name": infor.GermName, "germ_number": infor.GermNumber, "clean": infor.Clean, "sign_name": infor.SignName, "bed": infor.Bed, "patient_id": infor.PatientId, "mtime": time.Now().Unix()}).Error
735
 	return err
735
 	return err
736
 }
736
 }

+ 2 - 2
service/patientmanage_service.go View File

1626
 
1626
 
1627
 	db := XTReadDB().Table("xt_inspection")
1627
 	db := XTReadDB().Table("xt_inspection")
1628
 
1628
 
1629
-	err = db.Raw("select * from xt_inspection where id in(select max(id) from xt_inspection where org_id = ? and status = 1 and patient_id = ? and inspect_date>=? and inspect_date<=? group by project_id)", orgid, patientid, lasttime, startime).Scan(&inspection).Error
1630
-
1629
+	//err = db.Raw("select * from xt_inspection where id in(select max(id) from xt_inspection where org_id = ? and status = 1 and patient_id = ? and inspect_date>=? and inspect_date<=? group by project_id)", orgid, patientid, lasttime, startime).Scan(&inspection).Error
1630
+	err = db.Raw("select * from xt_inspection  where org_id = ? and status = 1 and patient_id = ? and inspect_date>=? and inspect_date<=? group by project_id", orgid, patientid, lasttime, startime).Scan(&inspection).Error
1631
 	return inspection, err
1631
 	return inspection, err
1632
 }
1632
 }
1633
 
1633
 

+ 13 - 0
service/stock_service.go View File

4747
 	err := db.Select("sum(x.stock_count) as stock_count").Scan(&info).Error
4747
 	err := db.Select("sum(x.stock_count) as stock_count").Scan(&info).Error
4748
 	return info, err
4748
 	return info, err
4749
 }
4749
 }
4750
+
4751
+func GetCurrentWarehosueInfo(id int64) (info []*models.DrugWarehouseInfo, err error) {
4752
+
4753
+	err = XTReadDB().Model(&info).Where("id=? or warehousing_info_id = ? ", id, id).Find(&info).Error
4754
+	return info, err
4755
+}
4756
+
4757
+func GetCurrentWarehosueInfoOne(id int64) (models.DrugWarehouseInfo, error) {
4758
+
4759
+	info := models.DrugWarehouseInfo{}
4760
+	err := XTReadDB().Model(&info).Where("id=?", id).Find(&info).Error
4761
+	return info, err
4762
+}