|
@@ -209,6 +209,13 @@ func (c *StockDrugApiController) CreateDrugWarehouse() {
|
209
|
209
|
|
210
|
210
|
dealer := int64(items["dealer"].(float64))
|
211
|
211
|
|
|
212
|
+ if items["retail_price"] == nil || reflect.TypeOf(items["retail_price"]).String() != "string" {
|
|
213
|
+ utils.ErrorLog("retail_price")
|
|
214
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
215
|
+ return
|
|
216
|
+ }
|
|
217
|
+ retail_price, _ := strconv.ParseFloat(items["retail_price"].(string), 64)
|
|
218
|
+
|
212
|
219
|
warehouseInfo := &models.DrugWarehouseInfo{
|
213
|
220
|
WarehousingOrder: warehousing.WarehousingOrder,
|
214
|
221
|
WarehousingId: warehousing.ID,
|
|
@@ -231,6 +238,13 @@ func (c *StockDrugApiController) CreateDrugWarehouse() {
|
231
|
238
|
BatchNumber: batch_number,
|
232
|
239
|
MaxUnit: max_unit,
|
233
|
240
|
MinUnit: min_unit,
|
|
241
|
+ RetailPrice: retail_price,
|
|
242
|
+ }
|
|
243
|
+
|
|
244
|
+ if max_unit == min_unit {
|
|
245
|
+ warehouseInfo.StockMaxNumber = 0
|
|
246
|
+ warehouseInfo.StockMinNumber = warehousing_count
|
|
247
|
+ warehouseInfo.MaxUnit = min_unit
|
234
|
248
|
}
|
235
|
249
|
warehousingInfo = append(warehousingInfo, warehouseInfo)
|
236
|
250
|
|
|
@@ -257,6 +271,9 @@ func (c *StockDrugApiController) CreateDrugWarehouse() {
|
257
|
271
|
IsSys: 0,
|
258
|
272
|
}
|
259
|
273
|
|
|
274
|
+ if max_unit == min_unit {
|
|
275
|
+ drugflow.MaxUnit = min_unit
|
|
276
|
+ }
|
260
|
277
|
drugFlow = append(drugFlow, drugflow)
|
261
|
278
|
|
262
|
279
|
}
|
|
@@ -338,7 +355,6 @@ func (c *StockDrugApiController) GetDrugWarehouseList() {
|
338
|
355
|
}
|
339
|
356
|
|
340
|
357
|
adminUserInfo := c.GetAdminUserInfo()
|
341
|
|
- fmt.Println("hhh2h3h23h2h32h3h2h32h32h3h2h3", keywords)
|
342
|
358
|
//按药品名称搜索
|
343
|
359
|
var ids []int64
|
344
|
360
|
var idArray []int64
|
|
@@ -487,6 +503,8 @@ func (c *StockDrugApiController) EditDrugWarehouse() {
|
487
|
503
|
|
488
|
504
|
retail_price_total := float64(warehousing_count) * last_price
|
489
|
505
|
|
|
506
|
+ retail_price, _ := strconv.ParseFloat(items["retail_price"].(string), 64)
|
|
507
|
+
|
490
|
508
|
var productDates int64
|
491
|
509
|
var expiryDates int64
|
492
|
510
|
|
|
@@ -561,13 +579,18 @@ func (c *StockDrugApiController) EditDrugWarehouse() {
|
561
|
579
|
Type: types,
|
562
|
580
|
Manufacturer: manufacturer,
|
563
|
581
|
Dealer: dealer,
|
564
|
|
- RetailPrice: last_price,
|
|
582
|
+ RetailPrice: retail_price,
|
565
|
583
|
RetailTotalPrice: retail_price_total,
|
566
|
584
|
BatchNumber: batch_number,
|
567
|
585
|
MaxUnit: max_unit,
|
568
|
586
|
MinUnit: min_unit,
|
569
|
587
|
StockMaxNumber: warehousing_count,
|
570
|
588
|
}
|
|
589
|
+ if max_unit == min_unit {
|
|
590
|
+ warehouseInfo.StockMaxNumber = 0
|
|
591
|
+ warehouseInfo.StockMinNumber = warehousing_count
|
|
592
|
+ warehouseInfo.MaxUnit = min_unit
|
|
593
|
+ }
|
571
|
594
|
warehousingInfo = append(warehousingInfo, warehouseInfo)
|
572
|
595
|
|
573
|
596
|
} else {
|
|
@@ -590,12 +613,18 @@ func (c *StockDrugApiController) EditDrugWarehouse() {
|
590
|
613
|
Type: types,
|
591
|
614
|
Manufacturer: manufacturer,
|
592
|
615
|
Dealer: dealer,
|
593
|
|
- RetailPrice: last_price,
|
|
616
|
+ RetailPrice: retail_price,
|
594
|
617
|
RetailTotalPrice: retail_price_total,
|
595
|
618
|
MaxUnit: max_unit,
|
596
|
619
|
MinUnit: min_unit,
|
597
|
620
|
BatchNumber: batch_number,
|
598
|
621
|
}
|
|
622
|
+ if max_unit == min_unit {
|
|
623
|
+ warehouseInfo.StockMaxNumber = 0
|
|
624
|
+ warehouseInfo.StockMinNumber = warehousing_count
|
|
625
|
+ warehouseInfo.MaxUnit = min_unit
|
|
626
|
+ }
|
|
627
|
+
|
599
|
628
|
upDateWarehousingInfo = append(upDateWarehousingInfo, warehouseInfo)
|
600
|
629
|
|
601
|
630
|
drugflow := &models.DrugFlow{
|
|
@@ -658,6 +687,9 @@ func (c *StockDrugApiController) EditDrugWarehouse() {
|
658
|
687
|
IsSys: 0,
|
659
|
688
|
WarehousingDetailId: info.ID,
|
660
|
689
|
}
|
|
690
|
+ if info.MaxUnit == info.MinUnit {
|
|
691
|
+ flows.MaxUnit = info.MinUnit
|
|
692
|
+ }
|
661
|
693
|
_, existerrcodes := service.GetDrugFlowIsExist(info.ID, info.DrugId)
|
662
|
694
|
|
663
|
695
|
if existerrcodes == gorm.ErrRecordNotFound {
|
|
@@ -682,7 +714,6 @@ func (c *StockDrugApiController) EditDrugWarehouse() {
|
682
|
714
|
//历史入库总数
|
683
|
715
|
total = orderInfo.StockMaxNumber * info.MinNumber
|
684
|
716
|
|
685
|
|
- //当前入库总数
|
686
|
717
|
allTotal = item.WarehousingCount * info.MinNumber
|
687
|
718
|
|
688
|
719
|
//如果历史的入库总数 大于当前入库总数 则需要扣减
|
|
@@ -732,6 +763,9 @@ func (c *StockDrugApiController) EditDrugWarehouse() {
|
732
|
763
|
BatchNumber: it.BatchNumber,
|
733
|
764
|
Price: it.Price,
|
734
|
765
|
}
|
|
766
|
+ if info.MaxUnit == info.MinUnit {
|
|
767
|
+ flow.MaxUnit = info.MinUnit
|
|
768
|
+ }
|
735
|
769
|
parseDateErr := service.UpdateDrugFlow(flow, item.DrugId, warehouseInfo.WarehousingId)
|
736
|
770
|
fmt.Println(parseDateErr)
|
737
|
771
|
|
|
@@ -749,7 +783,9 @@ func (c *StockDrugApiController) EditDrugWarehouse() {
|
749
|
783
|
for _, it := range drugFlow {
|
750
|
784
|
fmt.Println(it)
|
751
|
785
|
flow := models.DrugFlow{
|
752
|
|
- Count: item.StockMaxNumber,
|
|
786
|
+ Count: item.StockMaxNumber,
|
|
787
|
+ MaxUnit: item.MaxUnit,
|
|
788
|
+ MinUnit: item.MinUnit,
|
753
|
789
|
}
|
754
|
790
|
parseDateErr := service.UpdateDrugFlow(flow, item.DrugId, warehouseInfo.WarehousingId)
|
755
|
791
|
fmt.Println(parseDateErr)
|
|
@@ -770,6 +806,9 @@ func (c *StockDrugApiController) EditDrugWarehouse() {
|
770
|
806
|
Manufacturer: item.Manufacturer,
|
771
|
807
|
Remark: item.Remark,
|
772
|
808
|
BatchNumber: item.BatchNumber,
|
|
809
|
+ MaxUnit: item.MaxUnit,
|
|
810
|
+ MinUnit: item.MinUnit,
|
|
811
|
+ RetailPrice: item.RetailPrice,
|
773
|
812
|
}
|
774
|
813
|
errs = service.UpDateDrugWarehousingInfoTwo(item.ID, warehouseinfo)
|
775
|
814
|
}
|
|
@@ -2408,7 +2447,6 @@ func (c *StockDrugApiController) CreateDrugCancelStock() {
|
2408
|
2447
|
infoWareInfo, _ := service.GetDrugWarehouseInfo(item.BatchNumberId)
|
2409
|
2448
|
var total_count int64
|
2410
|
2449
|
total_count = infoWareInfo.WarehousingCount * medical.MinNumber
|
2411
|
|
- fmt.Println("当前批次总库存", total_count)
|
2412
|
2450
|
|
2413
|
2451
|
//查询该批次的出库数量
|
2414
|
2452
|
outInfo, _ := service.GetDrugWarehouseOutInfo(item.BatchNumberId, item.DrugId)
|
|
@@ -2448,7 +2486,9 @@ func (c *StockDrugApiController) CreateDrugCancelStock() {
|
2448
|
2486
|
})
|
2449
|
2487
|
return
|
2450
|
2488
|
}
|
2451
|
|
-
|
|
2489
|
+ fmt.Println("当前退库数", total_count)
|
|
2490
|
+ fmt.Println("当前批次总库存", total_count)
|
|
2491
|
+ fmt.Println("总出库数", out_number)
|
2452
|
2492
|
//判断退库数量是否大于总入库数量
|
2453
|
2493
|
if total_number > total_count {
|
2454
|
2494
|
service.UpdateDrugCancel(item.CancelStockId)
|
|
@@ -2614,6 +2654,18 @@ func (this *StockDrugApiController) DeleteDrugCancelStock() {
|
2614
|
2654
|
}
|
2615
|
2655
|
|
2616
|
2656
|
idArray := strings.Split(ids, ",")
|
|
2657
|
+ //获取入库数据
|
|
2658
|
+ list, _ := service.GetDrugWareInfoByCancelId(idArray)
|
|
2659
|
+ for _, item := range list {
|
|
2660
|
+ medical, _ := service.GetBaseDrugMedical(item.DrugId)
|
|
2661
|
+ if item.MaxUnit == medical.MaxUnit {
|
|
2662
|
+ //回退库存
|
|
2663
|
+ service.ModifyDrugWarehouseByInfoId(item.CancelStockId, item.Count)
|
|
2664
|
+ }
|
|
2665
|
+ if item.MaxUnit == medical.MinUnit {
|
|
2666
|
+ service.ModifyDrugWarehouseByStockMin(item.CancelStockId, item.Count)
|
|
2667
|
+ }
|
|
2668
|
+ }
|
2617
|
2669
|
err := service.DeleteDrugCancelStock(idArray)
|
2618
|
2670
|
if err != nil {
|
2619
|
2671
|
this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDeleteFail)
|
|
@@ -2625,7 +2677,7 @@ func (this *StockDrugApiController) DeleteDrugCancelStock() {
|
2625
|
2677
|
}
|
2626
|
2678
|
func (this *StockDrugApiController) DeleteDrugCancelStockInfo() {
|
2627
|
2679
|
id, _ := this.GetInt64("id", 0)
|
2628
|
|
- fmt.Println(id)
|
|
2680
|
+
|
2629
|
2681
|
if id == 0 {
|
2630
|
2682
|
this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
2631
|
2683
|
return
|