Quellcode durchsuchen

11月8日库存管理

XMLWAN vor 2 Jahren
Ursprung
Commit
adf589ee3b

+ 40 - 0
controllers/gobal_config_api_controller.go Datei anzeigen

@@ -116,6 +116,8 @@ func GobalConfigRegistRouters() {
116 116
 	beego.Router("/api/changestocksetting/isopen", &GobalConfigApiController{}, "Get:ChangeStockSetting")
117 117
 
118 118
 	beego.Router("/api/changeadviceconfig", &GobalConfigApiController{}, "Get:ChangeAdviceConfig")
119
+
120
+	beego.Router("/api/changeprescriptionconfig", &GobalConfigApiController{}, "Get:ChangePrescriptionConfig")
119 121
 }
120 122
 
121 123
 //provinces, _ := service.GetDistrictsByUpid(0)21
@@ -1563,11 +1565,14 @@ func (c *GobalConfigApiController) GetAllIsOpenConfig() {
1563 1565
 
1564 1566
 	stockSetting, _ := service.FindStockSettingById(adminUserInfo.CurrentOrgId)
1565 1567
 	adviceSetting, _ := service.FindAdviceSettingById(adminUserInfo.CurrentOrgId)
1568
+
1569
+	prescriptionConfig, _ := service.FindPrescriptionConfigById(adminUserInfo.CurrentOrgId)
1566 1570
 	c.ServeSuccessJSON(map[string]interface{}{
1567 1571
 		"is_open_xt_his":         config.IsOpen,
1568 1572
 		"is_open_xt_his_project": project_config.IsOpen,
1569 1573
 		"is_open_stock":          stockSetting.IsType,
1570 1574
 		"is_open_advice":         adviceSetting.IsAdviceOpen,
1575
+		"is_prescription_advice": prescriptionConfig.IsOpen,
1571 1576
 	})
1572 1577
 
1573 1578
 }
@@ -2395,3 +2400,38 @@ func (c *GobalConfigApiController) ChangeAdviceConfig() {
2395 2400
 	}
2396 2401
 
2397 2402
 }
2403
+
2404
+func (c *GobalConfigApiController) ChangePrescriptionConfig() {
2405
+
2406
+	is_open_prescription_xt_his, _ := c.GetInt64("is_open_prescription_xt_his")
2407
+
2408
+	orgId := c.GetAdminUserInfo().CurrentOrgId
2409
+
2410
+	_, errcode := service.GetPrescriptionConfig(orgId)
2411
+
2412
+	if errcode == gorm.ErrRecordNotFound {
2413
+
2414
+		config := models.XtPrescriptionConfig{
2415
+			UserOrgId: orgId,
2416
+			IsOpen:    is_open_prescription_xt_his,
2417
+			Status:    1,
2418
+			Ctime:     time.Now().Unix(),
2419
+		}
2420
+		service.CreatePrescriptionConfig(config)
2421
+		c.ServeSuccessJSON(map[string]interface{}{
2422
+			"msg": 1,
2423
+		})
2424
+	} else if errcode == nil {
2425
+		config := models.XtPrescriptionConfig{
2426
+			UserOrgId: orgId,
2427
+			IsOpen:    is_open_prescription_xt_his,
2428
+			Status:    1,
2429
+			Ctime:     time.Now().Unix(),
2430
+		}
2431
+		service.UpdatePrescriptionConfig(orgId, config)
2432
+		c.ServeSuccessJSON(map[string]interface{}{
2433
+			"msg": 1,
2434
+		})
2435
+	}
2436
+
2437
+}

+ 12 - 0
controllers/his_summary_controller.go Datei anzeigen

@@ -3,6 +3,7 @@ package controllers
3 3
 import (
4 4
 	"XT_New/enums"
5 5
 	"XT_New/service"
6
+	"fmt"
6 7
 	"github.com/astaxie/beego"
7 8
 	"github.com/shopspring/decimal"
8 9
 	"time"
@@ -47,6 +48,7 @@ func (this *HisSummaryApiController) GetHisSummaryDetailList() {
47 48
 
48 49
 	his_patient, _ := service.GetHisSummaryPatientInfo(adminUser.CurrentOrgId, patient_id, startRecordDateTime, endRecordDateTime)
49 50
 
51
+	order, _ := service.GetHisLastOrder(adminUser.CurrentOrgId, patient_id, startRecordDateTime, endRecordDateTime)
50 52
 	//获取所有的科室
51 53
 	hisDepatment, _ := service.GetHisDepatment(adminUser.CurrentOrgId)
52 54
 	if err == nil {
@@ -55,6 +57,7 @@ func (this *HisSummaryApiController) GetHisSummaryDetailList() {
55 57
 			"patient":      patient,
56 58
 			"his_patient":  his_patient,
57 59
 			"hisDepatment": hisDepatment,
60
+			"order":        order,
58 61
 		})
59 62
 		return
60 63
 	} else {
@@ -113,6 +116,10 @@ func (this *HisSummaryApiController) GetGatherDetaiList() {
113 116
 	//获取所有客户
114 117
 	adminInfo, _ := service.GetAllDoctorSix(org_id, appid)
115 118
 
119
+	//获取最后一次排班
120
+	schedule, _ := service.GetHisSchedule(patient_id, org_id, startRecordDateTime, endRecordDateTime)
121
+	fmt.Println("scheudlwe3223333232233232232323232323232323", schedule)
122
+	bedNumber, _ := service.GetAllBedNumberSix(org_id)
116 123
 	var bedCostTotal float64 = 0 //床位总费
117 124
 
118 125
 	var operationCostTotal float64 = 0 //手术费
@@ -297,6 +304,9 @@ func (this *HisSummaryApiController) GetGatherDetaiList() {
297 304
 			"treatCostTotal":                      treatCostTotal,
298 305
 			"his_patient":                         his_patient,
299 306
 			"hisDepatment":                        hisDepatment,
307
+			"prescription":                        prescription,
308
+			"schedule":                            schedule,
309
+			"bedNumber":                           bedNumber,
300 310
 		})
301 311
 	} else {
302 312
 		for _, item := range order_info {
@@ -514,6 +524,8 @@ func (this *HisSummaryApiController) GetGatherDetaiList() {
514 524
 			"prescription":                        prescription,
515 525
 			"balanceAccountsType":                 BalanceAccountsType,
516 526
 			"medicalInsuranceLevelList":           medicalInsuranceLevelList,
527
+			"schedule":                            schedule,
528
+			"bedNumber":                           bedNumber,
517 529
 		})
518 530
 
519 531
 	}

+ 15 - 0
models/device_models.go Datei anzeigen

@@ -1120,3 +1120,18 @@ func (PatientDialysisOrder) TableName() string {
1120 1120
 
1121 1121
 	return "xt_dialysis_order"
1122 1122
 }
1123
+
1124
+type ScheduleDeviceNumber struct {
1125
+	ID      int64  `gorm:"column:id" json:"id" form:"id"`
1126
+	OrgId   int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
1127
+	Number  string `gorm:"column:number" json:"number" form:"number"`
1128
+	GroupId int64  `gorm:"column:group_id" json:"group_id" form:"group_id"`
1129
+	ZoneId  int64  `gorm:"column:zone_id" json:"zone_id" form:"zone_id"`
1130
+	Status  int64  `gorm:"column:status" json:"status" form:"status"`
1131
+	Ctime   int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
1132
+	Mtime   int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
1133
+}
1134
+
1135
+func (ScheduleDeviceNumber) TableName() string {
1136
+	return "xt_device_number"
1137
+}

+ 2 - 0
models/his_charge_models.go Datei anzeigen

@@ -10,6 +10,7 @@ type HisChargePrescriptionProject struct {
10 10
 	Count             string            `gorm:"column:count" json:"count" form:"count"`
11 11
 	Type              int64             `gorm:"column:type" json:"type" form:"type"`
12 12
 	Unit              string            `gorm:"column:unit" json:"unit" form:"unit"`
13
+	Remark            string            `gorm:"column:remark" json:"remark" form:"remark"`
13 14
 	HisChargeProject  HisChargeProject  `gorm:"ForeignKey:ProjectId;AssociationForeignKey:ID" json:"project"`
14 15
 	HisChargeGoodInfo HisChargeGoodInfo `gorm:"ForeignKey:ProjectId;AssociationForeignKey:ID" json:"good_info"`
15 16
 }
@@ -26,6 +27,7 @@ type HisChargeDoctorAdviceInfo struct {
26 27
 	PrescribingNumberUnit string `gorm:"column:prescribing_number_unit" json:"prescribing_number_unit" form:"prescribing_number_unit"`
27 28
 	Status                int64  `gorm:"column:status" json:"status" form:"status"`
28 29
 	DrugId                int64  `gorm:"column:drug_id" json:"drug_id" form:"drug_id"`
30
+	Remark                string `gorm:"column:remark" json:"remark" form:"remark"`
29 31
 	Drug                  Drug   `gorm:"ForeignKey:ID;AssociationForeignKey:DrugId" json:"drug"`
30 32
 }
31 33
 

+ 13 - 0
models/stock_models.go Datei anzeigen

@@ -1358,3 +1358,16 @@ type XtAdviceSetting struct {
1358 1358
 func (XtAdviceSetting) TableName() string {
1359 1359
 	return "xt_advice_setting"
1360 1360
 }
1361
+
1362
+type XtPrescriptionConfig struct {
1363
+	ID        int64 `gorm:"column:id" json:"id" form:"id"`
1364
+	UserOrgId int64 `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
1365
+	IsOpen    int64 `gorm:"column:is_open" json:"is_open" form:"is_open"`
1366
+	Status    int64 `gorm:"column:status" json:"status" form:"status"`
1367
+	Ctime     int64 `gorm:"column:ctime" json:"ctime" form:"ctime"`
1368
+	Mtime     int64 `gorm:"column:mtime" json:"mtime" form:"mtime"`
1369
+}
1370
+
1371
+func (XtPrescriptionConfig) TableName() string {
1372
+	return "xt_prescription_config"
1373
+}

+ 6 - 0
service/device_service.go Datei anzeigen

@@ -761,3 +761,9 @@ func GetPatientIdOne(patient_id int64, orgId int64) (models.XtPatientsNew, error
761 761
 
762 762
 	}
763 763
 }
764
+
765
+func GetAllBedNumberSix(orgId int64) (devicenumber []*models.ScheduleDeviceNumber, err error) {
766
+
767
+	err = XTReadDB().Where("org_id = ? and status = 1", orgId).Find(&devicenumber).Error
768
+	return devicenumber, err
769
+}

+ 29 - 141
service/his_summary_service.go Datei anzeigen

@@ -8,147 +8,21 @@ import (
8 8
 
9 9
 func GetHisSummaryDetailList(keyword string, item_type int64, patient_id int64, org_id int64, start_time int64, end_time int64) (patients []*models.ChargePatient, err error) {
10 10
 
11
-	if len(keyword) == 0 {
12
-		switch item_type {
13
-		case 0:
14
-			err = XTReadDB().Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2 and orders.patient_id = ?", start_time, end_time, org_id, patient_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
15
-				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
16
-					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
17
-						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").
18
-							Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
19
-								return db.Preload("Drug", "status = 1").Where("status = 1")
20
-							}).Preload("HisChargePrescriptionProject", func(db *gorm.DB) *gorm.DB {
21
-							return db.Select("id,project_id,user_org_id,status,patient_id,record_date,count,type,unit").Preload("HisChargeProject", func(db *gorm.DB) *gorm.DB {
22
-								return db.Select("id,project_name,unit").Where("status = 1 ")
23
-							}).Preload("HisChargeGoodInfo", func(db *gorm.DB) *gorm.DB {
24
-								return db.Select("id,good_name,good_unit,specification_name,packing_unit").Where("status = 1 ")
25
-							}).Where("status = 1 ")
26
-						})
27
-					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
28
-			}).Where("p.status = 1  AND p.user_org_id = ? and p.id = ?", org_id, patient_id).Group("id").Find(&patients).Error
29
-
30
-			break
31
-		case 1:
32
-			err = XTReadDB().Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2 and orders.patient_id = ?", start_time, end_time, org_id, patient_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
33
-				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
34
-					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
35
-						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id > 0 AND project_id = 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
36
-							return db.Preload("Drug", "status = 1").Where("status = 1")
37
-						}).Preload("HisChargePrescriptionProject", func(db *gorm.DB) *gorm.DB {
38
-							return db.Select("id,project_id,user_org_id,status,patient_id,record_date,count,type").Preload("HisChargeProject", func(db *gorm.DB) *gorm.DB {
39
-								return db.Select("id,project_name,unit").Where("status = 1 ")
40
-							}).Preload("HisChargeGoodInfo", func(db *gorm.DB) *gorm.DB {
41
-								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
42
-							}).Where("status = 1 ")
43
-						})
44
-					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
45
-			}).Where("p.status = 1  AND p.user_org_id = ? and p.id = ?", org_id, patient_id).Group("id").Find(&patients).Error
46
-
47
-			break
48
-		case 2:
49
-			err = XTReadDB().Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2 and order.patient_id = ?", start_time, end_time, org_id, patient_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
50
-				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
51
-					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
52
-						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id = 0 AND project_id > 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
53
-							return db.Preload("Drug", "status = 1").Where("status = 1")
54
-						}).Preload("HisChargePrescriptionProject", func(db *gorm.DB) *gorm.DB {
55
-							return db.Select("id,project_id,user_org_id,status,patient_id,record_date,count,type").Preload("HisChargeProject", func(db *gorm.DB) *gorm.DB {
56
-								return db.Select("id,project_name,unit").Where("status = 1 ")
57
-							}).Where("status = 1 ")
58
-						})
59
-					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
60
-			}).Where("p.status = 1  AND p.user_org_id = ? and p.id = ?", org_id, patient_id).Group("id").Find(&patients).Error
61
-
62
-			break
63
-		case 3:
64
-			err = XTReadDB().Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2 and orders.patient_id = ?", start_time, end_time, org_id, patient_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
65
-				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
66
-					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
67
-						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id = 0 AND project_id > 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
68
-							return db.Preload("Drug", "status = 1").Where("status = 1")
69
-						}).Preload("HisChargePrescriptionProject", func(db *gorm.DB) *gorm.DB {
70
-							return db.Select("id,project_id,user_org_id,status,patient_id,record_date,count,type").Preload("HisChargeGoodInfo", func(db *gorm.DB) *gorm.DB {
71
-								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
72
-							}).Where("status = 1 ")
73
-						})
74
-					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
75
-			}).Where("p.status = 1  AND p.user_org_id = ? and p.id =?", org_id, patient_id).Group("id").Find(&patients).Error
76
-
77
-			break
78
-
79
-		}
80
-
81
-	} else {
82
-		//	keyword := "%" + keyword + "%"
83
-		switch item_type {
84
-		case 0:
85
-			err = XTReadDB().Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
86
-				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
87
-					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
88
-						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
89
-							return db.Preload("Drug", "status = 1").Where("status = 1")
90
-						}).Preload("HisChargePrescriptionProject", func(db *gorm.DB) *gorm.DB {
91
-							return db.Select("id,project_id,user_org_id,status,patient_id,record_date,count,type").Preload("HisChargeProject", func(db *gorm.DB) *gorm.DB {
92
-								return db.Select("id,project_name,unit").Where("status = 1 ")
93
-							}).Preload("HisChargeGoodInfo", func(db *gorm.DB) *gorm.DB {
94
-								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
95
-							}).Where("status = 1 ")
96
-						})
97
-					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
98
-			}).Where("p.status = 1  AND p.user_org_id = ? and p.id = ?", org_id, patient_id).Group("id").Find(&patients).Error
99
-			break
100
-
101
-		case 1:
102
-			err = XTReadDB().Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2 and ", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
103
-				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
104
-					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
105
-						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id > 0 AND project_id = 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
106
-							return db.Preload("Drug", "status = 1").Where("status = 1")
107
-						}).Preload("HisChargePrescriptionProject", func(db *gorm.DB) *gorm.DB {
108
-							return db.Select("id,project_id,user_org_id,status,patient_id,record_date,count,type").Preload("HisChargeProject", func(db *gorm.DB) *gorm.DB {
109
-								return db.Select("id,project_name,unit").Where("status = 1 ")
110
-							}).Preload("HisChargeGoodInfo", func(db *gorm.DB) *gorm.DB {
111
-								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
112
-							}).Where("status = 1 ")
113
-						})
114
-					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
115
-			}).Where("p.status = 1  AND p.user_org_id = ? and p.id = ?", org_id, patient_id).Group("id").Find(&patients).Error
116
-
117
-			break
118
-		case 2:
119
-			err = XTReadDB().Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
120
-				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
121
-					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
122
-						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id = 0 AND project_id > 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
123
-							return db.Preload("Drug", "status = 1").Where("status = 1")
124
-						}).Preload("HisChargePrescriptionProject", func(db *gorm.DB) *gorm.DB {
125
-							return db.Select("id,project_id,user_org_id,status,patient_id,record_date,count,type").Preload("HisChargeProject", func(db *gorm.DB) *gorm.DB {
126
-								return db.Select("id,project_name,unit").Where("status = 1 ")
127
-							}).Where("status = 1 ")
128
-						})
129
-					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
130
-			}).Where("p.status = 1  AND p.user_org_id = ? and p.id = ?", org_id, patient_id).Group("id").Find(&patients).Error
131
-
132
-			break
133
-		case 3:
134
-			err = XTReadDB().Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
135
-				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
136
-					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
137
-						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id = 0 AND project_id > 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
138
-							return db.Preload("Drug", "status = 1").Where("status = 1")
139
-						}).Preload("HisChargePrescriptionProject", func(db *gorm.DB) *gorm.DB {
140
-							return db.Select("id,project_id,user_org_id,status,patient_id,record_date,count,type").Preload("HisChargeGoodInfo", func(db *gorm.DB) *gorm.DB {
141
-								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
142
-							}).Where("status = 1 ")
143
-						})
144
-					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
145
-			}).Where("p.status = 1  AND p.user_org_id = ? and p.id = ?", org_id, patient_id).Group("id").Find(&patients).Error
146
-
147
-			break
148
-
149
-		}
150
-
151
-	}
11
+	err = XTReadDB().Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2 and orders.patient_id = ?", start_time, end_time, org_id, patient_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
12
+		return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
13
+			Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
14
+				return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").
15
+					Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
16
+						return db.Preload("Drug", "status = 1").Where("status = 1")
17
+					}).Preload("HisChargePrescriptionProject", func(db *gorm.DB) *gorm.DB {
18
+					return db.Select("id,project_id,user_org_id,status,patient_id,record_date,count,type,unit,remark").Preload("HisChargeProject", func(db *gorm.DB) *gorm.DB {
19
+						return db.Select("id,project_name,unit").Where("status = 1 ")
20
+					}).Preload("HisChargeGoodInfo", func(db *gorm.DB) *gorm.DB {
21
+						return db.Select("id,good_name,good_unit,specification_name,packing_unit").Where("status = 1 ")
22
+					}).Where("status = 1 ")
23
+				})
24
+			}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
25
+	}).Where("p.status = 1  AND p.user_org_id = ? and p.id = ?", org_id, patient_id).Group("id").Find(&patients).Error
152 26
 
153 27
 	return
154 28
 
@@ -413,3 +287,17 @@ func GetHisPrescriptionTenty(org_id int64, patient_id int64, start_time int64, e
413 287
 
414 288
 	return
415 289
 }
290
+
291
+func GetHisLastOrder(org_id int64, patient_id int64, start_time int64, end_time int64) (models.HisOrder, error) {
292
+
293
+	order := models.HisOrder{}
294
+
295
+	err := XTReadDB().Where("user_org_id = ? and patient_id = ? and ctime>=? and ctime<=? and fa_piao_number<> ''", org_id, patient_id, start_time, end_time).Last(&order).Error
296
+	return order, err
297
+}
298
+
299
+func GetHisSchedule(patient_id int64, org_id int64, start_time int64, end_time int64) (schedule []*models.XtSchedule, err error) {
300
+
301
+	err = XTReadDB().Where("patient_id = ? and user_org_id = ? and schedule_date >=? and schedule_date<=? and status = 1", patient_id, org_id, start_time, end_time).Find(&schedule).Error
302
+	return schedule, err
303
+}

+ 32 - 0
service/stock_service.go Datei anzeigen

@@ -6538,3 +6538,35 @@ func FindAdviceSettingById(orgid int64) (models.XtAdviceSetting, error) {
6538 6538
 	err := XTReadDB().Where("user_org_id = ? and status = 1", orgid).Find(&setting).Error
6539 6539
 	return setting, err
6540 6540
 }
6541
+
6542
+func GetPrescriptionConfig(orgid int64) (*models.XtPrescriptionConfig, error) {
6543
+
6544
+	config := models.XtPrescriptionConfig{}
6545
+	err := XTReadDB().Where("user_org_id = ? and status = 1", orgid).Find(&config).Error
6546
+	if err == gorm.ErrRecordNotFound {
6547
+		return nil, err
6548
+	}
6549
+	if err != nil {
6550
+		return nil, err
6551
+	}
6552
+	return &config, nil
6553
+}
6554
+
6555
+func CreatePrescriptionConfig(prescriptionConfig models.XtPrescriptionConfig) error {
6556
+
6557
+	err := XTWriteDB().Create(&prescriptionConfig).Error
6558
+	return err
6559
+}
6560
+
6561
+func UpdatePrescriptionConfig(orgid int64, config models.XtPrescriptionConfig) error {
6562
+
6563
+	err := XTWriteDB().Model(&config).Where("user_org_id = ? and status = 1", orgid).Update(map[string]interface{}{"is_open": config.IsOpen, "mtime": time.Now().Unix()}).Error
6564
+	return err
6565
+}
6566
+
6567
+func FindPrescriptionConfigById(orgid int64) (models.XtPrescriptionConfig, error) {
6568
+	config := models.XtPrescriptionConfig{}
6569
+	err := XTReadDB().Where("user_org_id = ? and status = 1", orgid).Find(&config).Error
6570
+
6571
+	return config, err
6572
+}