更新交易确认书生成逻辑,过滤待确认和审批中的交易状态,调整交易状态下拉选项
This commit is contained in:
@@ -217,7 +217,7 @@ namespace YLErp.Modules.TradeModule.DealModule
|
||||
|
||||
var trades = DbContext.trade.Where(x => tradeIds.Contains(x.id)).AsNoTracking().ToList();
|
||||
logger.Info($"[GJGenerateConfirmBook] 查询到交易记录数: {trades.Count}");
|
||||
|
||||
|
||||
if (!trades.Any())
|
||||
{
|
||||
logger.Info("[GJGenerateConfirmBook] 未找到交易记录,直接返回");
|
||||
@@ -225,7 +225,26 @@ namespace YLErp.Modules.TradeModule.DealModule
|
||||
files = new List<string>();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// 过滤掉待确认和审批中的交易,这些状态不允许生成确认书
|
||||
var invalidStatusList = new List<string> { ConsTrade.新增待确认, ConsTrade.修改待确认, ConsTrade.审批中 };
|
||||
var invalidTrades = trades.Where(t => invalidStatusList.Contains(t.TradeStatus)).ToList();
|
||||
if (invalidTrades.Any())
|
||||
{
|
||||
error.AddRange(invalidTrades.Select(t => $"交易 {t.TradeNumber} 状态为【{t.TradeStatus}】,不能生成确认书"));
|
||||
tradeIds = tradeIds.Where(id => !invalidTrades.Any(t => t.id == id)).ToList();
|
||||
trades = trades.Where(t => !invalidTrades.Any(it => it.id == t.id)).ToList();
|
||||
logger.Info($"[GJGenerateConfirmBook] 过滤掉 {invalidTrades.Count} 笔待确认/审批中交易");
|
||||
}
|
||||
|
||||
if (!trades.Any())
|
||||
{
|
||||
logger.Info("[GJGenerateConfirmBook] 过滤后无有效交易可生成确认书");
|
||||
errors = error;
|
||||
files = new List<string>();
|
||||
return false;
|
||||
}
|
||||
|
||||
var clientIds = trades.Select(x => x.ClientId).Distinct().ToList();
|
||||
logger.Info($"[GJGenerateConfirmBook] 客户ID数: {clientIds.Count}");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user