XMLWAN 2 лет назад
Родитель
Сommit
6ac2eec983
1 измененных файлов: 11 добавлений и 31 удалений
  1. 11 31
      service/warhouse_service.go

+ 11 - 31
service/warhouse_service.go Просмотреть файл

69
 		drup, _ := FindBaseDrugLibRecord(orgID, advice.DrugId)
69
 		drup, _ := FindBaseDrugLibRecord(orgID, advice.DrugId)
70
 		if drup.ID > 0 {
70
 		if drup.ID > 0 {
71
 			prescribingNumber := advice.PrescribingNumber
71
 			prescribingNumber := advice.PrescribingNumber
72
-			fmt.Println("出库数量233322332233232233223323232我的", advice.PrescribingNumber, advice.PrescribingNumberUnit)
72
+
73
 			DrugDeliverInfo(orgID, prescribingNumber, &out, &drup, advice)
73
 			DrugDeliverInfo(orgID, prescribingNumber, &out, &drup, advice)
74
 
74
 
75
 		} else {
75
 		} else {
122
 		var stockMin int64
122
 		var stockMin int64
123
 		stockMax = lastWarehouse.StockMinNumber / drup.MinNumber
123
 		stockMax = lastWarehouse.StockMinNumber / drup.MinNumber
124
 		stockMin = lastWarehouse.StockMinNumber % drup.MinNumber
124
 		stockMin = lastWarehouse.StockMinNumber % drup.MinNumber
125
-		fmt.Println("stockMax332332332233232", stockMax)
126
-		fmt.Println("stockMax332332332233232", stockMin)
125
+
127
 		ChangeMaxNumber(lastWarehouse.ID, stockMax)
126
 		ChangeMaxNumber(lastWarehouse.ID, stockMax)
128
 		UpdateMinNumber(lastWarehouse.ID, stockMin)
127
 		UpdateMinNumber(lastWarehouse.ID, stockMin)
129
 	}
128
 	}
142
 	//baseInfo, _ := FindBaseDrugLibRecord(advice.UserOrgId, advice.DrugId)
141
 	//baseInfo, _ := FindBaseDrugLibRecord(advice.UserOrgId, advice.DrugId)
143
 
142
 
144
 	// 当库存数量大于或等于出库数量的话,则正常出库该批次
143
 	// 当库存数量大于或等于出库数量的话,则正常出库该批次
145
-	fmt.Println("剩余库存", stock_number)
146
-	fmt.Println("出库数量", deliver_number)
144
+
147
 	if stock_number >= deliver_number {
145
 	if stock_number >= deliver_number {
148
 
146
 
149
 		warehouseOutInfo := &models.DrugWarehouseOutInfo{
147
 		warehouseOutInfo := &models.DrugWarehouseOutInfo{
206
 		errOne := AddSigleDrugWarehouseOutInfo(warehouseOutInfo)
204
 		errOne := AddSigleDrugWarehouseOutInfo(warehouseOutInfo)
207
 		fmt.Println(errOne)
205
 		fmt.Println(errOne)
208
 		//查询是否存在数据
206
 		//查询是否存在数据
209
-		fmt.Println("deliver_number2o222222222222", deliver_number)
207
+
210
 		details := &models.DrugAutomaticReduceDetail{
208
 		details := &models.DrugAutomaticReduceDetail{
211
 			WarehouseOutId:          warehouseout.ID,
209
 			WarehouseOutId:          warehouseout.ID,
212
 			WarehouseOutOrderNumber: warehouseout.WarehouseOutOrderNumber,
210
 			WarehouseOutOrderNumber: warehouseout.WarehouseOutOrderNumber,
245
 			}
243
 			}
246
 		}
244
 		}
247
 
245
 
248
-		fmt.Println("maxNumber", maxNumber)
249
-		fmt.Println("minNumber", minNumber)
250
-
251
 		warehouse.StockMaxNumber = warehouse.StockMaxNumber - maxNumber
246
 		warehouse.StockMaxNumber = warehouse.StockMaxNumber - maxNumber
252
 
247
 
253
 		if warehouse.StockMaxNumber < 0 {
248
 		if warehouse.StockMaxNumber < 0 {
301
 
296
 
302
 		return nil
297
 		return nil
303
 	} else {
298
 	} else {
304
-		fmt.Println("库存数量", stock_number)
299
+
305
 		// 当该批次的库存数量小于出库数量的话,则先把该批次出库完后,再进行递归出库
300
 		// 当该批次的库存数量小于出库数量的话,则先把该批次出库完后,再进行递归出库
306
 		warehouseOutInfo := &models.DrugWarehouseOutInfo{
301
 		warehouseOutInfo := &models.DrugWarehouseOutInfo{
307
 			WarehouseOutOrderNumber: warehouseout.WarehouseOutOrderNumber,
302
 			WarehouseOutOrderNumber: warehouseout.WarehouseOutOrderNumber,
422
 
417
 
423
 		// 清零完该库存后,还有剩余出库未出完,进行对应的递归操作
418
 		// 清零完该库存后,还有剩余出库未出完,进行对应的递归操作
424
 		prescribingNumber_two_temp := deliver_number - stock_number
419
 		prescribingNumber_two_temp := deliver_number - stock_number
425
-		fmt.Println("剩余库存", prescribingNumber_two_temp)
420
+
426
 		overPlusNumber := float64(prescribingNumber_two_temp)
421
 		overPlusNumber := float64(prescribingNumber_two_temp)
427
 
422
 
428
 		advice.PrescribingNumber = float64(prescribingNumber_two_temp)
423
 		advice.PrescribingNumber = float64(prescribingNumber_two_temp)
517
 		deliver_number = count
512
 		deliver_number = count
518
 	}
513
 	}
519
 
514
 
520
-	fmt.Println("c出库数量", deliver_number)
521
-
522
 	var min_price float64
515
 	var min_price float64
523
 
516
 
524
 	if advice.PrescribingNumberUnit == drup.MaxUnit {
517
 	if advice.PrescribingNumberUnit == drup.MaxUnit {
543
 		var stockMin int64
536
 		var stockMin int64
544
 		stockMax = lastWarehouse.StockMinNumber / drup.MinNumber
537
 		stockMax = lastWarehouse.StockMinNumber / drup.MinNumber
545
 		stockMin = lastWarehouse.StockMinNumber % drup.MinNumber
538
 		stockMin = lastWarehouse.StockMinNumber % drup.MinNumber
546
-		fmt.Println("stockMax", stockMax)
547
-		fmt.Println("stockMin", stockMin)
539
+
548
 		ChangeMaxNumber(lastWarehouse.ID, stockMax)
540
 		ChangeMaxNumber(lastWarehouse.ID, stockMax)
549
 		UpdateMinNumber(lastWarehouse.ID, stockMin)
541
 		UpdateMinNumber(lastWarehouse.ID, stockMin)
550
 	}
542
 	}
558
 	// 将该批次的剩余库存数量转换为拆零数量
550
 	// 将该批次的剩余库存数量转换为拆零数量
559
 
551
 
560
 	stock_number = warehouse.StockMaxNumber*drup.MinNumber + warehouse.StockMinNumber
552
 	stock_number = warehouse.StockMaxNumber*drup.MinNumber + warehouse.StockMinNumber
561
-	fmt.Println("查询剩余库存", stock_number)
562
 
553
 
563
 	// 当库存数量大于或等于出库数量的话,则正常出库该批次
554
 	// 当库存数量大于或等于出库数量的话,则正常出库该批次
564
 	if stock_number >= deliver_number {
555
 	if stock_number >= deliver_number {
664
 				return errors.New("库存数量不足")
655
 				return errors.New("库存数量不足")
665
 			}
656
 			}
666
 		}
657
 		}
667
-		fmt.Println("查询库存", warehouse.StockMaxNumber)
668
-		fmt.Println("扣减库存我的", maxNumber)
658
+
669
 		warehouse.StockMaxNumber = warehouse.StockMaxNumber - maxNumber
659
 		warehouse.StockMaxNumber = warehouse.StockMaxNumber - maxNumber
670
-		fmt.Println("剩余库存我的", warehouse.StockMaxNumber)
671
 
660
 
672
 		if warehouse.StockMaxNumber < 0 {
661
 		if warehouse.StockMaxNumber < 0 {
673
 			warehouse.StockMaxNumber = 0
662
 			warehouse.StockMaxNumber = 0
4985
 		}
4974
 		}
4986
 		// 清零完该库存后,还有剩余出库未出完,进行对应的递归操作
4975
 		// 清零完该库存后,还有剩余出库未出完,进行对应的递归操作
4987
 		prescribingNumber_two_temp := deliver_number - stock_number
4976
 		prescribingNumber_two_temp := deliver_number - stock_number
4988
-		fmt.Println("深谷数据", prescribingNumber_two_temp)
4977
+
4989
 		advice.CountUnit = drup.MinUnit
4978
 		advice.CountUnit = drup.MinUnit
4990
 
4979
 
4991
 		AutoDrugDeliverInfoTwentyOne(orgID, prescribingNumber_two_temp, warehouseout, drup, advice)
4980
 		AutoDrugDeliverInfoTwentyOne(orgID, prescribingNumber_two_temp, warehouseout, drup, advice)
5172
 // 药品手动出库 递归方式
5161
 // 药品手动出库 递归方式
5173
 func AutoDrugDeliverInfoFourtyOne(orgID int64, prescribingNumber int64, warehouseout *models.DrugWarehouseOut, drup *models.BaseDrugLib, advice *models.DrugWarehouseOutInfo) (err error) {
5162
 func AutoDrugDeliverInfoFourtyOne(orgID int64, prescribingNumber int64, warehouseout *models.DrugWarehouseOut, drup *models.BaseDrugLib, advice *models.DrugWarehouseOutInfo) (err error) {
5174
 	//开事务
5163
 	//开事务
5175
-	//tx := XTWriteDB().Begin()
5176
 	// 判断处方里药品单位是拆零单位还是包装单位,	如果是包装单位,则根据规格,将包装数量转为拆零数量
5164
 	// 判断处方里药品单位是拆零单位还是包装单位,	如果是包装单位,则根据规格,将包装数量转为拆零数量
5177
 	var deliver_number int64 = 0
5165
 	var deliver_number int64 = 0
5178
 	var stock_number int64 = 0
5166
 	var stock_number int64 = 0
5179
-	//fmt.Println("出库数量",prescribingNumber)
5180
-	//fmt.Println("出库数量",drup.MinNumber)
5181
-	//fmt.Println("dnaeiw",advice.CountUnit)
5182
-	//if advice.CountUnit == drup.MaxUnit {
5183
-	//  deliver_number = prescribingNumber * drup.MinNumber
5184
-	//} else {
5167
+
5185
 	deliver_number = prescribingNumber
5168
 	deliver_number = prescribingNumber
5186
-	//}
5187
-	//fmt.Println("出库数量2323223323232322323232323",deliver_number)
5188
-	// 根据先进先出原则,查询最先入库的批次,进行出库
5189
-	// 如果没有对应的库存,则报错
5169
+
5190
 	//开启事物
5170
 	//开启事物
5191
 	lastWarehouse, _ := FindLastDrugWarehousingInfoByID(advice.DrugId, warehouseout.StorehouseId)
5171
 	lastWarehouse, _ := FindLastDrugWarehousingInfoByID(advice.DrugId, warehouseout.StorehouseId)
5192
 	if lastWarehouse.StockMinNumber >= drup.MinNumber {
5172
 	if lastWarehouse.StockMinNumber >= drup.MinNumber {