Browse Source

11月9日库存管理

XMLWAN 2 years ago
parent
commit
6d2ff4ddf8

+ 25 - 3
controllers/dialysis_api_controller.go View File

@@ -89,6 +89,8 @@ func DialysisApiRegistRouters() {
89 89
 	beego.Router("/api/patient/getdialysisadvicescheduelist", &DialysisApiController{}, "Get:GetDialysisAdviceSchedulist")
90 90
 
91 91
 	beego.Router("/api/patient/getdialysisparametergoodlist", &DialysisApiController{}, "Get:GetDialysisParameterGoodList")
92
+
93
+	beego.Router("/api/patinet/savehisdialysis", &DialysisApiController{}, "Get:SaveHisDialysis")
92 94
 }
93 95
 
94 96
 func (c *DialysisApiController) GetQueueCall() {
@@ -3795,7 +3797,7 @@ func (this *DialysisApiController) GetTodayMonitor() {
3795 3797
 	if adminInfo.CurrentOrgId == 10395 || adminInfo.CurrentOrgId == 10138 || adminInfo.CurrentOrgId == 10278 {
3796 3798
 
3797 3799
 		if ultrafiltration_rate > 0 {
3798
-			ultrafiltration_volume := math.Floor(float64(record.OperateTime+3600-fristrecord.OperateTime) / 3600 * ultrafiltration_rate / 1000)
3800
+			ultrafiltration_volume := math.Floor(float64(record.OperateTime+3600-fristrecord.OperateTime) / 3600 * ultrafiltration_rate)
3799 3801
 
3800 3802
 			record.UltrafiltrationVolume = ultrafiltration_volume
3801 3803
 		}
@@ -4272,10 +4274,14 @@ func (this *DialysisApiController) GetPatientDialysisSolutionGroupList() {
4272 4274
 
4273 4275
 	list, total, err := service.GetPatientDialysisSolutionGroupList(keyword, limit, page, partition_id, schedule_type, startTime.Unix(), orgId)
4274 4276
 
4277
+	_, config := service.FindXTHisRecordByOrgId(orgId)
4278
+	goodType, err := service.GetAllGoodType(orgId)
4275 4279
 	if err == nil {
4276 4280
 		this.ServeSuccessJSON(map[string]interface{}{
4277
-			"list":  list,
4278
-			"total": total,
4281
+			"list":     list,
4282
+			"total":    total,
4283
+			"config":   config,
4284
+			"goodType": goodType,
4279 4285
 		})
4280 4286
 		return
4281 4287
 
@@ -4543,3 +4549,19 @@ func (this *DialysisApiController) GetDialysisParameterGoodList() {
4543 4549
 		return
4544 4550
 	}
4545 4551
 }
4552
+
4553
+func (this *DialysisApiController) SaveHisDialysis() {
4554
+
4555
+	var ids []string
4556
+	advice_ids := this.GetString("ids")
4557
+	ids = strings.Split(advice_ids, ",")
4558
+
4559
+	orgId := this.GetAdminUserInfo().CurrentOrgId
4560
+
4561
+	service.SaveHisDialysis(orgId, ids)
4562
+
4563
+	returnData := make(map[string]interface{}, 0)
4564
+	returnData["msg"] = "ok"
4565
+	this.ServeSuccessJSON(returnData)
4566
+	return
4567
+}

+ 5 - 0
controllers/dialysis_record_api_controller.go View File

@@ -775,6 +775,7 @@ func (this *DialysisRecordAPIController) StartDialysis() {
775 775
 	change_nurse, _ := this.GetInt64("change_nurse")
776 776
 	difficult_puncture_nurse, _ := this.GetInt64("difficult_puncture_nurse")
777 777
 	new_fistula_nurse, _ := this.GetInt64("new_fistula_nurse")
778
+	quality_nurse_id, _ := this.GetInt64("quality_nurse_id")
778 779
 	bedID, _ := this.GetInt64("bed")
779 780
 
780 781
 	if patientID <= 0 || len(recordDateStr) == 0 || nurseID <= 0 || bedID <= 0 {
@@ -972,6 +973,7 @@ func (this *DialysisRecordAPIController) StartDialysis() {
972 973
 		ChangeNurse:            change_nurse,
973 974
 		DifficultPunctureNurse: difficult_puncture_nurse,
974 975
 		NewFistulaNurse:        new_fistula_nurse,
976
+		QualityNurseId:         quality_nurse_id,
975 977
 	}
976 978
 
977 979
 	createErr := service.MobileCreateDialysisOrder(adminUserInfo.CurrentOrgId, patientID, dialysisRecord)
@@ -1480,6 +1482,7 @@ func (this *DialysisRecordAPIController) ModifyStartDialysis() {
1480 1482
 	change_nurse, _ := this.GetInt64("change_nurse")
1481 1483
 	difficult_puncture_nurse, _ := this.GetInt64("difficult_puncture_nurse")
1482 1484
 	new_fistula_nurse, _ := this.GetInt64("new_fistula_nurse")
1485
+	quality_nurse, _ := this.GetInt64("quality_nurse")
1483 1486
 	if record_id == 0 {
1484 1487
 		this.ErrorLog("id:%v", record_id)
1485 1488
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
@@ -1611,6 +1614,7 @@ func (this *DialysisRecordAPIController) ModifyStartDialysis() {
1611 1614
 		}
1612 1615
 
1613 1616
 	}
1617
+	fmt.Println("quality_nurse", quality_nurse)
1614 1618
 	dialysisRecord := &models.DialysisOrder{
1615 1619
 		ID:                     record_id,
1616 1620
 		UserOrgId:              adminUserInfo.CurrentOrgId,
@@ -1625,6 +1629,7 @@ func (this *DialysisRecordAPIController) ModifyStartDialysis() {
1625 1629
 		ChangeNurse:            change_nurse,
1626 1630
 		DifficultPunctureNurse: difficult_puncture_nurse,
1627 1631
 		NewFistulaNurse:        new_fistula_nurse,
1632
+		QualityNurseId:         quality_nurse,
1628 1633
 	}
1629 1634
 
1630 1635
 	updateErr := service.ModifyStartDialysisOrder(dialysisRecord)

+ 6 - 2
controllers/mobile_api_controllers/dialysis_api_controller.go View File

@@ -2081,6 +2081,7 @@ func (this *DialysisAPIController) StartDialysis() {
2081 2081
 	change_nurse, _ := this.GetInt64("change_nurse")
2082 2082
 	difficult_puncture_nurse, _ := this.GetInt64("difficult_puncture_nurse")
2083 2083
 	new_fistula_nurse, _ := this.GetInt64("new_fistula_nurse")
2084
+	quality_nurse_id, _ := this.GetInt64("quality_nurse_id")
2084 2085
 	zone_id, _ := this.GetInt64("zone_id")
2085 2086
 
2086 2087
 	if patientID <= 0 || len(recordDateStr) == 0 || nurseID <= 0 || bedID <= 0 {
@@ -2265,6 +2266,7 @@ func (this *DialysisAPIController) StartDialysis() {
2265 2266
 		DifficultPunctureNurse: difficult_puncture_nurse,
2266 2267
 		NewFistulaNurse:        new_fistula_nurse,
2267 2268
 		ZoneId:                 zone_id,
2269
+		QualityNurseId:         quality_nurse_id,
2268 2270
 	}
2269 2271
 	//查询该床位是否有人用了
2270 2272
 	_, errorscode := service.GetDialysisOrderByBedId(adminUserInfo.Org.Id, schedulestartTime, bedID, schedual_type)
@@ -2961,7 +2963,7 @@ func (this *DialysisAPIController) GetLastMonitorRecordTody() {
2961 2963
 
2962 2964
 			if adminInfo.Org.Id == 10395 || adminInfo.Org.Id == 10138 || adminInfo.Org.Id == 10278 {
2963 2965
 				ultrafiltration_rate = math.Floor(prescription.TargetUltrafiltration * 60 / 1000 / float64(totalMin) * 1000)
2964
-
2966
+				fmt.Println("ultrafiltration_rate2332323223322332q", ultrafiltration_rate)
2965 2967
 				record.UltrafiltrationRate = ultrafiltration_rate
2966 2968
 			}
2967 2969
 			//if template.TemplateId == 47 {
@@ -2992,7 +2994,7 @@ func (this *DialysisAPIController) GetLastMonitorRecordTody() {
2992 2994
 	if adminInfo.Org.Id == 10395 || adminInfo.Org.Id == 10138 || adminInfo.Org.Id == 10278 {
2993 2995
 
2994 2996
 		if ultrafiltration_rate > 0 {
2995
-			ultrafiltration_volume := math.Floor(float64(record.OperateTime+3600-fristrecord.OperateTime) / 3600 * ultrafiltration_rate / 1000)
2997
+			ultrafiltration_volume := math.Floor(float64(record.OperateTime+3600-fristrecord.OperateTime) / 3600 * ultrafiltration_rate)
2996 2998
 
2997 2999
 			record.UltrafiltrationVolume = ultrafiltration_volume
2998 3000
 		}
@@ -3020,6 +3022,7 @@ func (this *DialysisAPIController) ModifyStartDialysisOrder() {
3020 3022
 	change_nurse, _ := this.GetInt64("change_nurse")
3021 3023
 	difficult_puncture_nurse, _ := this.GetInt64("difficult_puncture_nurse")
3022 3024
 	new_fistula_nurse, _ := this.GetInt64("new_fistula_nurse")
3025
+	quality_nurse_id, _ := this.GetInt64("quality_nurse_id")
3023 3026
 	patient_id, _ := this.GetInt64("patient_id")
3024 3027
 	record_date, _ := this.GetInt64("record_date")
3025 3028
 	if record_id == 0 {
@@ -3167,6 +3170,7 @@ func (this *DialysisAPIController) ModifyStartDialysisOrder() {
3167 3170
 		ChangeNurse:            change_nurse,
3168 3171
 		DifficultPunctureNurse: difficult_puncture_nurse,
3169 3172
 		NewFistulaNurse:        new_fistula_nurse,
3173
+		QualityNurseId:         quality_nurse_id,
3170 3174
 	}
3171 3175
 
3172 3176
 	updateErr := service.ModifyStartDialysisOrder(dialysisRecord)

+ 2 - 0
models/dialysis.go View File

@@ -836,6 +836,7 @@ type DialysisOrder struct {
836 836
 	Cruor                      string        `gorm:"column:cruor" json:"cruor" form:"cruor"`
837 837
 	Url                        string        `gorm:"column:url" json:"url" form:"url"`
838 838
 	Hash                       string        `gorm:"column:hash" json:"hash" form:"hash"`
839
+	QualityNurseId             int64         `gorm:"column:quality_nurse_id" json:"quality_nurse_id" form:"quality_nurse_id"`
839 840
 }
840 841
 
841 842
 func (DialysisOrder) TableName() string {
@@ -899,6 +900,7 @@ type XtDialysisOrders struct {
899 900
 	UserName       string `gorm:"column:user_name" json:"user_name" form:"user_name"`
900 901
 	WashpipeNurse  int64  `gorm:"column:washpipe_nurse" json:"washpipe_nurse" form:"washpipe_nurse"`
901 902
 	ModeId         int64  `gorm:"column:mode_id" json:"mode_id" form:"mode_id"`
903
+	QualityNurseId int64  `gorm:"column:quality_nurse_id" json:"quality_nurse_id" form:"quality_nurse_id"`
902 904
 }
903 905
 
904 906
 type TreatmentMode struct {

+ 22 - 0
models/good_models.go View File

@@ -194,3 +194,25 @@ type XtCancelStockInfo struct {
194 194
 func (XtCancelStockInfo) TableName() string {
195 195
 	return "xt_cancel_stock_info"
196 196
 }
197
+
198
+type BloodGoodsType struct {
199
+	ID             int64  `gorm:"column:id" json:"id"`
200
+	TypeCode       string `gorm:"column:type_code" json:"type_code"`
201
+	TypeName       string `gorm:"column:type_name" json:"type_name"`
202
+	Remark         string `gorm:"column:remark" json:"remark"`
203
+	Ctime          int64  `gorm:"column:ctime" json:"ctime"`
204
+	Mtime          int64  `gorm:"column:mtime" json:"mtime"`
205
+	Creater        int64  `gorm:"column:creater" json:"creater"`
206
+	Modifier       int64  `gorm:"column:modifier" json:"modifier"`
207
+	OrgId          int64  `gorm:"column:org_id" json:"org_id"`
208
+	Status         int64  `gorm:"column:status" json:"status"`
209
+	Type           int64  `gorm:"column:type" json:"type"`
210
+	Number         int64  `gorm:"column:number" json:"number"`
211
+	OutStock       int64  `gorm:"column:out_stock" json:"out_stock" form:"out_stock"`
212
+	StockAttribute int64  `gorm:"column:stock_attribute" json:"stock_attribute" form:"stock_attribute"`
213
+	IsOpen         int64  `gorm:"column:is_open" json:"is_open" form:"is_open"`
214
+}
215
+
216
+func (BloodGoodsType) TableName() string {
217
+	return "xt_goods_type"
218
+}

+ 8 - 1
service/dialysis_service.go View File

@@ -632,7 +632,7 @@ func FindDialysisMacher(orgid int64, patientid int64, dialysisDate int64) (model
632 632
 	db := readDb.Table("xt_dialysis_order as o").Where("o.status = 1")
633 633
 	table := readDb.Table("xt_device_number as n")
634 634
 	fmt.Print("table", table)
635
-	err := db.Select("o.id,o.dialysis_date,o.user_org_id,o.patient_id,o.prescription_id,o.stage,remark,o.bed_id,o.start_nurse,o.finish_nurse,o.status,o.created_time,o.updated_time,o.start_time,o.end_time,o.puncture_nurse,o.creator,o.modifier,o.finish_creator,o.finish_modifier,o.schedual_type,n.number,r.user_name").Joins("left join xt_device_number as n on n.id = o.bed_id").Joins("left join sgj_users.sgj_user_admin_role  as r on r.admin_user_id = o.start_nurse").Where("o.user_org_id = ? and o.patient_id = ? and o.dialysis_date =?", orgid, patientid, dialysisDate).Scan(&orders).Error
635
+	err := db.Select("o.id,o.dialysis_date,o.user_org_id,o.patient_id,o.prescription_id,o.stage,remark,o.bed_id,o.start_nurse,o.finish_nurse,o.status,o.created_time,o.updated_time,o.start_time,o.end_time,o.puncture_nurse,o.creator,o.modifier,o.finish_creator,o.finish_modifier,o.schedual_type,o.quality_nurse_id,n.number,r.user_name").Joins("left join xt_device_number as n on n.id = o.bed_id").Joins("left join sgj_users.sgj_user_admin_role  as r on r.admin_user_id = o.start_nurse").Where("o.user_org_id = ? and o.patient_id = ? and o.dialysis_date =?", orgid, patientid, dialysisDate).Scan(&orders).Error
636 636
 	return orders, err
637 637
 }
638 638
 func FindPunctureNurse(adminid int64, appid int64, orgid int64) (models.App_Roles, error) {
@@ -652,6 +652,13 @@ func FindeStartNuse(adminid int64, appid int64, orgid int64) (models.App_Roles,
652 652
 	return role, err
653 653
 }
654 654
 
655
+func FindeQualityNurse(adminid int64, appid int64, orgid int64) (models.App_Roles, error) {
656
+	role := models.App_Roles{}
657
+	db := UserReadDB().Table("sgj_user_admin_role as r").Where("r.status = 1")
658
+	err := db.Select("r.id,r.admin_user_id,r.org_id,r.role_id,r.user_name,r.avatar,r.user_type,r.user_title,r.intro,r.status,r.ctime,e.url").Joins("left join sgj_user_admin_electronic_signature as e on e.creator = r.admin_user_id").Where("r.admin_user_id = ? and r.app_id = ? and r.org_id = ?", adminid, appid, orgid).Find(&role).Error
659
+	return role, err
660
+}
661
+
655 662
 func FindDialysisWay(orgid int64, patientid int64, recorddate int64) (models.DialysisPrescription, error) {
656 663
 	prescription := models.DialysisPrescription{}
657 664
 	err := readDb.Where("user_org_id = ? and patient_id = ? and record_date = ? and status =1", orgid, patientid, recorddate).Find(&prescription).Error

+ 7 - 0
service/dialysis_solution_service.go View File

@@ -262,3 +262,10 @@ func GetDialysisParameterGoodList(orgID int64, schedule_type int64, partition_id
262 262
 
263 263
 	return schedule, err
264 264
 }
265
+
266
+func SaveHisDialysis(orgid int64, ids []string) error {
267
+
268
+	goodsType := models.BloodGoodsType{}
269
+	err := XTWriteDB().Where("org_id = ? and status = 1 and id in(?)", orgid, ids).Update(map[string]interface{}{"is_open": goodsType.IsOpen}).Error
270
+	return err
271
+}

+ 1 - 1
service/his_project_service.go View File

@@ -240,7 +240,7 @@ func DeleteProjectList(id int64) error {
240 240
 
241 241
 func GetHisProject(orgid int64) (project []*models.XtHisProject, err error) {
242 242
 
243
-	err = XTReadDB().Model(&project).Where("user_org_id = ? and status =1", orgid).Find(&project).Error
243
+	err = XTReadDB().Model(&project).Where("user_org_id = ? and status =1 and medical_status!=1", orgid).Find(&project).Error
244 244
 	return project, err
245 245
 }
246 246
 

+ 1 - 1
service/mobile_dialysis_service.go View File

@@ -2021,7 +2021,7 @@ func BatchUpdateMonitors(monitors []*models.MonitoringRecord) error {
2021 2021
 func ModifyStartDialysisOrder(order *models.DialysisOrder) error {
2022 2022
 	tx := writeDb.Begin()
2023 2023
 	updateTime := time.Now().Unix()
2024
-	err := tx.Model(&models.DialysisOrder{}).Where("user_org_id = ? AND id = ? AND status = 1 ", order.UserOrgId, order.ID).Updates(map[string]interface{}{"start_nurse": order.StartNurse, "updated_time": updateTime, "bed_id": order.BedID, "puncture_nurse": order.PunctureNurse, "start_time": order.StartTime, "modifier": order.Modifier, "schedual_type": order.SchedualType, "washpipe_nurse": order.WashpipeNurse, "change_nurse": order.ChangeNurse, "difficult_puncture_nurse": order.DifficultPunctureNurse, "new_fistula_nurse": order.NewFistulaNurse}).Error
2024
+	err := tx.Model(&models.DialysisOrder{}).Where("user_org_id = ? AND id = ? AND status = 1 ", order.UserOrgId, order.ID).Updates(map[string]interface{}{"start_nurse": order.StartNurse, "updated_time": updateTime, "bed_id": order.BedID, "puncture_nurse": order.PunctureNurse, "start_time": order.StartTime, "modifier": order.Modifier, "schedual_type": order.SchedualType, "washpipe_nurse": order.WashpipeNurse, "change_nurse": order.ChangeNurse, "difficult_puncture_nurse": order.DifficultPunctureNurse, "new_fistula_nurse": order.NewFistulaNurse, "quality_nurse_id": order.QualityNurseId}).Error
2025 2025
 	if err != nil {
2026 2026
 		tx.Rollback()
2027 2027
 		return err

+ 1 - 1
service/stock_service.go View File

@@ -4269,7 +4269,7 @@ func GetOrderDetailStockFlow(id []string, orgid int64) (list []*models.VmStockFl
4269 4269
 
4270 4270
 func GetOrderStockFlow(id []string, orgid int64) (list []*models.VmStockFlow, err error) {
4271 4271
 
4272
-	db := XTReadDB().Model(&list).Where("status = 1 and consumable_type = 7 and patient_id > 0")
4272
+	db := XTReadDB().Model(&list).Where("status = 1 and consumable_type = 7 and patient_id > 0 and count>0")
4273 4273
 	if len(id) > 0 {
4274 4274
 		db = db.Where("warehouse_out_id in (?)", id)
4275 4275
 	}