|
@@ -2020,14 +2020,21 @@ func (this *SelfDrugApiController) SaveDrugCheckInventory() {
|
2020
|
2020
|
drug, _ := service.GetDrugDetailByDrugId(item.DrugId)
|
2021
|
2021
|
|
2022
|
2022
|
//查询库存
|
2023
|
|
- info, _ := service.GetDrugWareInfoById(item.WarehouseInfoId)
|
|
2023
|
+ info, _ := service.GetDrugWareInfoByIdTwo(item.WarehouseInfoId)
|
|
2024
|
+ var max_count int64
|
|
2025
|
+ var min_count int64
|
|
2026
|
+ for _, it := range info {
|
|
2027
|
+ max_count += it.StockMaxNumber
|
|
2028
|
+ min_count += it.StockMinNumber
|
|
2029
|
+ }
|
2024
|
2030
|
|
2025
|
2031
|
//获取最晚的库存数量
|
2026
|
2032
|
lastInfo, _ := service.GetLastDrugWarehouseInfo(item.DrugId)
|
2027
|
2033
|
firstInfo, _ := service.GetFirstDrugWarehouseInfo(item.DrugId)
|
2028
|
|
- stock_total = info.StockMaxNumber*drug.MinNumber + info.StockMinNumber
|
|
2034
|
+ stock_total = max_count*drug.MinNumber + min_count
|
2029
|
2035
|
proof_count = item.Count*drug.MinNumber + item.MinCount
|
2030
|
|
-
|
|
2036
|
+ fmt.Println("stock_total", stock_total)
|
|
2037
|
+ fmt.Println("proof_count", proof_count)
|
2031
|
2038
|
//判断 如果库存数量 大于盘点库存,则出库
|
2032
|
2039
|
if stock_total > proof_count {
|
2033
|
2040
|
minNumber = (stock_total - proof_count) % drug.MinNumber
|
|
@@ -2057,11 +2064,12 @@ func (this *SelfDrugApiController) SaveDrugCheckInventory() {
|
2057
|
2064
|
WarehouseOutTime: ctime,
|
2058
|
2065
|
Type: 1,
|
2059
|
2066
|
}
|
2060
|
|
-
|
|
2067
|
+ service.AddSigleDrugWarehouseOut(&warehouseOut)
|
|
2068
|
+ warehouse, _ := service.GetLastDrugWarehouseOut(adminUserInfo.CurrentOrgId)
|
2061
|
2069
|
warehouseOutInfo := models.DrugWarehouseOutInfo{
|
2062
|
2070
|
WarehouseOutOrderNumber: warehouseOut.WarehouseOutOrderNumber,
|
2063
|
|
- WarehouseOutId: warehouseOut.ID,
|
2064
|
|
- DrugId: firstInfo.DrugId,
|
|
2071
|
+ WarehouseOutId: warehouse.ID,
|
|
2072
|
+ DrugId: item.DrugId,
|
2065
|
2073
|
Count: maxNumber,
|
2066
|
2074
|
Price: firstInfo.Price,
|
2067
|
2075
|
TotalPrice: firstInfo.TotalPrice,
|
|
@@ -2086,7 +2094,7 @@ func (this *SelfDrugApiController) SaveDrugCheckInventory() {
|
2086
|
2094
|
drugflow := models.DrugFlow{
|
2087
|
2095
|
WarehouseOutId: warehouseOut.ID,
|
2088
|
2096
|
WarehouseOutOrderNumber: warehousing_out_order,
|
2089
|
|
- DrugId: firstInfo.DrugId,
|
|
2097
|
+ DrugId: item.DrugId,
|
2090
|
2098
|
Number: firstInfo.Number,
|
2091
|
2099
|
ProductDate: firstInfo.ProductDate,
|
2092
|
2100
|
ExpireDate: firstInfo.ExpiryDate,
|
|
@@ -2104,18 +2112,18 @@ func (this *SelfDrugApiController) SaveDrugCheckInventory() {
|
2104
|
2112
|
Creator: adminUserInfo.AdminUser.Id,
|
2105
|
2113
|
IsSys: 0,
|
2106
|
2114
|
}
|
2107
|
|
-
|
2108
|
|
- service.AddSigleDrugWarehouseOut(&warehouseOut)
|
2109
|
2115
|
service.CreateDrugWarehouseOutInfo(warehouseOutInfo)
|
2110
|
2116
|
service.CreateDrugFlowOne(drugflow)
|
2111
|
2117
|
|
2112
|
2118
|
}
|
2113
|
2119
|
|
2114
|
2120
|
//判断 如果库存数量 小于于盘点库存,则入库
|
|
2121
|
+ fmt.Println("stock_total2332322323223", stock_total, proof_count)
|
2115
|
2122
|
if stock_total < proof_count {
|
2116
|
2123
|
|
2117
|
2124
|
maxNumber = (proof_count - stock_total) / drug.MinNumber
|
2118
|
2125
|
minNumber = (proof_count - stock_total) % drug.MinNumber
|
|
2126
|
+ fmt.Println("min_number23233232323223322323", minNumber)
|
2119
|
2127
|
ctime := time.Now().Unix()
|
2120
|
2128
|
|
2121
|
2129
|
timeStr := time.Now().Format("2006-01-02")
|
|
@@ -2137,36 +2145,38 @@ func (this *SelfDrugApiController) SaveDrugCheckInventory() {
|
2137
|
2145
|
WarehousingTime: ctime,
|
2138
|
2146
|
Type: 1,
|
2139
|
2147
|
}
|
2140
|
|
-
|
|
2148
|
+ service.AddSigleDrugWarehouse(&warehousing)
|
|
2149
|
+ warehouse, _ := service.GetLastDrugWarehouse(adminUserInfo.CurrentOrgId)
|
2141
|
2150
|
warehouseInfo := models.DrugWarehouseInfo{
|
2142
|
|
- WarehousingOrder: warehousing.WarehousingOrder,
|
2143
|
|
- WarehousingId: warehousing.ID,
|
2144
|
|
- DrugId: lastInfo.DrugId,
|
2145
|
|
- Number: lastInfo.Number,
|
2146
|
|
- ProductDate: lastInfo.ProductDate,
|
2147
|
|
- ExpiryDate: lastInfo.ExpiryDate,
|
2148
|
|
- WarehousingCount: lastInfo.WarehousingCount,
|
2149
|
|
- Price: lastInfo.Price,
|
2150
|
|
- TotalPrice: lastInfo.TotalPrice,
|
2151
|
|
- Status: 1,
|
2152
|
|
- Ctime: ctime,
|
2153
|
|
- Remark: item.Remark,
|
2154
|
|
- OrgId: adminUserInfo.CurrentOrgId,
|
2155
|
|
- Type: 1,
|
2156
|
|
- Manufacturer: lastInfo.Manufacturer,
|
2157
|
|
- Dealer: lastInfo.Dealer,
|
2158
|
|
- StockMaxNumber: maxNumber,
|
2159
|
|
- StockMinNumber: minNumber,
|
2160
|
|
- RetailTotalPrice: lastInfo.RetailTotalPrice,
|
2161
|
|
- BatchNumber: lastInfo.BatchNumber,
|
2162
|
|
- MaxUnit: drug.MaxUnit,
|
2163
|
|
- MinUnit: drug.MinUnit,
|
|
2151
|
+ WarehousingOrder: warehousing.WarehousingOrder,
|
|
2152
|
+ WarehousingId: warehouse.ID,
|
|
2153
|
+ DrugId: item.DrugId,
|
|
2154
|
+ Number: lastInfo.Number,
|
|
2155
|
+ ProductDate: lastInfo.ProductDate,
|
|
2156
|
+ ExpiryDate: lastInfo.ExpiryDate,
|
|
2157
|
+ WarehousingCount: maxNumber,
|
|
2158
|
+ Price: lastInfo.Price,
|
|
2159
|
+ TotalPrice: lastInfo.TotalPrice,
|
|
2160
|
+ Status: 1,
|
|
2161
|
+ Ctime: ctime,
|
|
2162
|
+ Remark: item.Remark,
|
|
2163
|
+ OrgId: adminUserInfo.CurrentOrgId,
|
|
2164
|
+ Type: 1,
|
|
2165
|
+ Manufacturer: lastInfo.Manufacturer,
|
|
2166
|
+ Dealer: lastInfo.Dealer,
|
|
2167
|
+ StockMaxNumber: maxNumber,
|
|
2168
|
+ StockMinNumber: minNumber,
|
|
2169
|
+ RetailTotalPrice: lastInfo.RetailTotalPrice,
|
|
2170
|
+ BatchNumber: lastInfo.BatchNumber,
|
|
2171
|
+ MaxUnit: drug.MaxUnit,
|
|
2172
|
+ MinUnit: drug.MinUnit,
|
|
2173
|
+ WarehousingInfoId: item.WarehouseInfoId,
|
2164
|
2174
|
}
|
2165
|
2175
|
|
2166
|
2176
|
drugflow := models.DrugFlow{
|
2167
|
2177
|
WarehousingOrder: warehousing.WarehousingOrder,
|
2168
|
|
- WarehousingId: warehousing.ID,
|
2169
|
|
- DrugId: lastInfo.DrugId,
|
|
2178
|
+ WarehousingId: warehouse.ID,
|
|
2179
|
+ DrugId: item.DrugId,
|
2170
|
2180
|
Number: lastInfo.Number,
|
2171
|
2181
|
ProductDate: lastInfo.ProductDate,
|
2172
|
2182
|
ExpireDate: lastInfo.ExpiryDate,
|
|
@@ -2185,7 +2195,7 @@ func (this *SelfDrugApiController) SaveDrugCheckInventory() {
|
2185
|
2195
|
Creator: adminUserInfo.AdminUser.Id,
|
2186
|
2196
|
IsSys: 0,
|
2187
|
2197
|
}
|
2188
|
|
- service.AddSigleDrugWarehouse(&warehousing)
|
|
2198
|
+
|
2189
|
2199
|
service.CreateDrugWarehouseInfo(warehouseInfo)
|
2190
|
2200
|
service.CreateDrugFlowOne(drugflow)
|
2191
|
2201
|
}
|