Browse Source

医保对接

csx 3 years ago
parent
commit
7766cc1059
4 changed files with 60 additions and 22 deletions
  1. 10 4
      conf/app.conf
  2. 16 0
      models/service/db.go
  3. 16 0
      service/db.go
  4. 18 18
      service/his_charge_service.go

+ 10 - 4
conf/app.conf View File

1
 appname = 血透
1
 appname = 血透
2
-httpport = 9529
3
-runmode = dev
2
+httpport = 9531
3
+runmode = prod
4
 
4
 
5
 #
5
 #
6
 copyrequestbody = true
6
 copyrequestbody = true
56
 readmysqlpass = xhPECP2nFObR8aUK
56
 readmysqlpass = xhPECP2nFObR8aUK
57
 readmysqlname = sgj_xt
57
 readmysqlname = sgj_xt
58
 
58
 
59
+
60
+
61
+readmysqlhost2 = rr-kuyicloud.mysql.rds.aliyuncs.com
62
+readmysqlport2 = 3306
63
+readmysqluser2 = syh
64
+readmysqlpass2 = xhPECP2nFObR8aUK
65
+readmysqlname2 = sgj_xt
66
+
59
 writemysqlhost = shengws1.mysql.rds.aliyuncs.com
67
 writemysqlhost = shengws1.mysql.rds.aliyuncs.com
60
 writemysqlport = 3306
68
 writemysqlport = 3306
61
 writemysqluser = syh
69
 writemysqluser = syh
173
 writeusername = sgj_users
181
 writeusername = sgj_users
174
 
182
 
175
 
183
 
176
-
177
 readmiddlehost = rm-wz9rg531npf61q03tro.mysql.rds.aliyuncs.com
184
 readmiddlehost = rm-wz9rg531npf61q03tro.mysql.rds.aliyuncs.com
178
 readmiddleport = 3306
185
 readmiddleport = 3306
179
 readmiddleuser = root
186
 readmiddleuser = root
187
 writemiddlename = ky_xt_middle
194
 writemiddlename = ky_xt_middle
188
 
195
 
189
 
196
 
190
-
191
 readpatienthost = rm-wz9rg531npf61q03tro.mysql.rds.aliyuncs.com
197
 readpatienthost = rm-wz9rg531npf61q03tro.mysql.rds.aliyuncs.com
192
 readpatientport = 3306
198
 readpatientport = 3306
193
 readpatientuser = root
199
 readpatientuser = root

+ 16 - 0
models/service/db.go View File

29
 var readUserDb *gorm.DB
29
 var readUserDb *gorm.DB
30
 var writeUserDb *gorm.DB
30
 var writeUserDb *gorm.DB
31
 
31
 
32
+var readDb2 *gorm.DB
33
+
32
 var readMiddleDb *gorm.DB
34
 var readMiddleDb *gorm.DB
33
 var writeMiddleDb *gorm.DB
35
 var writeMiddleDb *gorm.DB
34
 
36
 
50
 	readPass := beego.AppConfig.String("readmysqlpass")
52
 	readPass := beego.AppConfig.String("readmysqlpass")
51
 	readName := beego.AppConfig.String("readmysqlname")
53
 	readName := beego.AppConfig.String("readmysqlname")
52
 
54
 
55
+	readHost2 := beego.AppConfig.String("readmysqlhost2")
56
+	readPort2 := beego.AppConfig.String("readmysqlport2")
57
+	readUser2 := beego.AppConfig.String("readmysqluser2")
58
+	readPass2 := beego.AppConfig.String("readmysqlpass2")
59
+	readName2 := beego.AppConfig.String("readmysqlname2")
60
+
53
 	writeHost := beego.AppConfig.String("writemysqlhost")
61
 	writeHost := beego.AppConfig.String("writemysqlhost")
54
 	writePort := beego.AppConfig.String("writemysqlport")
62
 	writePort := beego.AppConfig.String("writemysqlport")
55
 	writeUser := beego.AppConfig.String("writemysqluser")
63
 	writeUser := beego.AppConfig.String("writemysqluser")
117
 	writeUserNameT := beego.AppConfig.String("writeusernameTest")
125
 	writeUserNameT := beego.AppConfig.String("writeusernameTest")
118
 
126
 
119
 	rdsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", readUser, readPass, readHost, readPort, readName)
127
 	rdsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", readUser, readPass, readHost, readPort, readName)
128
+	rdsn2 := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", readUser2, readPass2, readHost2, readPort2, readName2)
129
+
120
 	wdsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", writeUser, writePass, writeHost, writePort, writeName)
130
 	wdsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", writeUser, writePass, writeHost, writePort, writeName)
121
 
131
 
122
 	rudsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", readUserUser, readUserPass, readUserHost, readUserPort, readUserName)
132
 	rudsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", readUserUser, readUserPass, readUserHost, readUserPort, readUserName)
135
 	wudsnT := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", writeUserUserT, writeUserPassT, writeUserHostT, writeUserPortT, writeUserNameT)
145
 	wudsnT := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", writeUserUserT, writeUserPassT, writeUserHostT, writeUserPortT, writeUserNameT)
136
 
146
 
137
 	readDb, err = gorm.Open("mysql", rdsn)
147
 	readDb, err = gorm.Open("mysql", rdsn)
148
+	readDb2, err = gorm.Open("mysql", rdsn2)
149
+
138
 	if err != nil {
150
 	if err != nil {
139
 		//beego.Error(err)
151
 		//beego.Error(err)
140
 	}
152
 	}
142
 	readDb.DB().SetMaxOpenConns(100)
154
 	readDb.DB().SetMaxOpenConns(100)
143
 	readDb.LogMode(true)
155
 	readDb.LogMode(true)
144
 
156
 
157
+	readDb2.DB().SetMaxIdleConns(10)
158
+	readDb2.DB().SetMaxOpenConns(100)
159
+	readDb2.LogMode(true)
160
+
145
 	writeDb, err = gorm.Open("mysql", wdsn)
161
 	writeDb, err = gorm.Open("mysql", wdsn)
146
 	if err != nil {
162
 	if err != nil {
147
 		//beego.Error(err)
163
 		//beego.Error(err)

+ 16 - 0
service/db.go View File

25
 )
25
 )
26
 
26
 
27
 var readDb *gorm.DB
27
 var readDb *gorm.DB
28
+var readDb2 *gorm.DB
28
 var writeDb *gorm.DB
29
 var writeDb *gorm.DB
29
 var readUserDb *gorm.DB
30
 var readUserDb *gorm.DB
30
 var writeUserDb *gorm.DB
31
 var writeUserDb *gorm.DB
50
 	readPass := beego.AppConfig.String("readmysqlpass")
51
 	readPass := beego.AppConfig.String("readmysqlpass")
51
 	readName := beego.AppConfig.String("readmysqlname")
52
 	readName := beego.AppConfig.String("readmysqlname")
52
 
53
 
54
+	readHost2 := beego.AppConfig.String("readmysqlhost2")
55
+	readPort2 := beego.AppConfig.String("readmysqlport2")
56
+	readUser2 := beego.AppConfig.String("readmysqluser2")
57
+	readPass2 := beego.AppConfig.String("readmysqlpass2")
58
+	readName2 := beego.AppConfig.String("readmysqlname2")
59
+
53
 	writeHost := beego.AppConfig.String("writemysqlhost")
60
 	writeHost := beego.AppConfig.String("writemysqlhost")
54
 	writePort := beego.AppConfig.String("writemysqlport")
61
 	writePort := beego.AppConfig.String("writemysqlport")
55
 	writeUser := beego.AppConfig.String("writemysqluser")
62
 	writeUser := beego.AppConfig.String("writemysqluser")
117
 	writeUserNameT := beego.AppConfig.String("writeusernameTest")
124
 	writeUserNameT := beego.AppConfig.String("writeusernameTest")
118
 
125
 
119
 	rdsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", readUser, readPass, readHost, readPort, readName)
126
 	rdsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", readUser, readPass, readHost, readPort, readName)
127
+
128
+	rdsn2 := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", readUser2, readPass2, readHost2, readPort2, readName2)
129
+
120
 	wdsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", writeUser, writePass, writeHost, writePort, writeName)
130
 	wdsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", writeUser, writePass, writeHost, writePort, writeName)
121
 
131
 
122
 	rudsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", readUserUser, readUserPass, readUserHost, readUserPort, readUserName)
132
 	rudsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", readUserUser, readUserPass, readUserHost, readUserPort, readUserName)
134
 	rudsnT := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", readUserUserT, readUserPassT, readUserHostT, readUserPortT, readUserNameT)
144
 	rudsnT := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", readUserUserT, readUserPassT, readUserHostT, readUserPortT, readUserNameT)
135
 	wudsnT := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", writeUserUserT, writeUserPassT, writeUserHostT, writeUserPortT, writeUserNameT)
145
 	wudsnT := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true", writeUserUserT, writeUserPassT, writeUserHostT, writeUserPortT, writeUserNameT)
136
 
146
 
147
+	readDb2, err = gorm.Open("mysql", rdsn2)
148
+
137
 	readDb, err = gorm.Open("mysql", rdsn)
149
 	readDb, err = gorm.Open("mysql", rdsn)
138
 	if err != nil {
150
 	if err != nil {
139
 		//beego.Error(err)
151
 		//beego.Error(err)
142
 	readDb.DB().SetMaxOpenConns(100)
154
 	readDb.DB().SetMaxOpenConns(100)
143
 	readDb.LogMode(true)
155
 	readDb.LogMode(true)
144
 
156
 
157
+	readDb2.DB().SetMaxIdleConns(10)
158
+	readDb2.DB().SetMaxOpenConns(100)
159
+	readDb2.LogMode(true)
160
+
145
 	writeDb, err = gorm.Open("mysql", wdsn)
161
 	writeDb, err = gorm.Open("mysql", wdsn)
146
 	if err != nil {
162
 	if err != nil {
147
 		//beego.Error(err)
163
 		//beego.Error(err)

+ 18 - 18
service/his_charge_service.go View File

9
 	if len(keyword) == 0 {
9
 	if len(keyword) == 0 {
10
 		switch item_type {
10
 		switch item_type {
11
 		case 0:
11
 		case 0:
12
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
12
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
13
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
13
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
14
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
14
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
15
 						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
 						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").
27
 
27
 
28
 			break
28
 			break
29
 		case 1:
29
 		case 1:
30
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
30
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
31
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
31
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
32
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
32
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
33
 						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 {
33
 						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 {
44
 
44
 
45
 			break
45
 			break
46
 		case 2:
46
 		case 2:
47
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
47
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
48
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
48
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
49
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
49
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
50
 						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 {
50
 						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 {
59
 
59
 
60
 			break
60
 			break
61
 		case 3:
61
 		case 3:
62
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
62
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
63
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
63
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
64
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
64
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
65
 						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 {
65
 						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 {
80
 		keyword := "%" + keyword + "%"
80
 		keyword := "%" + keyword + "%"
81
 		switch item_type {
81
 		switch item_type {
82
 		case 0:
82
 		case 0:
83
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
83
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
84
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
84
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
85
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
85
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
86
 						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 {
86
 						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 {
97
 
97
 
98
 			break
98
 			break
99
 		case 1:
99
 		case 1:
100
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
100
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
101
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
101
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
102
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
102
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
103
 						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 {
103
 						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 {
114
 
114
 
115
 			break
115
 			break
116
 		case 2:
116
 		case 2:
117
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
117
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
118
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
118
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
119
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
119
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
120
 						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 {
120
 						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 {
129
 
129
 
130
 			break
130
 			break
131
 		case 3:
131
 		case 3:
132
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
132
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
133
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
133
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
134
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
134
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
135
 						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 {
135
 						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 {
155
 	if len(keyword) == 0 {
155
 	if len(keyword) == 0 {
156
 		switch item_type {
156
 		switch item_type {
157
 		case 0:
157
 		case 0:
158
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
158
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
159
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
159
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
160
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
160
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
161
 
161
 
162
 			break
162
 			break
163
 		case 1:
163
 		case 1:
164
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
164
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
165
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 1 ", start_time, end_time, org_id)
165
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 1 ", start_time, end_time, org_id)
166
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
166
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
167
 
167
 
168
 			break
168
 			break
169
 		case 2:
169
 		case 2:
170
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
170
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
171
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 0", start_time, end_time, org_id)
171
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 0", start_time, end_time, org_id)
172
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
172
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
173
 
173
 
174
 			break
174
 			break
175
 		case 3:
175
 		case 3:
176
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
176
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
177
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 14", start_time, end_time, org_id)
177
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 14", start_time, end_time, org_id)
178
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
178
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
179
 
179
 
180
 			break
180
 			break
181
 		case 4:
181
 		case 4:
182
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
182
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
183
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 11", start_time, end_time, org_id)
183
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 11", start_time, end_time, org_id)
184
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
184
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
185
 
185
 
191
 		keyword = "%" + keyword + "%"
191
 		keyword = "%" + keyword + "%"
192
 		switch item_type {
192
 		switch item_type {
193
 		case 0:
193
 		case 0:
194
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
194
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
195
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
195
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
196
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
196
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
197
 
197
 
198
 			break
198
 			break
199
 		case 1:
199
 		case 1:
200
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
200
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
201
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 1 ", start_time, end_time, org_id)
201
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 1 ", start_time, end_time, org_id)
202
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
202
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
203
 
203
 
204
 			break
204
 			break
205
 		case 2:
205
 		case 2:
206
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
206
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
207
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 0", start_time, end_time, org_id)
207
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 0", start_time, end_time, org_id)
208
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
208
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
209
 
209
 
210
 			break
210
 			break
211
 		case 3:
211
 		case 3:
212
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
212
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
213
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 14", start_time, end_time, org_id)
213
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 14", start_time, end_time, org_id)
214
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
214
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
215
 
215
 
216
 			break
216
 			break
217
 		case 4:
217
 		case 4:
218
-			err = readDb.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
218
+			err = readDb2.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.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
219
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 11", start_time, end_time, org_id)
219
 				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 11", start_time, end_time, org_id)
220
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
220
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
221
 
221