Selaa lähdekoodia

11月8日库存管理

XMLWAN 3 vuotta sitten
vanhempi
commit
afe63bd331
2 muutettua tiedostoa jossa 61 lisäystä ja 5 poistoa
  1. 31 4
      controllers/supply_order_api_contorller.go
  2. 30 1
      service/supply_service.go

+ 31 - 4
controllers/supply_order_api_contorller.go Näytä tiedosto

@@ -3261,22 +3261,49 @@ func (this *SupplyOrderApiController) ModefyReturnOrder() {
3261 3261
 		for _, item := range list {
3262 3262
 
3263 3263
 			//药品
3264
-			if item.IsSource == 2 {
3265
-
3264
+			if item.IsSource == 1 {
3265
+				base, _ := service.GetDrugDetailByDrugId(item.ProjectId)
3266
+				//更改库存
3267
+				if item.SupplyUnit == base.MaxUnit {
3268
+					//退库
3269
+					drugInfo := models.DrugWarehouseInfo{
3270
+						StockMaxNumber: item.Count,
3271
+					}
3272
+					service.UpdateDrugWasehousring(item.ProjectId, item.SupplyWarehouseDetailInfo, drugInfo)
3273
+				}
3274
+				if item.SupplyType == base.MinUnit {
3275
+					drugInfo := models.DrugWarehouseInfo{
3276
+						StockMinNumber: item.Count,
3277
+					}
3278
+					service.UpdateDrugWasehousringOne(item.ProjectId, item.SupplyWarehouseDetailInfo, drugInfo)
3279
+				}
3280
+				//删除流水
3281
+				service.DeleteDrugWarehouseOutNight(item.ProjectId, item.WarehouseCancelId)
3266 3282
 			}
3267 3283
 			//耗材
3268
-			if item.IsSource == 1 {
3284
+			if item.IsSource == 2 {
3269 3285
 
3270 3286
 				//退库
3271 3287
 				info := models.WarehousingInfo{
3272 3288
 					StockCount: item.Count,
3273 3289
 				}
3274 3290
 				//更改库存
3275
-				err := service.UpdateWarehousingInfoById(item.ProjectId, item.WarehouseInfoId, info)
3291
+				err := service.UpdateWarehousingInfoById(item.ProjectId, item.SupplyWarehouseDetailInfo, info)
3292
+				//删除出库记录
3293
+				service.DeleteGoodWarehouseOut(item.ProjectId, item.WarehouseCancelId)
3276 3294
 				fmt.Println(err)
3277 3295
 			}
3278 3296
 		}
3279 3297
 	} else {
3280 3298
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
3281 3299
 	}
3300
+
3301
+	if err == nil {
3302
+		returnData := make(map[string]interface{}, 0)
3303
+		returnData["msg"] = "ok"
3304
+		this.ServeSuccessJSON(returnData)
3305
+		return
3306
+	} else {
3307
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
3308
+	}
3282 3309
 }

+ 30 - 1
service/supply_service.go Näytä tiedosto

@@ -928,6 +928,35 @@ func ModefyReturnOrder(id int64) error {
928 928
 
929 929
 func UpdateWarehousingInfoById(goodid int64, supply_warehouse_id int64, info models.WarehousingInfo) error {
930 930
 
931
-	err := XTWriteDB().Where("good_id = ? and supply_warehouse_id = ? and status = 1", goodid, supply_warehouse_id).UpdateColumn("stock_count", gorm.Expr("stock_count - ?", info.StockCount)).Error
931
+	err := XTWriteDB().Model(&info).Where("good_id = ? and supply_warehouse_detail_info = ? and status = 1", goodid, supply_warehouse_id).UpdateColumn("stock_count", gorm.Expr("stock_count - ?", info.StockCount)).Error
932
+	return err
933
+}
934
+
935
+func DeleteGoodWarehouseOut(goodid int64, supply_warehouse_id int64) error {
936
+
937
+	err := XTWriteDB().Model(&models.WarehouseOutInfo{}).Where("good_id = ? and supply_cancel_out_id = ? and status = 1", goodid, supply_warehouse_id).Updates(map[string]interface{}{"status": 0}).Error
938
+
939
+	err = XTWriteDB().Model(&models.VmStockFlow{}).Where("good_id = ? and supply_cancel_out_id = ? and status = 1", goodid, supply_warehouse_id).Updates(map[string]interface{}{"status": 0}).Error
940
+
941
+	return err
942
+}
943
+func UpdateDrugWasehousring(goodid int64, supply_warehouse_id int64, info models.DrugWarehouseInfo) error {
944
+
945
+	err := XTWriteDB().Model(&info).Where("good_id = ? and supply_cancel_out_id = ? and status = 1", goodid, supply_warehouse_id).UpdateColumn("stock_max_number", gorm.Expr("stock_max_number - ?", info.StockMaxNumber)).Error
946
+	return err
947
+}
948
+
949
+func UpdateDrugWasehousringOne(goodid int64, supply_warehouse_id int64, info models.DrugWarehouseInfo) error {
950
+
951
+	err := XTWriteDB().Model(&info).Where("good_id = ? and supply_cancel_out_id = ? and status = 1", goodid, supply_warehouse_id).UpdateColumn("stock_min_number", gorm.Expr("stock_min_number - ?", info.StockMinNumber)).Error
952
+	return err
953
+}
954
+
955
+func DeleteDrugWarehouseOutNight(goodid int64, supply_warehouse_id int64) error {
956
+
957
+	err := XTWriteDB().Model(&models.DrugWarehouseOutInfo{}).Where("good_id = ? and supply_cancel_out_id = ? and status = 1", goodid, supply_warehouse_id).Updates(map[string]interface{}{"status": 0}).Error
958
+
959
+	err = XTWriteDB().Model(&models.DrugFlow{}).Where("good_id = ? and supply_cancel_out_id = ? and status = 1", goodid, supply_warehouse_id).Updates(map[string]interface{}{"status": 0}).Error
960
+
932 961
 	return err
933 962
 }