public async Task <ActionResult> CollectDeadstock([FromBody] CollectDeadstockRequest _model) { string link = URI_API.LIVESTOCK_PROCEED_COLLECT_DEADSTOCK; ResponseConsult <int> response = await PostAsJsonAsync <int>(link, _model); return(Ok(response)); }
public async Task <int> CollectDeadstock(CollectDeadstockRequest _model) { if (_model.FishPondWarehouseId <= 0) { scopeContext.AddError("Chưa chọn ao"); return(0); } if (_model.MassAmount <= 0) { scopeContext.AddError("Tổng trọng lượng không đúng"); return(0); } if (_model.Ratio <= 0) { scopeContext.AddError("Tỷ lệ không đúng"); return(0); } // dữ liệu ao var thisFishPond = await svcFishPond.GetByWarehouseId(_model.FishPondWarehouseId); if (thisFishPond == null) { scopeContext.AddError("Lỗi dữ liệu kho-ao " + _model.FishPondWarehouseId); return(0); } // đợt nuôi var thisFarmingSeason = await svcFarmingSeason.GetByFishPondId(thisFishPond.Id); if (thisFarmingSeason == null) { scopeContext.AddError("Ao này chưa vào đợt nuôi"); return(0); } // dữ liệu kho-ao var thisFishPondWarehouse = await svcWarehouse.GetDetail(_model.FishPondWarehouseId); if (thisFishPondWarehouse == null || thisFishPondWarehouse.DefaultWarehouseId <= 0) { scopeContext.AddError("Lỗi dữ liệu kho mặc định cho ao"); return(0); } _model.CollectDate = _model.CollectDate.GetValueOrDefault(DateTime.UtcNow); if (_model.DeadstockId <= 0) { scopeContext.AddError("Mã giống nuôi không tồn tại"); return(0); } var deadstock = await svcProduct.GetDetail(_model.DeadstockId); if (deadstock == null) { scopeContext.AddError("Mã giống nuôi không tồn tại"); return(0); } var lastFCR = await svcFeedConversionRate.GetLast(thisFarmingSeason.Id, _model.DeadstockId); if (lastFCR == null) { scopeContext.AddError("Ao không có đợt thả nào cho giống nuôi này"); return(0); } if (lastFCR.SurveyDate.Date >= _model.CollectDate.Value.Date) { scopeContext.AddError($"Ngày {_model.CollectDate.Value.ToString("dd/MM/yyyy")} đã được kiểm tra cân trọng"); return(0); } // bắt đầu tạo phiếu using (var transaction = context.Database.BeginTransaction()) { try { // Lịch sử đợt nuôi (master lịch sử ao nuôi) FarmingSeasonHistory history = new FarmingSeasonHistory(); history.ActionDate = _model.CollectDate.Value; history.ActionType = (int)SystemIDEnum.FarmingSeason_ActionType_Collect_Deadstock; history.Description = "Kiểm cá chết"; history.FarmingSeasonId = thisFarmingSeason.Id; history.Id = await svcFarmingSeasonHistory.Add(history); // Lịch sử con giống (detail lịch sử ao nuôi) LivestockHistoryDetail historyDetail = new LivestockHistoryDetail(); historyDetail.HistoryId = history.Id; historyDetail.LivestockId = _model.DeadstockId; historyDetail.MassAmount = _model.MassAmount; // kg historyDetail.DeadstockRatio = _model.Ratio; // Tỷ lệ dùng tính toán số lượng khi kiểm trọng historyDetail.Id = await svcLivestockHistoryDetail.Add(historyDetail); transaction.Commit(); return(history.Id); } catch { transaction.Rollback(); return(0); } } }
public async Task <IActionResult> CollectDeadstock([FromBody] CollectDeadstockRequest _model) { var result = await busLivestockProcess.CollectDeadstock(_model); return(Ok(context.WrapResponse(result))); }