|
@@ -180,7 +180,7 @@ func GetNewAllPatientDrugChargeDetails(org_id int64, start_time_str string, end_
|
180
|
180
|
case 1:
|
181
|
181
|
if time_type == "0" {
|
182
|
182
|
|
183
|
|
- err = readDb.Table("his_order_info as oi").Select("oi.advice_id as advice_id, 0 as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,drug.drug_name as item_name,drug.dose as dose,drug.dose_unit as dose_unit, drug.min_number as min_number,drug.min_unit as min_unit, drug.max_unit as max_unit,drug.id as item_id").
|
|
183
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,oi.advice_id as advice_id, 0 as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,drug.drug_name as item_name,drug.dose as dose,drug.dose_unit as dose_unit, drug.min_number as min_number,drug.min_unit as min_unit, drug.max_unit as max_unit,drug.id as item_id").
|
184
|
184
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
185
|
185
|
Joins(" JOIN his_doctor_advice_info a ON oi.advice_id = a.id").
|
186
|
186
|
Joins(" JOIN xt_patients pp on oi.patient_id = pp.id").
|
|
@@ -188,7 +188,7 @@ func GetNewAllPatientDrugChargeDetails(org_id int64, start_time_str string, end_
|
188
|
188
|
Where("oi.advice_id > 0 and oi.user_org_id = ? and o.settle_accounts_date >= ? and o.settle_accounts_date <= ? and oi.status = 1 ", org_id, start_time, end_time).Scan(&patients).Error
|
189
|
189
|
|
190
|
190
|
} else {
|
191
|
|
- err = readDb.Table("his_order_info as oi").Select("oi.advice_id as advice_id, 0 as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,drug.drug_name as item_name,drug.dose as dose,drug.dose_unit as dose_unit, drug.min_number as min_number,drug.min_unit as min_unit, drug.max_unit as max_unit,drug.id as item_id").
|
|
191
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,oi.advice_id as advice_id, 0 as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,drug.drug_name as item_name,drug.dose as dose,drug.dose_unit as dose_unit, drug.min_number as min_number,drug.min_unit as min_unit, drug.max_unit as max_unit,drug.id as item_id").
|
192
|
192
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
193
|
193
|
Joins(" JOIN his_doctor_advice_info a ON oi.advice_id = a.id").
|
194
|
194
|
Joins(" JOIN xt_patients pp on oi.patient_id = pp.id").
|
|
@@ -207,7 +207,7 @@ func GetNewAllPatientDrugChargeDetails(org_id int64, start_time_str string, end_
|
207
|
207
|
case 0:
|
208
|
208
|
if time_type == "0" {
|
209
|
209
|
|
210
|
|
- err = readDb.Table("his_order_info as oi").Select("oi.advice_id as advice_id, 0 as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,drug.drug_name as item_name,drug.dose as dose,drug.dose_unit as dose_unit, drug.min_number as min_number,drug.min_unit as min_unit, drug.max_unit as max_unit,drug.id as item_id").
|
|
210
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,oi.advice_id as advice_id, 0 as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,drug.drug_name as item_name,drug.dose as dose,drug.dose_unit as dose_unit, drug.min_number as min_number,drug.min_unit as min_unit, drug.max_unit as max_unit,drug.id as item_id").
|
211
|
211
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
212
|
212
|
Joins(" JOIN his_doctor_advice_info a ON oi.advice_id = a.id").
|
213
|
213
|
Joins(" JOIN xt_patients pp on oi.patient_id = pp.id and pp.name like ?", keyword).
|
|
@@ -216,7 +216,7 @@ func GetNewAllPatientDrugChargeDetails(org_id int64, start_time_str string, end_
|
216
|
216
|
|
217
|
217
|
} else {
|
218
|
218
|
|
219
|
|
- err = readDb.Table("his_order_info as oi").Select("oi.advice_id as advice_id, 0 as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,drug.drug_name as item_name,drug.dose as dose,drug.dose_unit as dose_unit, drug.min_number as min_number,drug.min_unit as min_unit, drug.max_unit as max_unit,drug.id as item_id").
|
|
219
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,oi.advice_id as advice_id, 0 as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,drug.drug_name as item_name,drug.dose as dose,drug.dose_unit as dose_unit, drug.min_number as min_number,drug.min_unit as min_unit, drug.max_unit as max_unit,drug.id as item_id").
|
220
|
220
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
221
|
221
|
Joins(" JOIN his_doctor_advice_info a ON oi.advice_id = a.id").
|
222
|
222
|
Joins(" JOIN xt_patients pp on oi.patient_id = pp.id and pp.name like ?", keyword).
|
|
@@ -228,7 +228,7 @@ func GetNewAllPatientDrugChargeDetails(org_id int64, start_time_str string, end_
|
228
|
228
|
break
|
229
|
229
|
case 1:
|
230
|
230
|
if time_type == "0" {
|
231
|
|
- err = readDb.Table("his_order_info as oi").Select("oi.advice_id as advice_id, 0 as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,drug.drug_name as item_name,drug.dose as dose,drug.dose_unit as dose_unit, drug.min_number as min_number,drug.min_unit as min_unit, drug.max_unit as max_unit,drug.id as item_id").
|
|
231
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,oi.advice_id as advice_id, 0 as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,drug.drug_name as item_name,drug.dose as dose,drug.dose_unit as dose_unit, drug.min_number as min_number,drug.min_unit as min_unit, drug.max_unit as max_unit,drug.id as item_id").
|
232
|
232
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
233
|
233
|
Joins(" JOIN his_doctor_advice_info a ON oi.advice_id = a.id").
|
234
|
234
|
Joins(" JOIN xt_patients pp on oi.patient_id = pp.id and pp.name like ?", keyword).
|
|
@@ -237,7 +237,7 @@ func GetNewAllPatientDrugChargeDetails(org_id int64, start_time_str string, end_
|
237
|
237
|
|
238
|
238
|
} else {
|
239
|
239
|
|
240
|
|
- err = readDb.Table("his_order_info as oi").Select("oi.advice_id as advice_id, 0 as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,drug.drug_name as item_name,drug.dose as dose,drug.dose_unit as dose_unit, drug.min_number as min_number,drug.min_unit as min_unit, drug.max_unit as max_unit,drug.id as item_id").
|
|
240
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,oi.advice_id as advice_id, 0 as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,drug.drug_name as item_name,drug.dose as dose,drug.dose_unit as dose_unit, drug.min_number as min_number,drug.min_unit as min_unit, drug.max_unit as max_unit,drug.id as item_id").
|
241
|
241
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
242
|
242
|
Joins(" JOIN his_doctor_advice_info a ON oi.advice_id = a.id").
|
243
|
243
|
Joins(" JOIN xt_patients pp on oi.patient_id = pp.id and pp.name like ?", keyword).
|
|
@@ -342,7 +342,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
342
|
342
|
break
|
343
|
343
|
case 4:
|
344
|
344
|
if time_type == "0" {
|
345
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
345
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
346
|
346
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1 ", start_time_str, end_time_str).
|
347
|
347
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
348
|
348
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -351,7 +351,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
351
|
351
|
Where("oi.project_id > 0 and oi.user_org_id = ? and o.settle_accounts_date >= ? and o.settle_accounts_date <= ? and oi.status = 1 and project.cost_classify = 3", org_id, start_time, end_time).Scan(&patients).Error
|
352
|
352
|
|
353
|
353
|
} else {
|
354
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
354
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
355
|
355
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1 ", start_time_str, end_time_str).
|
356
|
356
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
357
|
357
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -364,7 +364,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
364
|
364
|
break
|
365
|
365
|
case 5:
|
366
|
366
|
if time_type == "0" {
|
367
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
367
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
368
|
368
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1 ", start_time_str, end_time_str).
|
369
|
369
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
370
|
370
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -373,7 +373,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
373
|
373
|
Where("oi.project_id > 0 and oi.user_org_id = ? and o.settle_accounts_date >= ? and o.settle_accounts_date <= ? and oi.status = 1 and project.cost_classify = 2", org_id, start_time, end_time).Scan(&patients).Error
|
374
|
374
|
|
375
|
375
|
} else {
|
376
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
376
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
377
|
377
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1 ", start_time_str, end_time_str).
|
378
|
378
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
379
|
379
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -386,7 +386,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
386
|
386
|
break
|
387
|
387
|
case 6:
|
388
|
388
|
if time_type == "0" {
|
389
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
389
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
390
|
390
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1 ", start_time_str, end_time_str).
|
391
|
391
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
392
|
392
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -395,7 +395,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
395
|
395
|
Where("oi.project_id > 0 and oi.user_org_id = ? and o.settle_accounts_date >= ? and o.settle_accounts_date <= ? and oi.status = 1 and project.cost_classify = 6", org_id, start_time, end_time).Scan(&patients).Error
|
396
|
396
|
|
397
|
397
|
} else {
|
398
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
398
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
399
|
399
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1 ", start_time_str, end_time_str).
|
400
|
400
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
401
|
401
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -406,7 +406,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
406
|
406
|
break
|
407
|
407
|
case 7:
|
408
|
408
|
if time_type == "0" {
|
409
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
409
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
410
|
410
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1 ", start_time_str, end_time_str).
|
411
|
411
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
412
|
412
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -415,7 +415,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
415
|
415
|
Where("oi.project_id > 0 and oi.user_org_id = ? and o.settle_accounts_date >= ? and o.settle_accounts_date <= ? and oi.status = 1 and project.cost_classify = 11", org_id, start_time, end_time).Scan(&patients).Error
|
416
|
416
|
|
417
|
417
|
} else {
|
418
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
418
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
419
|
419
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1 ", start_time_str, end_time_str).
|
420
|
420
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
421
|
421
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -431,7 +431,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
431
|
431
|
switch item_type {
|
432
|
432
|
case 0:
|
433
|
433
|
if time_type == "0" {
|
434
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
434
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
435
|
435
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
436
|
436
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id ").
|
437
|
437
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -441,7 +441,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
441
|
441
|
|
442
|
442
|
} else {
|
443
|
443
|
|
444
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
444
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
445
|
445
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
446
|
446
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id ").
|
447
|
447
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -456,7 +456,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
456
|
456
|
case 2:
|
457
|
457
|
if time_type == "0" {
|
458
|
458
|
|
459
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
459
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
460
|
460
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
461
|
461
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
462
|
462
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -465,7 +465,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
465
|
465
|
Where("oi.project_id > 0 and oi.user_org_id = ? and o.settle_accounts_date >= ? and o.settle_accounts_date <= ? and oi.status = 1 ", org_id, start_time, end_time).Scan(&patients).Error
|
466
|
466
|
|
467
|
467
|
} else {
|
468
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
468
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
469
|
469
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
470
|
470
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
471
|
471
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -479,7 +479,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
479
|
479
|
case 3:
|
480
|
480
|
if time_type == "0" {
|
481
|
481
|
|
482
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
482
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
483
|
483
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
484
|
484
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 3").
|
485
|
485
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -489,7 +489,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
489
|
489
|
|
490
|
490
|
} else {
|
491
|
491
|
|
492
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
492
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
493
|
493
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
494
|
494
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 3").
|
495
|
495
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -501,7 +501,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
501
|
501
|
case 4:
|
502
|
502
|
if time_type == "0" {
|
503
|
503
|
|
504
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
504
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
505
|
505
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
506
|
506
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
507
|
507
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -510,7 +510,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
510
|
510
|
Where("oi.project_id > 0 and oi.user_org_id = ? and o.settle_accounts_date >= ? and o.settle_accounts_date <= ? and oi.status = 1 and project.cost_classify = 3 ", org_id, start_time, end_time).Scan(&patients).Error
|
511
|
511
|
|
512
|
512
|
} else {
|
513
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
513
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
514
|
514
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
515
|
515
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
516
|
516
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -522,7 +522,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
522
|
522
|
case 5:
|
523
|
523
|
if time_type == "0" {
|
524
|
524
|
|
525
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
525
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
526
|
526
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
527
|
527
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
528
|
528
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -531,7 +531,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
531
|
531
|
Where("oi.project_id > 0 and oi.user_org_id = ? and o.settle_accounts_date >= ? and o.settle_accounts_date <= ? and oi.status = 1 and project.cost_classify = 2", org_id, start_time, end_time).Scan(&patients).Error
|
532
|
532
|
|
533
|
533
|
} else {
|
534
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
534
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
535
|
535
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
536
|
536
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
537
|
537
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -543,7 +543,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
543
|
543
|
case 6:
|
544
|
544
|
if time_type == "0" {
|
545
|
545
|
|
546
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
546
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
547
|
547
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
548
|
548
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
549
|
549
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -552,7 +552,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
552
|
552
|
Where("oi.project_id > 0 and oi.user_org_id = ? and o.settle_accounts_date >= ? and o.settle_accounts_date <= ? and oi.status = 1 and project.cost_classify = 10", org_id, start_time, end_time).Scan(&patients).Error
|
553
|
553
|
|
554
|
554
|
} else {
|
555
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
555
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
556
|
556
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
557
|
557
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
558
|
558
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -564,7 +564,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
564
|
564
|
case 7:
|
565
|
565
|
if time_type == "0" {
|
566
|
566
|
|
567
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
567
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
568
|
568
|
Joins("JOIN his_order o ON oi.order_number = o.number and FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
569
|
569
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
570
|
570
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -573,7 +573,7 @@ func GetNewAllPatientProjectAndGoodChargeDetails(org_id int64, start_time_str st
|
573
|
573
|
Where("oi.project_id > 0 and oi.user_org_id = ? and o.settle_accounts_date >= ? and o.settle_accounts_date <= ? and oi.status = 1 and project.cost_classify = 11", org_id, start_time, end_time).Scan(&patients).Error
|
574
|
574
|
|
575
|
575
|
} else {
|
576
|
|
- err = readDb.Table("his_order_info as oi").Select("0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
|
576
|
+ err = readDb.Table("his_order_info as oi").Select("FROM_UNIXTIME(o.settle_accounts_date, '%Y-%m-%d %H:%i:%S') as pdate,0 as advice_id, oi.project_id as project_id, oi.patient_id as p_id,oi.cnt as cnt,oi.pric as pric,pp.name as p_name,p.type as p_type, (case p.type when 2 then project.project_name when 3 then good.good_name END) as item_name,(case p.type when 2 then '' when 3 then good.specification_name END) as specification_name, p.project_id as item_id").
|
577
|
577
|
Joins("JOIN his_order o ON oi.order_number = o.number and o.setl_time BETWEEN ? AND ? and o.order_status = 2 and o.status = 1", start_time_str, end_time_str).
|
578
|
578
|
Joins(" JOIN his_prescription_project p ON oi.project_id = p.id and p.type = 2").
|
579
|
579
|
Joins("left join xt_his_project project on p.project_id = project.id").
|
|
@@ -1066,3 +1066,54 @@ func GetAllLisDataFor10191(org_id int64) (list []models.HisLabelPrintStatusInfo,
|
1066
|
1066
|
err = readDb.Model(&models.HisLabelPrintStatusInfo{}).Preload("Patient", "status = 1").Where("user_org_id = ? AND status = 1 and apply_code = ''", org_id).Find(&list).Error
|
1067
|
1067
|
return
|
1068
|
1068
|
}
|
|
1069
|
+
|
|
1070
|
+func GetHisPrescriptionDrugDetails(org_id int64, start_time_str string, end_time_str string, start_time int64, end_time int64, patient_id int64, item_type int64) (patients []*models.NewPDetail, err error) {
|
|
1071
|
+ db := readDb.Table("his_doctor_advice_info as oi").Select("drug.id as item_id,1 as p_type,oi.id as advice_id,0 as project_id,pp.id as p_id,pp.name as p_name,FROM_UNIXTIME(o.`record_date`, '%Y-%m-%d') as record_date, drug.drug_type as item_cost_type,o.med_type as med_type,oi.`prescribing_number` as cnt,oi.`price` as pric,drug.drug_name as item_name,CONCAT(drug.dose, \"\", drug.dose_unit, \"*\", drug.min_number, \"\", drug.min_unit, \"/\", drug.max_unit) as spec,o.order_status as order_status,oi.`prescribing_number_unit` as unit").
|
|
1072
|
+ Joins("JOIN xt_base_drug drug ON oi.drug_id = drug.id ")
|
|
1073
|
+ if patient_id == 0 {
|
|
1074
|
+ db = db.Joins("JOIN xt_patients pp on oi.patient_id = pp.id")
|
|
1075
|
+
|
|
1076
|
+ } else {
|
|
1077
|
+ db = db.Joins("JOIN xt_patients pp on oi.patient_id = pp.id and pp.id = ?", patient_id)
|
|
1078
|
+
|
|
1079
|
+ }
|
|
1080
|
+
|
|
1081
|
+ if item_type == 0 {
|
|
1082
|
+ db = db.Joins("JOIN `his_prescription` o ON oi.`prescription_id` = o.id and FROM_UNIXTIME(o.record_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.status = 1", start_time_str, end_time_str)
|
|
1083
|
+ } else {
|
|
1084
|
+ if item_type == 2 {
|
|
1085
|
+ db = db.Joins("JOIN `his_prescription` o ON oi.`prescription_id` = o.id and FROM_UNIXTIME(o.record_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.status = 1 and o.order_status = 2", start_time_str, end_time_str)
|
|
1086
|
+ } else {
|
|
1087
|
+ db = db.Joins("JOIN `his_prescription` o ON oi.`prescription_id` = o.id and FROM_UNIXTIME(o.record_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.status = 1 and o.order_status <> 2", start_time_str, end_time_str)
|
|
1088
|
+ }
|
|
1089
|
+ }
|
|
1090
|
+
|
|
1091
|
+ err = db.Where(" oi.user_org_id = ? AND o.record_date >= ? AND o.record_date <= ? AND oi.status = 1", org_id, start_time, end_time).Scan(&patients).Error
|
|
1092
|
+
|
|
1093
|
+ return
|
|
1094
|
+}
|
|
1095
|
+
|
|
1096
|
+func GetHisPrescriptionProjectDetails(org_id int64, start_time_str string, end_time_str string, start_time int64, end_time int64, patient_id int64, item_type int64) (patients []*models.NewPDetail, err error) {
|
|
1097
|
+ db := readDb.Table("`his_prescription_project` AS oi").Select("(case oi.type\n\t\t\tWHEN 2 THEN\n\t\t\tproject.id\n\t\t\tWHEN 3 THEN\n\t\t\tgood.id END) AS item_id,oi.type as p_type,oi.id as project_id,0 as advice_id,pp.id as p_id,(case oi.type\n\t\t\tWHEN 2 THEN\n\t\t\tproject.`cost_classify`\n\t\t\tWHEN 3 THEN\n\t\t\t-100 END) AS item_cost_type,\n\t o.med_type as med_type,\n\t oi.count AS cnt,\n \t oi.price AS pric,\n \t pp.name AS p_name, \n \tFROM_UNIXTIME(o.`record_date`,'%Y-%m-%d') as record_date,\n\t\t (case oi.type\n\tWHEN 2 THEN\n\tproject.project_name\n\tWHEN 3 THEN\n\tgood.good_name END) AS item_name,\n\t\t (case oi.type\n\tWHEN 2 THEN\n\t\"\"\n\tWHEN 3 THEN\n\tgood.`specification_name` END) AS spec,\n\toi.`unit` as unit,o.order_status as order_status")
|
|
1098
|
+ db = db.Joins("LEFT JOIN xt_his_project project\n\tON oi.project_id = project.id").
|
|
1099
|
+ Joins("LEFT JOIN xt_good_information good\n\tON oi.project_id = good.id\n")
|
|
1100
|
+ //Joins("JOIN his_order ord ON o.batch_number = ord.number ")
|
|
1101
|
+ if patient_id > 0 {
|
|
1102
|
+ db = db.Joins("JOIN xt_patients pp on oi.patient_id = pp.id and pp.id = ?", patient_id)
|
|
1103
|
+ } else {
|
|
1104
|
+ db = db.Joins("JOIN xt_patients pp on oi.patient_id = pp.id")
|
|
1105
|
+ }
|
|
1106
|
+
|
|
1107
|
+ if item_type > 0 {
|
|
1108
|
+ if item_type == 2 {
|
|
1109
|
+ db = db.Joins("JOIN `his_prescription` o ON oi.`prescription_id` = o.id and FROM_UNIXTIME(o.record_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.status = 1 and o.order_status = 2", start_time_str, end_time_str)
|
|
1110
|
+ } else {
|
|
1111
|
+ db = db.Joins("JOIN `his_prescription` o ON oi.`prescription_id` = o.id and FROM_UNIXTIME(o.record_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.status = 1 and o.order_status <> 2", start_time_str, end_time_str)
|
|
1112
|
+ }
|
|
1113
|
+ } else {
|
|
1114
|
+ db = db.Joins("JOIN `his_prescription` o ON oi.`prescription_id` = o.id and FROM_UNIXTIME(o.record_date, '%Y-%m-%d %H:%i:%S') BETWEEN ? AND ? and o.status = 1", start_time_str, end_time_str)
|
|
1115
|
+ }
|
|
1116
|
+
|
|
1117
|
+ err = db.Where(" oi.user_org_id = ? AND o.record_date >= ? AND o.record_date <= ? AND oi.status = 1", org_id, start_time, end_time).Scan(&patients).Error
|
|
1118
|
+ return
|
|
1119
|
+}
|