|
@@ -451,6 +451,7 @@ func HisDrugsDelivery(orgID int64, creater int64, advice *models.HisDoctorAdvice
|
451
|
451
|
// 药品出库 递归方式
|
452
|
452
|
func HisDrugDeliverInfo(orgID int64, prescribingNumber float64, warehouseout *models.DrugWarehouseOut, drup *models.BaseDrugLib, advice *models.HisDoctorAdviceInfo) (err error) {
|
453
|
453
|
|
|
454
|
+ //fmt.Println("进来了吗323222222222222222222222222222222222222222222222222222222222222222222")
|
454
|
455
|
// 判断处方里药品单位是拆零单位还是包装单位, 如果是包装单位,则根据规格,将包装数量转为拆零数量
|
455
|
456
|
var deliver_number int64 = 0
|
456
|
457
|
var stock_number int64 = 0
|
|
@@ -579,36 +580,49 @@ func HisDrugDeliverInfo(orgID int64, prescribingNumber float64, warehouseout *mo
|
579
|
580
|
var maxNumber int64 = 0
|
580
|
581
|
var minNumber int64 = 0
|
581
|
582
|
|
|
583
|
+ //fmt.Println("deliver_number23332323232333232323233232323232",deliver_number)
|
582
|
584
|
maxNumber = deliver_number / drup.MinNumber
|
583
|
|
- minNumber = deliver_number % drup.MinNumber
|
|
585
|
+
|
|
586
|
+ if deliver_number <= drup.MinNumber {
|
|
587
|
+ minNumber = deliver_number % drup.MinNumber
|
|
588
|
+ } else {
|
|
589
|
+ minNumber = deliver_number
|
|
590
|
+ }
|
|
591
|
+
|
|
592
|
+ if deliver_number <= drup.MinNumber && warehouse.StockMaxNumber == 0 {
|
|
593
|
+ minNumber = deliver_number
|
|
594
|
+ }
|
|
595
|
+
|
584
|
596
|
if warehouse.StockMaxNumber == 0 && drup.MaxUnit == drup.MinUnit {
|
585
|
597
|
minNumber = maxNumber
|
586
|
598
|
}
|
587
|
599
|
|
588
|
600
|
if drup.MaxUnit != drup.MinUnit {
|
589
|
|
- if warehouse.StockMaxNumber < maxNumber {
|
|
601
|
+ if warehouse.StockMaxNumber < maxNumber && warehouse.StockMinNumber < minNumber {
|
590
|
602
|
return errors.New("库存数量不足")
|
591
|
603
|
}
|
592
|
604
|
}
|
593
|
605
|
|
594
|
606
|
warehouse.StockMaxNumber = warehouse.StockMaxNumber - maxNumber
|
|
607
|
+ //fmt.Println("最大单位23323232323232332323233232323",warehouse.StockMaxNumber)
|
595
|
608
|
if warehouse.StockMaxNumber < 0 {
|
596
|
609
|
warehouse.StockMaxNumber = 0
|
597
|
610
|
}
|
598
|
611
|
|
599
|
612
|
warehouse.Mtime = time.Now().Unix()
|
600
|
|
-
|
|
613
|
+ //fmt.Println("最小单位2323223233232233233232323232323323232",warehouse.StockMinNumber)
|
|
614
|
+ //fmt.Println("最小换算量233232332322323322332323232332323223",minNumber)
|
601
|
615
|
if warehouse.StockMinNumber < minNumber {
|
602
|
616
|
warehouse.StockMaxNumber = warehouse.StockMaxNumber - 1
|
603
|
617
|
warehouse.StockMinNumber = warehouse.StockMinNumber + drup.MinNumber - minNumber
|
604
|
618
|
} else {
|
605
|
|
-
|
|
619
|
+ //fmt.Println("hhhhhhhhhhhhhhhhhhhhhhhhh",warehouse.StockMinNumber,minNumber)
|
606
|
620
|
warehouse.StockMinNumber = warehouse.StockMinNumber - minNumber
|
607
|
|
-
|
|
621
|
+ //fmt.Println("我的魏2232332322323323",warehouse.StockMinNumber)
|
608
|
622
|
}
|
609
|
623
|
|
610
|
624
|
if drup.MaxUnit != drup.MinUnit {
|
611
|
|
- if warehouse.StockMaxNumber < 0 {
|
|
625
|
+ if warehouse.StockMaxNumber < 0 && warehouse.StockMinNumber < 0 {
|
612
|
626
|
return errors.New("库存数量不足")
|
613
|
627
|
}
|
614
|
628
|
}
|