Quellcode durchsuchen

11月9日库存管理

XMLWAN vor 2 Jahren
Ursprung
Commit
6d2ff4ddf8

+ 25 - 3
controllers/dialysis_api_controller.go Datei anzeigen

89
 	beego.Router("/api/patient/getdialysisadvicescheduelist", &DialysisApiController{}, "Get:GetDialysisAdviceSchedulist")
89
 	beego.Router("/api/patient/getdialysisadvicescheduelist", &DialysisApiController{}, "Get:GetDialysisAdviceSchedulist")
90
 
90
 
91
 	beego.Router("/api/patient/getdialysisparametergoodlist", &DialysisApiController{}, "Get:GetDialysisParameterGoodList")
91
 	beego.Router("/api/patient/getdialysisparametergoodlist", &DialysisApiController{}, "Get:GetDialysisParameterGoodList")
92
+
93
+	beego.Router("/api/patinet/savehisdialysis", &DialysisApiController{}, "Get:SaveHisDialysis")
92
 }
94
 }
93
 
95
 
94
 func (c *DialysisApiController) GetQueueCall() {
96
 func (c *DialysisApiController) GetQueueCall() {
3795
 	if adminInfo.CurrentOrgId == 10395 || adminInfo.CurrentOrgId == 10138 || adminInfo.CurrentOrgId == 10278 {
3797
 	if adminInfo.CurrentOrgId == 10395 || adminInfo.CurrentOrgId == 10138 || adminInfo.CurrentOrgId == 10278 {
3796
 
3798
 
3797
 		if ultrafiltration_rate > 0 {
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
 			record.UltrafiltrationVolume = ultrafiltration_volume
3802
 			record.UltrafiltrationVolume = ultrafiltration_volume
3801
 		}
3803
 		}
4272
 
4274
 
4273
 	list, total, err := service.GetPatientDialysisSolutionGroupList(keyword, limit, page, partition_id, schedule_type, startTime.Unix(), orgId)
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
 	if err == nil {
4279
 	if err == nil {
4276
 		this.ServeSuccessJSON(map[string]interface{}{
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
 		return
4286
 		return
4281
 
4287
 
4543
 		return
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 Datei anzeigen

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

+ 6 - 2
controllers/mobile_api_controllers/dialysis_api_controller.go Datei anzeigen

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

+ 2 - 0
models/dialysis.go Datei anzeigen

836
 	Cruor                      string        `gorm:"column:cruor" json:"cruor" form:"cruor"`
836
 	Cruor                      string        `gorm:"column:cruor" json:"cruor" form:"cruor"`
837
 	Url                        string        `gorm:"column:url" json:"url" form:"url"`
837
 	Url                        string        `gorm:"column:url" json:"url" form:"url"`
838
 	Hash                       string        `gorm:"column:hash" json:"hash" form:"hash"`
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
 func (DialysisOrder) TableName() string {
842
 func (DialysisOrder) TableName() string {
899
 	UserName       string `gorm:"column:user_name" json:"user_name" form:"user_name"`
900
 	UserName       string `gorm:"column:user_name" json:"user_name" form:"user_name"`
900
 	WashpipeNurse  int64  `gorm:"column:washpipe_nurse" json:"washpipe_nurse" form:"washpipe_nurse"`
901
 	WashpipeNurse  int64  `gorm:"column:washpipe_nurse" json:"washpipe_nurse" form:"washpipe_nurse"`
901
 	ModeId         int64  `gorm:"column:mode_id" json:"mode_id" form:"mode_id"`
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
 type TreatmentMode struct {
906
 type TreatmentMode struct {

+ 22 - 0
models/good_models.go Datei anzeigen

194
 func (XtCancelStockInfo) TableName() string {
194
 func (XtCancelStockInfo) TableName() string {
195
 	return "xt_cancel_stock_info"
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 Datei anzeigen

632
 	db := readDb.Table("xt_dialysis_order as o").Where("o.status = 1")
632
 	db := readDb.Table("xt_dialysis_order as o").Where("o.status = 1")
633
 	table := readDb.Table("xt_device_number as n")
633
 	table := readDb.Table("xt_device_number as n")
634
 	fmt.Print("table", table)
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
 	return orders, err
636
 	return orders, err
637
 }
637
 }
638
 func FindPunctureNurse(adminid int64, appid int64, orgid int64) (models.App_Roles, error) {
638
 func FindPunctureNurse(adminid int64, appid int64, orgid int64) (models.App_Roles, error) {
652
 	return role, err
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
 func FindDialysisWay(orgid int64, patientid int64, recorddate int64) (models.DialysisPrescription, error) {
662
 func FindDialysisWay(orgid int64, patientid int64, recorddate int64) (models.DialysisPrescription, error) {
656
 	prescription := models.DialysisPrescription{}
663
 	prescription := models.DialysisPrescription{}
657
 	err := readDb.Where("user_org_id = ? and patient_id = ? and record_date = ? and status =1", orgid, patientid, recorddate).Find(&prescription).Error
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 Datei anzeigen

262
 
262
 
263
 	return schedule, err
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 Datei anzeigen

240
 
240
 
241
 func GetHisProject(orgid int64) (project []*models.XtHisProject, err error) {
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
 	return project, err
244
 	return project, err
245
 }
245
 }
246
 
246
 

+ 1 - 1
service/mobile_dialysis_service.go Datei anzeigen

2021
 func ModifyStartDialysisOrder(order *models.DialysisOrder) error {
2021
 func ModifyStartDialysisOrder(order *models.DialysisOrder) error {
2022
 	tx := writeDb.Begin()
2022
 	tx := writeDb.Begin()
2023
 	updateTime := time.Now().Unix()
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
 	if err != nil {
2025
 	if err != nil {
2026
 		tx.Rollback()
2026
 		tx.Rollback()
2027
 		return err
2027
 		return err

+ 1 - 1
service/stock_service.go Datei anzeigen

4269
 
4269
 
4270
 func GetOrderStockFlow(id []string, orgid int64) (list []*models.VmStockFlow, err error) {
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
 	if len(id) > 0 {
4273
 	if len(id) > 0 {
4274
 		db = db.Where("warehouse_out_id in (?)", id)
4274
 		db = db.Where("warehouse_out_id in (?)", id)
4275
 	}
4275
 	}