|
@@ -501,33 +501,31 @@ func GetDrugStockList(page int64, limit int64, keyword string, drugcategory int6
|
501
|
501
|
db := XTReadDB().Table("xt_drug_warehouse_info as x").Where("x.status = 1")
|
502
|
502
|
|
503
|
503
|
likeKey := "%" + keyword + "%"
|
|
504
|
+ if orgid > 0 {
|
|
505
|
+ db = db.Where("x.org_id = ?", orgid)
|
|
506
|
+ }
|
504
|
507
|
|
|
508
|
+ if startime > 0 {
|
|
509
|
+ db = db.Where("x.ctime >=?", startime)
|
|
510
|
+ }
|
|
511
|
+ if endtime > 0 {
|
|
512
|
+ db = db.Where("x.ctime<=?", endtime)
|
|
513
|
+ }
|
505
|
514
|
if drugcategory > 0 {
|
506
|
|
- err = db.Select("x.id,x.warehousing_id,x.drug_id,x.number,x.product_date,x.expiry_date,x.warehousing_count,x.warehouseing_unit,x.max_unit,x.min_unit,x.stock_max_number,x.stock_min_number,x.price,x.total_price,x.dealer,x.remark,x.org_id,x.is_return,x.warehousing_order,x.type,x.retail_price,x.retail_total_price,x.batch_number,t.drug_name,t.drug_type,t.max_unit,t.min_unit,t.min_number,t.dose,t.dose_unit,t.last_price,t.manufacturer").Joins("left join xt_base_drug as t on t.id = x.drug_id").Where("t.drug_category = ?", drugcategory).Group("x.drug_id").Count(&total).Offset(offset).Limit(limit).Order("x.ctime desc").Scan(&list).Error
|
|
515
|
+ err = db.Select("x.id,x.warehousing_id,x.drug_id,x.number,x.product_date,x.expiry_date,x.warehousing_count,x.warehouseing_unit,x.max_unit,x.min_unit,x.stock_max_number,x.stock_min_number,x.price,x.total_price,x.dealer,x.remark,x.org_id,x.is_return,x.warehousing_order,x.type,x.retail_price,x.retail_total_price,x.batch_number,t.drug_name,t.drug_type,t.max_unit,t.min_unit,t.min_number,t.dose,t.dose_unit,t.last_price,t.manufacturer").Joins("left join xt_base_drug as t on t.id = x.drug_id and t.org_id =?", orgid).Where("t.drug_category = ?", drugcategory).Group("x.drug_id").Count(&total).Offset(offset).Limit(limit).Order("x.ctime desc").Scan(&list).Error
|
507
|
516
|
|
508
|
517
|
} else {
|
509
|
518
|
err = db.Select("x.id,x.warehousing_id,x.drug_id,x.number,x.product_date,x.expiry_date,x.warehousing_count,x.warehouseing_unit,x.max_unit,x.min_unit,x.stock_max_number,x.stock_min_number,x.price,x.total_price,x.dealer,x.remark,x.org_id,x.is_return,x.warehousing_order,x.type,x.retail_price,x.retail_total_price,x.batch_number,t.drug_name,t.drug_type,t.max_unit,t.min_unit,t.min_number,t.dose,t.dose_unit,t.last_price,t.manufacturer").Joins("left join xt_base_drug as t on t.id = x.drug_id and t.org_id = ?", orgid).Group("x.drug_id").Count(&total).Offset(offset).Limit(limit).Order("x.ctime desc").Scan(&list).Error
|
510
|
519
|
}
|
511
|
520
|
|
512
|
521
|
if len(keyword) > 0 {
|
513
|
|
- err = db.Select("x.id,x.warehousing_id,x.drug_id,x.number,x.product_date,x.expiry_date,x.warehousing_count,x.warehouseing_unit,x.max_unit,x.min_unit,x.stock_max_number,x.stock_min_number,x.price,x.total_price,x.dealer,x.remark,x.org_id,x.is_return,x.warehousing_order,x.type,x.retail_price,x.retail_total_price,x.batch_number,t.drug_name,t.drug_type,t.max_unit,t.min_unit,t.min_number,t.dose,t.dose_unit,t.last_price,t.manufacturer").Joins("left join xt_base_drug as t on t.id = x.drug_id").Where("t.drug_name like ?", likeKey).Group("x.drug_id").Count(&total).Offset(offset).Limit(limit).Order("x.ctime desc").Scan(&list).Error
|
|
522
|
+ err = db.Select("x.id,x.warehousing_id,x.drug_id,x.number,x.product_date,x.expiry_date,x.warehousing_count,x.warehouseing_unit,x.max_unit,x.min_unit,x.stock_max_number,x.stock_min_number,x.price,x.total_price,x.dealer,x.remark,x.org_id,x.is_return,x.warehousing_order,x.type,x.retail_price,x.retail_total_price,x.batch_number,t.drug_name,t.drug_type,t.max_unit,t.min_unit,t.min_number,t.dose,t.dose_unit,t.last_price,t.manufacturer").Joins("left join xt_base_drug as t on t.id = x.drug_id and t.org_id=?", orgid).Where("t.drug_name like ?", likeKey).Group("x.drug_id").Count(&total).Offset(offset).Limit(limit).Order("x.ctime desc").Scan(&list).Error
|
514
|
523
|
return
|
515
|
524
|
} else {
|
516
|
525
|
err = db.Select("x.id,x.warehousing_id,x.drug_id,x.number,x.product_date,x.expiry_date,x.warehousing_count,x.warehouseing_unit,x.max_unit,x.min_unit,x.stock_max_number,x.stock_min_number,x.price,x.total_price,x.dealer,x.remark,x.org_id,x.is_return,x.warehousing_order,x.type,x.retail_price,x.retail_total_price,x.batch_number,t.drug_name,t.drug_type,t.max_unit,t.min_unit,t.min_number,t.dose,t.dose_unit,t.last_price,t.manufacturer").Joins("left join xt_base_drug as t on t.id = x.drug_id and t.org_id = ?", orgid).Group("x.drug_id").Count(&total).Offset(offset).Limit(limit).Order("x.ctime desc").Scan(&list).Error
|
517
|
526
|
return
|
518
|
527
|
}
|
519
|
528
|
|
520
|
|
- if startime > 0 {
|
521
|
|
- db = db.Where("x.ctime >=?", startime)
|
522
|
|
- }
|
523
|
|
- if endtime > 0 {
|
524
|
|
- db = db.Where("x.ctime<=?", endtime)
|
525
|
|
- }
|
526
|
|
-
|
527
|
|
- if orgid > 0 {
|
528
|
|
- db = db.Where("x.org_id = ?", orgid)
|
529
|
|
- }
|
530
|
|
-
|
531
|
529
|
return list, total, err
|
532
|
530
|
}
|
533
|
531
|
|
|
@@ -578,7 +576,7 @@ func GetDrugStockOutFlow(drugid int64, startime int64, endtime int64, page int64
|
578
|
576
|
if stocktype == 2 {
|
579
|
577
|
db = db.Where("x,is_sys = 1")
|
580
|
578
|
}
|
581
|
|
- err = db.Select("x.id,x.warehouse_out_id,x.drug_id,x.warehousing_out_target,x.count,x.count_unit,x.price,x.total_price,x.product_date,x.expiry_date,x.org_id,x.remark,x.is_cancel,x.warehouse_out_order_number,x.type,x.dealer,x.manufacturer,x.is_sys,x.sys_record_time,x.retail_price,x.retail_total_price,x.warehouse_info_id").Offset(offset).Count(&total).Order("x.ctime desc").Scan(&list).Error
|
|
579
|
+ err = db.Select("x.id,x.warehouse_out_id,x.drug_id,x.warehousing_out_target,x.count,x.price,x.total_price,x.product_date,x.expiry_date,x.org_id,x.remark,x.is_cancel,x.warehouse_out_order_number,x.type,x.dealer,x.manufacturer,x.is_sys,x.sys_record_time,x.retail_price,x.retail_total_price,x.warehouse_info_id").Offset(offset).Count(&total).Order("x.ctime desc").Scan(&list).Error
|
582
|
580
|
return list, total, err
|
583
|
581
|
}
|
584
|
582
|
|
|
@@ -653,3 +651,14 @@ func GetSingleOrderDetail(id int64, orgid int64) (info []*models.VmDrugWarehouse
|
653
|
651
|
err = db.Select("x.id,x.warehouse_out_id,x.drug_id,sum(x.count) as count,x.price,x.total_price,x.product_date,x.expiry_date,x.remark,x.is_cancel,x.warehouse_out_order_number,x.type,x.dealer,t.manufacturer,x.is_sys,x.sys_record_time,x.retail_price,x.retail_total_price,t.drug_name,t.drug_type,t.max_unit,t.min_unit,t.min_number,t.dose,t.dose_unit,t.last_price").Joins("left join xt_base_drug as t on t.id = x.drug_id").Group("x.drug_id").Scan(&info).Error
|
654
|
652
|
return info, err
|
655
|
653
|
}
|
|
654
|
+
|
|
655
|
+func FindDrugStockUserDetailByIdThree(id int64, record_time int64, org_id int64) (user []*DrugAutomaticReduceDetail, err error, total int64) {
|
|
656
|
+
|
|
657
|
+ db := readDb.Model(&user)
|
|
658
|
+ db = db.Preload("Drug", "org_id = ? AND status = 1", org_id)
|
|
659
|
+ db = db.Preload("Patients", "user_org_id = ? AND status = 1", org_id)
|
|
660
|
+ db = db.Where("status = 1 AND org_id = ? AND drug_id = ? AND record_time =?", org_id, id, record_time)
|
|
661
|
+ db = db.Count(&total)
|
|
662
|
+ err = db.Find(&user).Error
|
|
663
|
+ return user, err, total
|
|
664
|
+}
|