diff --git a/BBWY.Client/Models/FinancialTerminal/ProcurementAudit/AuditPayBill.cs b/BBWY.Client/Models/FinancialTerminal/ProcurementAudit/AuditPayBill.cs index 7f46418d..0fb4c06d 100644 --- a/BBWY.Client/Models/FinancialTerminal/ProcurementAudit/AuditPayBill.cs +++ b/BBWY.Client/Models/FinancialTerminal/ProcurementAudit/AuditPayBill.cs @@ -6,6 +6,12 @@ namespace BBWY.Client.Models { private AuditCapitalType? auditCapitalType; private string errorMessage; + + /// + /// 是否发生过变化 + /// + public bool IsChanged { get; set; } + /// /// 账单流水号 /// @@ -87,7 +93,11 @@ namespace BBWY.Client.Models { Set(ref auditCapitalType, value); if (value != null) + { + IsChanged = true; ErrorMessage = string.Empty; + } + } } diff --git a/BBWY.Client/ViewModels/FinancialTerminal/ProcurementAuditViewModel.cs b/BBWY.Client/ViewModels/FinancialTerminal/ProcurementAuditViewModel.cs index a353eb2f..2b5ccb84 100644 --- a/BBWY.Client/ViewModels/FinancialTerminal/ProcurementAuditViewModel.cs +++ b/BBWY.Client/ViewModels/FinancialTerminal/ProcurementAuditViewModel.cs @@ -221,6 +221,8 @@ namespace BBWY.Client.ViewModels foreach (var payBill in AuditPayBillList) { + payBill.IsChanged = true; + payBill.ErrorMessage = string.Empty; #region 按日累计拼多多账单金额 @@ -263,10 +265,22 @@ namespace BBWY.Client.ViewModels payBill.BelongShop = shopList.FirstOrDefault(s => s.ShopId == relationPurchaseOrder.ShopId)?.ShopName; payBill.PurchasePlatform = relationPurchaseOrder.PurchasePlatform; payBill.OrderStartTime = relationPurchaseOrder.OrderStartTime; + + if (payBill.IncomeAmount > 0) - payBill.AuditCapitalType = AuditCapitalType.当月商品退款; + { + if (payBill.PayTime.Value.Month == relationPurchaseOrder.OrderStartTime.Value.Month) + payBill.AuditCapitalType = AuditCapitalType.当月商品退款; + else + payBill.AuditCapitalType = AuditCapitalType.上月商品退款; + } else - payBill.AuditCapitalType = AuditCapitalType.当月商品采购; + { + if (payBill.PayTime.Value.Month == relationPurchaseOrder.OrderStartTime.Value.Month) + payBill.AuditCapitalType = AuditCapitalType.当月商品采购; + else + payBill.AuditCapitalType = AuditCapitalType.上月商品采购; + } #endregion } @@ -484,6 +498,14 @@ namespace BBWY.Client.ViewModels MessageBox.Show("没有需要保存的数据", "提示"); return; } + + var saveList = ShowAuditPayBillList.Where(p => p.IsChanged).ToList(); + if (saveList.Count == 0) + { + MessageBox.Show("没有需要保存的账单"); + return; + } + var importShopIds = string.Join(',', SelectedDepartment.ShopList.Where(s => s.IsSelected).Select(s => s.ShopId)); var replaceResponse = financialTerminalService.IsExistAuditPayBill(importShopIds, StartDate, EndDate); @@ -502,7 +524,7 @@ namespace BBWY.Client.ViewModels foreach (var bill in ShowAuditPayBillList) bill.ImportShopIds = importShopIds; - Task.Factory.StartNew(() => financialTerminalService.BatchInsertAuditPayBill(ShowAuditPayBillList)).ContinueWith(t => + Task.Factory.StartNew(() => financialTerminalService.BatchInsertAuditPayBill(saveList)).ContinueWith(t => { IsLoading = false; var insertResponse = t.Result; diff --git a/BBWY.Client/Views/FinancialTerminal/ProcurementAudit.xaml b/BBWY.Client/Views/FinancialTerminal/ProcurementAudit.xaml index b32e0133..d706e886 100644 --- a/BBWY.Client/Views/FinancialTerminal/ProcurementAudit.xaml +++ b/BBWY.Client/Views/FinancialTerminal/ProcurementAudit.xaml @@ -190,7 +190,14 @@ BorderBrush="{StaticResource Border.Brush}" VirtualizingPanel.IsVirtualizing="True"> - + + + + + + + @@ -216,8 +223,22 @@ - - + + + + + + + + + + + + + + diff --git a/BBWY.Server.Business/FinancialTerminal/FinancialTerminalBusiness.cs b/BBWY.Server.Business/FinancialTerminal/FinancialTerminalBusiness.cs index 8c0e0730..3b27b775 100644 --- a/BBWY.Server.Business/FinancialTerminal/FinancialTerminalBusiness.cs +++ b/BBWY.Server.Business/FinancialTerminal/FinancialTerminalBusiness.cs @@ -34,16 +34,18 @@ namespace BBWY.Server.Business { if (insertList == null || insertList.Count == 0) throw new BusinessException("数据不全"); - var importShopIds = insertList[0].ImportShopIds; - var startTime = insertList.Min(abp => abp.PayTime).Value; - var endTime = insertList.Max(abp => abp.PayTime).Value; + //var importShopIds = insertList[0].ImportShopIds; + //var startTime = insertList.Min(abp => abp.PayTime).Value; + //var endTime = insertList.Max(abp => abp.PayTime).Value; + var deleteIds = insertList.Select(p => p.PayBillNo).ToArray(); fsql.Transaction(() => { - fsql.Delete().Where(apb => apb.ImportShopIds == importShopIds && - apb.PayTime >= startTime && - apb.PayTime <= endTime).ExecuteAffrows(); + fsql.Delete(deleteIds).ExecuteAffrows(); + //fsql.Delete().Where(apb => apb.ImportShopIds == importShopIds && + // apb.PayTime >= startTime && + // apb.PayTime <= endTime).ExecuteAffrows(); fsql.Insert(insertList).ExecuteAffrows(); }); }