|
@@ -267,8 +267,6 @@ func DrugDeliverInfo(orgID int64, prescribingNumber float64, warehouseout *model
|
267
|
267
|
|
268
|
268
|
}
|
269
|
269
|
|
270
|
|
- fmt.Println("max_number", maxNumber)
|
271
|
|
- fmt.Println("min_number2332232332", minNumber)
|
272
|
270
|
if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
|
273
|
271
|
warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
|
274
|
272
|
if warehouse.StockMinNumber == 0 {
|
|
@@ -1132,10 +1130,10 @@ func ConsumablesDeliveryTotal(orgID int64, patient_id int64, record_time int64,
|
1132
|
1130
|
// 如果已经出库的数量 小于 新请求出库的梳理,则代表需要增加出库
|
1133
|
1131
|
if goods_yc_temp.Count < goods_temp.Count {
|
1134
|
1132
|
temp_count := goods_temp.Count - goods_yc_temp.Count
|
1135
|
|
- //fmt.Println("988888888888888", temp_count)
|
|
1133
|
+
|
1136
|
1134
|
goods[j].Count = temp_count
|
1137
|
1135
|
goods_yc = append(goods_yc[:i], goods_yc[i+1:]...)
|
1138
|
|
- //fmt.Println("888888888", goods_yc)
|
|
1136
|
+
|
1139
|
1137
|
break
|
1140
|
1138
|
}
|
1141
|
1139
|
}
|
|
@@ -1216,7 +1214,8 @@ func ConsumablesDeliveryTotal(orgID int64, patient_id int64, record_time int64,
|
1216
|
1214
|
//耗材出库
|
1217
|
1215
|
func ConsumablesDelivery(orgID int64, patient_id int64, record_time int64, goods *models.DialysisBeforePrepare, warehouseOut *models.WarehouseOut, count int64) (err error) {
|
1218
|
1216
|
|
1219
|
|
- fmt.Println("count23323223233232323232332232323", count, goods.Count)
|
|
1217
|
+ //开事务
|
|
1218
|
+ tx := XTWriteDB().Begin()
|
1220
|
1219
|
var deliver_number int64 = 0
|
1221
|
1220
|
var stock_number int64 = 0
|
1222
|
1221
|
var maxNumber int64 = 0
|
|
@@ -1459,7 +1458,10 @@ func ConsumablesDelivery(orgID int64, patient_id int64, record_time int64, goods
|
1459
|
1458
|
ModifyGoodReduceInformationSix(goods.GoodId, goods.Count, orgID, warehouse.PackingPrice)
|
1460
|
1459
|
errThree := UpDateWarehouseInfoByStock(&warehouse)
|
1461
|
1460
|
if errThree != nil {
|
1462
|
|
- return errThree
|
|
1461
|
+ utils.ErrorLog("事务失败,原因为: %v", err.Error())
|
|
1462
|
+ tx.Rollback()
|
|
1463
|
+ } else {
|
|
1464
|
+ tx.Commit()
|
1463
|
1465
|
}
|
1464
|
1466
|
|
1465
|
1467
|
return nil
|
|
@@ -1648,8 +1650,12 @@ func ConsumablesDelivery(orgID int64, patient_id int64, record_time int64, goods
|
1648
|
1650
|
warehouse.Mtime = time.Now().Unix()
|
1649
|
1651
|
errThree := UpDateWarehouseInfoByStock(&warehouse)
|
1650
|
1652
|
if errThree != nil {
|
1651
|
|
- return errThree
|
|
1653
|
+ utils.ErrorLog("事务失败,原因为: %v", err.Error())
|
|
1654
|
+ tx.Rollback()
|
|
1655
|
+ } else {
|
|
1656
|
+ tx.Commit()
|
1652
|
1657
|
}
|
|
1658
|
+
|
1653
|
1659
|
// 清零完该库存后,还有剩余出库未出完,进行对应的递归操作
|
1654
|
1660
|
goods.Count = deliver_number - stock_number
|
1655
|
1661
|
|
|
@@ -1781,6 +1787,9 @@ func GetWarehouseById(id int64) (models.WarehouseOut, error) {
|
1781
|
1787
|
//耗材出库
|
1782
|
1788
|
func ConsumablesDeliveryOne(orgID int64, record_time int64, goods *models.WarehouseOutInfo, warehouseOut *models.WarehouseOut, count int64, creator int64) (err error) {
|
1783
|
1789
|
|
|
1790
|
+ //开事务
|
|
1791
|
+ tx := XTWriteDB().Begin()
|
|
1792
|
+
|
1784
|
1793
|
var deliver_number int64 = 0
|
1785
|
1794
|
var stock_number int64 = 0
|
1786
|
1795
|
var maxNumber int64 = 0
|
|
@@ -1824,6 +1833,8 @@ func ConsumablesDeliveryOne(orgID int64, record_time int64, goods *models.Wareho
|
1824
|
1833
|
SupplyWarehouseId: warehouse.SupplyWarehouseId,
|
1825
|
1834
|
StorehouseId: goods.StorehouseId,
|
1826
|
1835
|
AdminUserId: goods.AdminUserId,
|
|
1836
|
+ BuyPrice: warehouse.Price,
|
|
1837
|
+ StockCount: goods.StockCount,
|
1827
|
1838
|
}
|
1828
|
1839
|
warehouseOutInfo.Count = goods.Count
|
1829
|
1840
|
//添加出库单详情
|
|
@@ -1865,6 +1876,8 @@ func ConsumablesDeliveryOne(orgID int64, record_time int64, goods *models.Wareho
|
1865
|
1876
|
SupplyWarehouseId: warehouse.SupplyWarehouseId,
|
1866
|
1877
|
StorehouseId: warehouse.StorehouseId,
|
1867
|
1878
|
AdminUserId: goods.AdminUserId,
|
|
1879
|
+ BuyPrice: warehouse.Price,
|
|
1880
|
+ StockCount: goods.StockCount,
|
1868
|
1881
|
}
|
1869
|
1882
|
|
1870
|
1883
|
//创建出库流水
|
|
@@ -1881,7 +1894,12 @@ func ConsumablesDeliveryOne(orgID int64, record_time int64, goods *models.Wareho
|
1881
|
1894
|
|
1882
|
1895
|
//扣减库存
|
1883
|
1896
|
errThree := UpDateWarehouseInfoByStock(&warehouse)
|
1884
|
|
- //扣减库存
|
|
1897
|
+ if errThree != nil {
|
|
1898
|
+ utils.ErrorLog("事务失败,原因为: %v", errThree.Error())
|
|
1899
|
+ tx.Rollback()
|
|
1900
|
+ } else {
|
|
1901
|
+ tx.Commit()
|
|
1902
|
+ }
|
1885
|
1903
|
|
1886
|
1904
|
//查询该机构默认仓库
|
1887
|
1905
|
storeConfig, _ := GetAllStoreHouseConfig(goods.OrgId)
|
|
@@ -1924,6 +1942,8 @@ func ConsumablesDeliveryOne(orgID int64, record_time int64, goods *models.Wareho
|
1924
|
1942
|
SupplyWarehouseId: warehouse.SupplyWarehouseId,
|
1925
|
1943
|
StorehouseId: warehouse.StorehouseId,
|
1926
|
1944
|
AdminUserId: goods.AdminUserId,
|
|
1945
|
+ BuyPrice: warehouse.Price,
|
|
1946
|
+ StockCount: goods.StockCount,
|
1927
|
1947
|
}
|
1928
|
1948
|
warehouseOutInfo.Count = stock_number
|
1929
|
1949
|
|
|
@@ -1974,6 +1994,8 @@ func ConsumablesDeliveryOne(orgID int64, record_time int64, goods *models.Wareho
|
1974
|
1994
|
SupplyWarehouseId: warehouse.SupplyWarehouseId,
|
1975
|
1995
|
StorehouseId: goods.StorehouseId,
|
1976
|
1996
|
AdminUserId: goods.AdminUserId,
|
|
1997
|
+ BuyPrice: warehouse.Price,
|
|
1998
|
+ StockCount: goods.StockCount,
|
1977
|
1999
|
}
|
1978
|
2000
|
|
1979
|
2001
|
//创建出库明细
|
|
@@ -1996,7 +2018,10 @@ func ConsumablesDeliveryOne(orgID int64, record_time int64, goods *models.Wareho
|
1996
|
2018
|
errThree := UpDateWarehouseInfoByStock(&warehouse)
|
1997
|
2019
|
|
1998
|
2020
|
if errThree != nil {
|
1999
|
|
- return errThree
|
|
2021
|
+ utils.ErrorLog("事务失败,原因为: %v", errThree.Error())
|
|
2022
|
+ tx.Rollback()
|
|
2023
|
+ } else {
|
|
2024
|
+ tx.Commit()
|
2000
|
2025
|
}
|
2001
|
2026
|
// 清零完该库存后,还有剩余出库未出完,进行对应的递归操作
|
2002
|
2027
|
goods.Count = deliver_number - stock_number
|
|
@@ -2009,6 +2034,8 @@ func ConsumablesDeliveryOne(orgID int64, record_time int64, goods *models.Wareho
|
2009
|
2034
|
//退库逻辑
|
2010
|
2035
|
func ConsumablesDeliveryTwo(orgID int64, goods *models.WarehouseOutInfo, count int64) (err error) {
|
2011
|
2036
|
|
|
2037
|
+ //开事务
|
|
2038
|
+ tx := XTWriteDB().Begin()
|
2012
|
2039
|
var deliver_number int64 = 0
|
2013
|
2040
|
var stock_number int64 = 0
|
2014
|
2041
|
var maxNumber int64 = 0
|
|
@@ -2070,8 +2097,12 @@ func ConsumablesDeliveryTwo(orgID int64, goods *models.WarehouseOutInfo, count i
|
2070
|
2097
|
errThree := UpDateWarehouseInfoByStock(&warehouse)
|
2071
|
2098
|
|
2072
|
2099
|
if errThree != nil {
|
2073
|
|
- return errThree
|
|
2100
|
+ utils.ErrorLog("事务失败,原因为: %v", err.Error())
|
|
2101
|
+ tx.Rollback()
|
|
2102
|
+ } else {
|
|
2103
|
+ tx.Commit()
|
2074
|
2104
|
}
|
|
2105
|
+
|
2075
|
2106
|
return
|
2076
|
2107
|
} else {
|
2077
|
2108
|
|
|
@@ -2108,7 +2139,10 @@ func ConsumablesDeliveryTwo(orgID int64, goods *models.WarehouseOutInfo, count i
|
2108
|
2139
|
warehouse.Mtime = time.Now().Unix()
|
2109
|
2140
|
errThree := UpDateWarehouseInfoByStock(&warehouse)
|
2110
|
2141
|
if errThree != nil {
|
2111
|
|
- return errThree
|
|
2142
|
+ utils.ErrorLog("事务失败,原因为: %v", err.Error())
|
|
2143
|
+ tx.Rollback()
|
|
2144
|
+ } else {
|
|
2145
|
+ tx.Commit()
|
2112
|
2146
|
}
|
2113
|
2147
|
|
2114
|
2148
|
// 清零完该库存后,还有剩余出库未出完,进行对应的递归操作
|
|
@@ -2507,6 +2541,7 @@ func NewHisDrugDeliverInfo(orgID int64, prescribingNumber float64, warehouseout
|
2507
|
2541
|
if advice.PrescribingNumberUnit != drup.MaxUnit && advice.PrescribingNumberUnit != drup.MinUnit {
|
2508
|
2542
|
min_price = drup.RetailPrice
|
2509
|
2543
|
}
|
|
2544
|
+
|
2510
|
2545
|
fmt.Println(min_price)
|
2511
|
2546
|
// 根据先进先出原则,查询最先入库的批次,进行出库
|
2512
|
2547
|
// 如果没有对应的库存,则报错
|
|
@@ -2673,7 +2708,7 @@ func NewHisDrugDeliverInfo(orgID int64, prescribingNumber float64, warehouseout
|
2673
|
2708
|
}
|
2674
|
2709
|
|
2675
|
2710
|
errThree := UpDateDrugWarehouseInfoByStock(&warehouse)
|
2676
|
|
- fmt.Println("扣减2333333232323232323323223232323232323233223332233232323232322332", errThree)
|
|
2711
|
+
|
2677
|
2712
|
if errThree != nil {
|
2678
|
2713
|
return errThree
|
2679
|
2714
|
}
|
|
@@ -2837,7 +2872,6 @@ func HisAuToReduce(orgID int64, prescribingNumber float64, warehouseout *models.
|
2837
|
2872
|
// 比较数据大小
|
2838
|
2873
|
//如果当期医嘱数量小于最后一次出库则退库
|
2839
|
2874
|
if device_number < count_number {
|
2840
|
|
- fmt.Println("进来了吗")
|
2841
|
2875
|
var cha_number int64
|
2842
|
2876
|
var maxNumber int64
|
2843
|
2877
|
var minNumber int64
|
|
@@ -2869,8 +2903,7 @@ func HisAuToReduce(orgID int64, prescribingNumber float64, warehouseout *models.
|
2869
|
2903
|
ModifyDrugFlow(flow, drugInfo.WarehouseOutOrderNumber, advice.DrugId, advice.PatientId)
|
2870
|
2904
|
|
2871
|
2905
|
}
|
2872
|
|
- fmt.Println("医嘱数量44444444444444", device_number)
|
2873
|
|
- fmt.Println("最后一次出库数量", count_number)
|
|
2906
|
+
|
2874
|
2907
|
//如果当期医嘱数量大于最后一次出库则需要出库
|
2875
|
2908
|
if device_number > count_number {
|
2876
|
2909
|
var cha_number int64
|
|
@@ -3541,7 +3574,7 @@ func ConsumablesDeliveryTwelve(orgID int64, record_time int64, goods *models.War
|
3541
|
3574
|
StorehouseId: goods.StorehouseId,
|
3542
|
3575
|
SecondWarehouseInfoId: goods.SecondWarehouseInfoId,
|
3543
|
3576
|
}
|
3544
|
|
- fmt.Println("goods23233232233223323232323223232333232323232", goods.Count)
|
|
3577
|
+
|
3545
|
3578
|
warehouseOutInfo.Count = goods.Count
|
3546
|
3579
|
//添加出库单详情
|
3547
|
3580
|
errOne := AddSigleWarehouseOutInfo(warehouseOutInfo)
|
|
@@ -3599,7 +3632,6 @@ func ConsumablesDeliveryTwelve(orgID int64, record_time int64, goods *models.War
|
3599
|
3632
|
//扣减库存
|
3600
|
3633
|
errThree := UpDateWarehouseInfoByStock(&warehouse)
|
3601
|
3634
|
|
3602
|
|
- fmt.Println("2332323232323223323232233232323", goods.Count)
|
3603
|
3635
|
//入库
|
3604
|
3636
|
warehouseInfo := &models.WarehousingInfo{
|
3605
|
3637
|
WarehousingOrder: warehouseInfo.WarehousingOrder,
|
|
@@ -3990,7 +4022,7 @@ func AutoDrugDeliverInfoTwelve(orgID int64, prescribingNumber int64, warehouseou
|
3990
|
4022
|
if errThree != nil {
|
3991
|
4023
|
return errThree
|
3992
|
4024
|
}
|
3993
|
|
- fmt.Println("出库数量2333333333333333333333333333333333333", deliver_number)
|
|
4025
|
+
|
3994
|
4026
|
//入库
|
3995
|
4027
|
drugInfo := models.DrugWarehouseInfo{
|
3996
|
4028
|
WarehousingOrder: drugWarehouse.WarehousingOrder,
|
|
@@ -4332,8 +4364,7 @@ func AutoDrugDeliverInfoTwenty(orgID int64, prescribingNumber int64, warehouseou
|
4332
|
4364
|
|
4333
|
4365
|
maxNumber = deliver_number / drup.MinNumber
|
4334
|
4366
|
minNumber = deliver_number % drup.MinNumber
|
4335
|
|
- fmt.Println("maxNumber2323232233232332332323232323233232", maxNumber)
|
4336
|
|
- fmt.Println("minNumber3223233232323233232332322332", minNumber)
|
|
4367
|
+
|
4337
|
4368
|
if warehouse.StockMaxNumber == 0 && drup.MaxUnit == drup.MinUnit {
|
4338
|
4369
|
minNumber = maxNumber
|
4339
|
4370
|
}
|
|
@@ -4374,8 +4405,6 @@ func AutoDrugDeliverInfoTwenty(orgID int64, prescribingNumber int64, warehouseou
|
4374
|
4405
|
|
4375
|
4406
|
}
|
4376
|
4407
|
|
4377
|
|
- fmt.Println("max_number", maxNumber)
|
4378
|
|
- fmt.Println("min_number2332232332", minNumber)
|
4379
|
4408
|
if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
|
4380
|
4409
|
warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
|
4381
|
4410
|
if warehouse.StockMinNumber == 0 {
|
|
@@ -4392,9 +4421,8 @@ func AutoDrugDeliverInfoTwenty(orgID int64, prescribingNumber int64, warehouseou
|
4392
|
4421
|
warehouse.StockMinNumber = 0
|
4393
|
4422
|
}
|
4394
|
4423
|
|
4395
|
|
- fmt.Println("er2332323232232323233223322323233223322323", warehouse.StockMinNumber)
|
4396
|
4424
|
errThree := UpDateDrugWarehouseInfoByStock(&warehouse)
|
4397
|
|
- fmt.Println("er2332323232232323233223322323233223322323", errThree)
|
|
4425
|
+
|
4398
|
4426
|
if errThree != nil {
|
4399
|
4427
|
return errThree
|
4400
|
4428
|
}
|
|
@@ -4530,7 +4558,8 @@ func AutoDrugDeliverInfoTwenty(orgID int64, prescribingNumber int64, warehouseou
|
4530
|
4558
|
|
4531
|
4559
|
// 药品手动出库 递归方式
|
4532
|
4560
|
func AutoDrugDeliverInfoTwentyOne(orgID int64, prescribingNumber int64, warehouseout *models.DrugWarehouseOut, drup *models.BaseDrugLib, advice *models.DrugWarehouseOutInfo) (err error) {
|
4533
|
|
-
|
|
4561
|
+ //开事务
|
|
4562
|
+ tx := XTWriteDB().Begin()
|
4534
|
4563
|
// 判断处方里药品单位是拆零单位还是包装单位, 如果是包装单位,则根据规格,将包装数量转为拆零数量
|
4535
|
4564
|
var deliver_number int64 = 0
|
4536
|
4565
|
var stock_number int64 = 0
|
|
@@ -4585,6 +4614,8 @@ func AutoDrugDeliverInfoTwentyOne(orgID int64, prescribingNumber int64, warehous
|
4585
|
4614
|
SupplyWarehouseId: warehouse.SupplyWarehouseId,
|
4586
|
4615
|
StorehouseId: advice.StorehouseId,
|
4587
|
4616
|
AdminUserId: advice.AdminUserId,
|
|
4617
|
+ LastPrice: warehouse.Price,
|
|
4618
|
+ StockCount: advice.StockCount,
|
4588
|
4619
|
}
|
4589
|
4620
|
|
4590
|
4621
|
warehouseOutInfo.Count = prescribingNumber
|
|
@@ -4621,6 +4652,8 @@ func AutoDrugDeliverInfoTwentyOne(orgID int64, prescribingNumber int64, warehous
|
4621
|
4652
|
SupplyWarehouseId: warehouse.SupplyWarehouseId,
|
4622
|
4653
|
StorehouseId: advice.StorehouseId,
|
4623
|
4654
|
AdminUserId: advice.AdminUserId,
|
|
4655
|
+ LastPrice: warehouse.Price,
|
|
4656
|
+ StockCount: advice.StockCount,
|
4624
|
4657
|
}
|
4625
|
4658
|
if warehouse.RetailPrice == 0 {
|
4626
|
4659
|
drugflow.Price = advice.Price
|
|
@@ -4696,7 +4729,10 @@ func AutoDrugDeliverInfoTwentyOne(orgID int64, prescribingNumber int64, warehous
|
4696
|
4729
|
errThree := UpDateDrugWarehouseInfoByStock(&warehouse)
|
4697
|
4730
|
|
4698
|
4731
|
if errThree != nil {
|
4699
|
|
- return errThree
|
|
4732
|
+ utils.ErrorLog("事务失败,原因为: %v", err.Error())
|
|
4733
|
+ tx.Rollback()
|
|
4734
|
+ } else {
|
|
4735
|
+ tx.Commit()
|
4700
|
4736
|
}
|
4701
|
4737
|
|
4702
|
4738
|
//查询默认仓库
|
|
@@ -4746,6 +4782,8 @@ func AutoDrugDeliverInfoTwentyOne(orgID int64, prescribingNumber int64, warehous
|
4746
|
4782
|
SupplyWarehouseId: warehouse.SupplyWarehouseId,
|
4747
|
4783
|
StorehouseId: advice.StorehouseId,
|
4748
|
4784
|
AdminUserId: advice.AdminUserId,
|
|
4785
|
+ LastPrice: warehouse.Price,
|
|
4786
|
+ StockCount: advice.StockCount,
|
4749
|
4787
|
}
|
4750
|
4788
|
|
4751
|
4789
|
warehouseOutInfo.Count = stock_number
|
|
@@ -4782,6 +4820,8 @@ func AutoDrugDeliverInfoTwentyOne(orgID int64, prescribingNumber int64, warehous
|
4782
|
4820
|
SupplyWarehouseId: warehouse.SupplyWarehouseId,
|
4783
|
4821
|
StorehouseId: advice.StorehouseId,
|
4784
|
4822
|
AdminUserId: advice.AdminUserId,
|
|
4823
|
+ LastPrice: warehouse.Price,
|
|
4824
|
+ StockCount: advice.StockCount,
|
4785
|
4825
|
}
|
4786
|
4826
|
|
4787
|
4827
|
CreateDrugFlowOne(drugflow)
|
|
@@ -4793,6 +4833,12 @@ func AutoDrugDeliverInfoTwentyOne(orgID int64, prescribingNumber int64, warehous
|
4793
|
4833
|
warehouse.Mtime = time.Now().Unix()
|
4794
|
4834
|
|
4795
|
4835
|
errThree := UpDateDrugWarehouseInfoByStock(&warehouse)
|
|
4836
|
+ if errThree != nil {
|
|
4837
|
+ utils.ErrorLog("事务失败,原因为: %v", err.Error())
|
|
4838
|
+ tx.Rollback()
|
|
4839
|
+ } else {
|
|
4840
|
+ tx.Commit()
|
|
4841
|
+ }
|
4796
|
4842
|
|
4797
|
4843
|
//查询默认仓库
|
4798
|
4844
|
houseConfig, _ := GetAllStoreHouseConfig(orgID)
|