|
@ -9,6 +9,8 @@ using System.Collections.ObjectModel; |
|
|
using System.IO; |
|
|
using System.IO; |
|
|
using System.Linq; |
|
|
using System.Linq; |
|
|
using System.Text; |
|
|
using System.Text; |
|
|
|
|
|
using System.Threading; |
|
|
|
|
|
using System.Threading.Tasks; |
|
|
using System.Windows; |
|
|
using System.Windows; |
|
|
using System.Windows.Input; |
|
|
using System.Windows.Input; |
|
|
|
|
|
|
|
@ -17,6 +19,12 @@ namespace BBWY.Client.ViewModels |
|
|
public class ProcurementAuditViewModel : BaseVM, IDenpendency |
|
|
public class ProcurementAuditViewModel : BaseVM, IDenpendency |
|
|
{ |
|
|
{ |
|
|
private AuditFile selectAuditFile; |
|
|
private AuditFile selectAuditFile; |
|
|
|
|
|
private bool isLoading; |
|
|
|
|
|
private bool isAudited; |
|
|
|
|
|
private bool isShowPayBillPanel; |
|
|
|
|
|
private bool isShowPurchaseOrderPanel; |
|
|
|
|
|
private bool isShowShopOrderPanel; |
|
|
|
|
|
private bool onlyException; |
|
|
|
|
|
|
|
|
public IList<AuditFile> AuditFileList { get; set; } |
|
|
public IList<AuditFile> AuditFileList { get; set; } |
|
|
|
|
|
|
|
@ -32,7 +40,69 @@ namespace BBWY.Client.ViewModels |
|
|
|
|
|
|
|
|
public IList<AuditShopOrder> ShowAuditShopOrderList { get; set; } |
|
|
public IList<AuditShopOrder> ShowAuditShopOrderList { get; set; } |
|
|
|
|
|
|
|
|
public AuditFile SelectAuditFile { get => selectAuditFile; set { Set(ref selectAuditFile, value); } } |
|
|
public AuditFile SelectAuditFile |
|
|
|
|
|
{ |
|
|
|
|
|
get => selectAuditFile; set |
|
|
|
|
|
{ |
|
|
|
|
|
if (Set(ref selectAuditFile, value)) |
|
|
|
|
|
OnSelectAuditFileChanged(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } } |
|
|
|
|
|
public bool IsAudited { get => isAudited; set { Set(ref isAudited, value); } } |
|
|
|
|
|
|
|
|
|
|
|
public bool IsShowPayBillPanel |
|
|
|
|
|
{ |
|
|
|
|
|
get => isShowPayBillPanel; set |
|
|
|
|
|
{ |
|
|
|
|
|
if (Set(ref isShowPayBillPanel, value)) |
|
|
|
|
|
{ |
|
|
|
|
|
if (value) |
|
|
|
|
|
{ |
|
|
|
|
|
IsShowPurchaseOrderPanel = false; |
|
|
|
|
|
IsShowShopOrderPanel = false; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
public bool IsShowPurchaseOrderPanel |
|
|
|
|
|
{ |
|
|
|
|
|
get => isShowPurchaseOrderPanel; set |
|
|
|
|
|
{ |
|
|
|
|
|
if (Set(ref isShowPurchaseOrderPanel, value)) |
|
|
|
|
|
{ |
|
|
|
|
|
if (value) |
|
|
|
|
|
{ |
|
|
|
|
|
IsShowPayBillPanel = false; |
|
|
|
|
|
IsShowShopOrderPanel = false; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
public bool IsShowShopOrderPanel |
|
|
|
|
|
{ |
|
|
|
|
|
get => isShowShopOrderPanel; set |
|
|
|
|
|
{ |
|
|
|
|
|
if (Set(ref isShowShopOrderPanel, value)) |
|
|
|
|
|
{ |
|
|
|
|
|
if (value) |
|
|
|
|
|
{ |
|
|
|
|
|
IsShowPayBillPanel = false; |
|
|
|
|
|
IsShowPurchaseOrderPanel = false; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public bool OnlyException |
|
|
|
|
|
{ |
|
|
|
|
|
get => onlyException; set |
|
|
|
|
|
{ |
|
|
|
|
|
if (Set(ref onlyException, value)) |
|
|
|
|
|
OnOnlyExceptionChanged(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
public ICommand AuditCommand { get; set; } |
|
|
public ICommand AuditCommand { get; set; } |
|
|
|
|
|
|
|
@ -40,16 +110,10 @@ namespace BBWY.Client.ViewModels |
|
|
|
|
|
|
|
|
public ICommand ImportAliPayBillCommand { get; set; } |
|
|
public ICommand ImportAliPayBillCommand { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public ICommand Import1688PurchaseOrderCommand { get; set; } |
|
|
public ICommand Import1688PurchaseOrderCommand { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public ICommand ImportJDShopOrderCommand { get; set; } |
|
|
public ICommand ImportJDShopOrderCommand { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public ProcurementAuditViewModel() |
|
|
public ProcurementAuditViewModel() |
|
|
{ |
|
|
{ |
|
|
AuditFileList = new ObservableCollection<AuditFile>(); |
|
|
AuditFileList = new ObservableCollection<AuditFile>(); |
|
@ -64,9 +128,9 @@ namespace BBWY.Client.ViewModels |
|
|
ImportJDShopOrderCommand = new RelayCommand(ImportJDShopOrder); |
|
|
ImportJDShopOrderCommand = new RelayCommand(ImportJDShopOrder); |
|
|
|
|
|
|
|
|
AuditFileList = new ObservableCollection<AuditFile>(); |
|
|
AuditFileList = new ObservableCollection<AuditFile>(); |
|
|
AuditPayBillList = new ObservableCollection<AuditPayBill>(); |
|
|
AuditPayBillList = new List<AuditPayBill>(); |
|
|
AuditPurchaseOrderList = new ObservableCollection<AuditPurchaseOrder>(); |
|
|
AuditPurchaseOrderList = new List<AuditPurchaseOrder>(); |
|
|
AuditShopOrderList = new ObservableCollection<AuditShopOrder>(); |
|
|
AuditShopOrderList = new List<AuditShopOrder>(); |
|
|
ShowAuditPayBillList = new ObservableCollection<AuditPayBill>(); |
|
|
ShowAuditPayBillList = new ObservableCollection<AuditPayBill>(); |
|
|
ShowAuditPurchaseOrderList = new ObservableCollection<AuditPurchaseOrder>(); |
|
|
ShowAuditPurchaseOrderList = new ObservableCollection<AuditPurchaseOrder>(); |
|
|
ShowAuditShopOrderList = new ObservableCollection<AuditShopOrder>(); |
|
|
ShowAuditShopOrderList = new ObservableCollection<AuditShopOrder>(); |
|
@ -79,6 +143,8 @@ namespace BBWY.Client.ViewModels |
|
|
|
|
|
|
|
|
private void Audit() |
|
|
private void Audit() |
|
|
{ |
|
|
{ |
|
|
|
|
|
if (IsLoading) |
|
|
|
|
|
return; |
|
|
if (AuditPayBillList.Count() == 0 || |
|
|
if (AuditPayBillList.Count() == 0 || |
|
|
AuditPurchaseOrderList.Count() == 0 || |
|
|
AuditPurchaseOrderList.Count() == 0 || |
|
|
AuditShopOrderList.Count() == 0) |
|
|
AuditShopOrderList.Count() == 0) |
|
@ -87,18 +153,124 @@ namespace BBWY.Client.ViewModels |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
AuditByPayBill(); |
|
|
var waitList = new List<EventWaitHandle>() |
|
|
AuditByPurchaseOrder(); |
|
|
{ |
|
|
} |
|
|
new ManualResetEvent(false), |
|
|
|
|
|
new ManualResetEvent(false) |
|
|
|
|
|
}; |
|
|
|
|
|
IsLoading = true; |
|
|
|
|
|
Task.Factory.StartNew(() => |
|
|
|
|
|
{ |
|
|
|
|
|
AuditByPayBill(waitList[0]); |
|
|
|
|
|
AuditByPurchaseOrder(waitList[1]); |
|
|
|
|
|
}).ContinueWith(t => |
|
|
|
|
|
{ |
|
|
|
|
|
WaitHandle.WaitAll(waitList.ToArray(), -1); |
|
|
|
|
|
IsLoading = false; |
|
|
|
|
|
IsAudited = true; |
|
|
|
|
|
|
|
|
private void AuditByPayBill() |
|
|
App.Current.Dispatcher.BeginInvoke((Action)delegate |
|
|
{ |
|
|
{ |
|
|
|
|
|
SelectAuditFile = AuditFileList.FirstOrDefault(f => f.AuditFileType == AuditFileType.账单); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void AuditByPurchaseOrder() |
|
|
private void AuditByPayBill(EventWaitHandle ewh) |
|
|
{ |
|
|
{ |
|
|
|
|
|
try |
|
|
|
|
|
{ |
|
|
|
|
|
foreach (var payBill in AuditPayBillList) |
|
|
|
|
|
{ |
|
|
|
|
|
#region 匹配采购单
|
|
|
|
|
|
var relationPurchaseOrder = AuditPurchaseOrderList.FirstOrDefault(p => p.PurchaseOrderId == payBill.MerchantOrderNo); |
|
|
|
|
|
if (relationPurchaseOrder == null) |
|
|
|
|
|
{ |
|
|
|
|
|
//未通过商户订单号找到采购单,则通过账单金额和日期匹配
|
|
|
|
|
|
relationPurchaseOrder = AuditPurchaseOrderList.FirstOrDefault(p => p.PayAmount == payBill.ExpenditureAmount && |
|
|
|
|
|
p.PayTime != null && payBill.PayTime != null && |
|
|
|
|
|
Math.Abs((payBill.PayTime.Value - p.PayTime.Value).TotalSeconds) <= 60); |
|
|
|
|
|
} |
|
|
|
|
|
if (relationPurchaseOrder == null) |
|
|
|
|
|
{ |
|
|
|
|
|
payBill.ErrorMessage = "未匹配采购单"; |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
payBill.RelationPurchaseOrderId = relationPurchaseOrder.PurchaseOrderId; |
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 匹配销售订单
|
|
|
|
|
|
var relationShopOrder = AuditShopOrderList.FirstOrDefault(o => (!string.IsNullOrEmpty(o.VenderRemark) && o.VenderRemark.Contains(relationPurchaseOrder.PurchaseOrderId)) || |
|
|
|
|
|
(o.Phone == relationPurchaseOrder.Phone && |
|
|
|
|
|
o.ContactName == relationPurchaseOrder.ContactName && |
|
|
|
|
|
o.PayTime != null && relationPurchaseOrder.PayTime != null && |
|
|
|
|
|
(relationPurchaseOrder.PayTime.Value - o.PayTime.Value).TotalDays <= 2)); |
|
|
|
|
|
if (relationShopOrder == null) |
|
|
|
|
|
{ |
|
|
|
|
|
payBill.ErrorMessage = "未匹配销售订单"; |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
payBill.RelationShopOrderId = relationShopOrder.OrderId; |
|
|
|
|
|
#endregion
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
catch (Exception ex) |
|
|
|
|
|
{ |
|
|
|
|
|
App.Current.Dispatcher.Invoke(() => MessageBox.Show(ex.Message, "账单匹配")); |
|
|
|
|
|
} |
|
|
|
|
|
finally |
|
|
|
|
|
{ |
|
|
|
|
|
ewh.Set(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void AuditByPurchaseOrder(EventWaitHandle ewh) |
|
|
|
|
|
{ |
|
|
|
|
|
try |
|
|
|
|
|
{ |
|
|
|
|
|
foreach (var purchaseOrder in AuditPurchaseOrderList) |
|
|
|
|
|
{ |
|
|
|
|
|
#region 匹配账单
|
|
|
|
|
|
var relationPayBill = AuditPayBillList.FirstOrDefault(b => b.MerchantOrderNo == purchaseOrder.PurchaseOrderId); |
|
|
|
|
|
if (relationPayBill == null) |
|
|
|
|
|
{ |
|
|
|
|
|
//未通过商户订单号找到采购单,则通过账单金额和日期匹配
|
|
|
|
|
|
relationPayBill = AuditPayBillList.FirstOrDefault(b => purchaseOrder.PayAmount == b.ExpenditureAmount && |
|
|
|
|
|
purchaseOrder.PayTime != null && b.PayTime != null && |
|
|
|
|
|
Math.Abs((b.PayTime.Value - purchaseOrder.PayTime.Value).TotalSeconds) <= 60); |
|
|
|
|
|
} |
|
|
|
|
|
if (relationPayBill == null) |
|
|
|
|
|
{ |
|
|
|
|
|
purchaseOrder.ErrorMessage = "未匹配支付账单"; |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
purchaseOrder.RelationPayBillNo = relationPayBill.PayBillNo; |
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 匹配销售单
|
|
|
|
|
|
var relationShopOrder = AuditShopOrderList.FirstOrDefault(o => (!string.IsNullOrEmpty(o.VenderRemark) && o.VenderRemark.Contains(purchaseOrder.PurchaseOrderId)) || |
|
|
|
|
|
(o.Phone == purchaseOrder.Phone && |
|
|
|
|
|
o.ContactName == purchaseOrder.ContactName && |
|
|
|
|
|
o.PayTime != null && purchaseOrder.PayTime != null && |
|
|
|
|
|
(purchaseOrder.PayTime.Value - o.PayTime.Value).TotalDays <= 2)); |
|
|
|
|
|
if (relationShopOrder == null) |
|
|
|
|
|
{ |
|
|
|
|
|
purchaseOrder.ErrorMessage = "未匹配销售订单"; |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
purchaseOrder.RelationShopOrderId = relationShopOrder.OrderId; |
|
|
|
|
|
#endregion
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
catch (Exception ex) |
|
|
|
|
|
{ |
|
|
|
|
|
App.Current.Dispatcher.Invoke(() => MessageBox.Show(ex.Message, "采购单匹配")); |
|
|
|
|
|
} |
|
|
|
|
|
finally |
|
|
|
|
|
{ |
|
|
|
|
|
ewh.Set(); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void ClearAudit() |
|
|
private void ClearAudit() |
|
@ -111,6 +283,11 @@ namespace BBWY.Client.ViewModels |
|
|
ShowAuditPayBillList.Clear(); |
|
|
ShowAuditPayBillList.Clear(); |
|
|
ShowAuditPurchaseOrderList.Clear(); |
|
|
ShowAuditPurchaseOrderList.Clear(); |
|
|
ShowAuditShopOrderList.Clear(); |
|
|
ShowAuditShopOrderList.Clear(); |
|
|
|
|
|
IsAudited = false; |
|
|
|
|
|
IsShowPayBillPanel = false; |
|
|
|
|
|
IsShowPurchaseOrderPanel = false; |
|
|
|
|
|
IsShowShopOrderPanel = false; |
|
|
|
|
|
OnlyException = false; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private (string ErrorMessage, string FileName, IList<string> Lines) ImportAuditFile(AuditFileType auditFileType) |
|
|
private (string ErrorMessage, string FileName, IList<string> Lines) ImportAuditFile(AuditFileType auditFileType) |
|
@ -145,6 +322,8 @@ namespace BBWY.Client.ViewModels |
|
|
MessageBox.Show(importResult.ErrorMessage, "导入支付宝账单"); |
|
|
MessageBox.Show(importResult.ErrorMessage, "导入支付宝账单"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
if (importResult.Lines == null || importResult.Lines.Count() == 0) |
|
|
|
|
|
return; |
|
|
//忽略前5行
|
|
|
//忽略前5行
|
|
|
/* |
|
|
/* |
|
|
#支付宝账务明细查询 |
|
|
#支付宝账务明细查询 |
|
@ -174,7 +353,10 @@ namespace BBWY.Client.ViewModels |
|
|
foreach (var line in importResult.Lines) |
|
|
foreach (var line in importResult.Lines) |
|
|
{ |
|
|
{ |
|
|
var array = line.CSVstrToArry(); |
|
|
var array = line.CSVstrToArry(); |
|
|
payBillNo = array[0].Replace("\"", string.Empty).Replace("\t", string.Empty).Trim(); |
|
|
var expenditureAmount = decimal.Parse(array[7].FormatString()); |
|
|
|
|
|
if (expenditureAmount == 0) //支出为0的账单不参与审计
|
|
|
|
|
|
continue; |
|
|
|
|
|
payBillNo = array[0].FormatString(); |
|
|
if (AuditPayBillList.Any(p => p.PayBillNo == payBillNo)) |
|
|
if (AuditPayBillList.Any(p => p.PayBillNo == payBillNo)) |
|
|
continue; |
|
|
continue; |
|
|
var payBill = new AuditPayBill() |
|
|
var payBill = new AuditPayBill() |
|
@ -186,7 +368,7 @@ namespace BBWY.Client.ViewModels |
|
|
ProductName = array[3].FormatString(), |
|
|
ProductName = array[3].FormatString(), |
|
|
PayTime = DateTime.Parse(array[4].FormatString()), |
|
|
PayTime = DateTime.Parse(array[4].FormatString()), |
|
|
OppositeAccount = array[5].FormatString(), |
|
|
OppositeAccount = array[5].FormatString(), |
|
|
ExpenditureAmount = decimal.Parse(array[7].FormatString()) |
|
|
ExpenditureAmount = Math.Abs(expenditureAmount) |
|
|
}; |
|
|
}; |
|
|
payBill.MerchantOrderNo = payBill.SourceMerchantOrderNo; |
|
|
payBill.MerchantOrderNo = payBill.SourceMerchantOrderNo; |
|
|
if (payBill.SourceMerchantOrderNo.StartsWith("T50060NP")) |
|
|
if (payBill.SourceMerchantOrderNo.StartsWith("T50060NP")) |
|
@ -211,6 +393,8 @@ namespace BBWY.Client.ViewModels |
|
|
MessageBox.Show(importResult.ErrorMessage, "导入1688采购单"); |
|
|
MessageBox.Show(importResult.ErrorMessage, "导入1688采购单"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
if (importResult.Lines == null || importResult.Lines.Count() == 0) |
|
|
|
|
|
return; |
|
|
|
|
|
|
|
|
//去掉列名
|
|
|
//去掉列名
|
|
|
importResult.Lines.RemoveAt(0); |
|
|
importResult.Lines.RemoveAt(0); |
|
@ -262,6 +446,8 @@ namespace BBWY.Client.ViewModels |
|
|
MessageBox.Show(importResult.ErrorMessage, "导入京东销售订单"); |
|
|
MessageBox.Show(importResult.ErrorMessage, "导入京东销售订单"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
if (importResult.Lines == null || importResult.Lines.Count() == 0) |
|
|
|
|
|
return; |
|
|
|
|
|
|
|
|
//去掉列名
|
|
|
//去掉列名
|
|
|
importResult.Lines.RemoveAt(0); |
|
|
importResult.Lines.RemoveAt(0); |
|
@ -277,9 +463,20 @@ namespace BBWY.Client.ViewModels |
|
|
var order = new AuditShopOrder() |
|
|
var order = new AuditShopOrder() |
|
|
{ |
|
|
{ |
|
|
OrderId = orderId, |
|
|
OrderId = orderId, |
|
|
|
|
|
Platform = Platform.京东, |
|
|
|
|
|
BelongFileName = importResult.FileName, |
|
|
|
|
|
Quantity = int.Parse(array[3].FormatString()), |
|
|
|
|
|
CreateTime = DateTime.Parse(array[5].FormatString()), |
|
|
|
|
|
PayAmount = decimal.Parse(array[10].FormatString()), |
|
|
|
|
|
ContactName = array[14].FormatString(), |
|
|
|
|
|
Address = array[15].FormatString(), |
|
|
|
|
|
Phone = array[16].FormatString(), |
|
|
|
|
|
ProductName = array[2].FormatString(), |
|
|
|
|
|
VenderRemark = array[27].FormatString() |
|
|
}; |
|
|
}; |
|
|
AuditShopOrderList.Add(order); |
|
|
AuditShopOrderList.Add(order); |
|
|
|
|
|
if (!string.IsNullOrEmpty(array[30])) |
|
|
|
|
|
order.PayTime = DateTime.Parse(array[30].FormatString()); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
catch (Exception ex) |
|
|
catch (Exception ex) |
|
@ -287,5 +484,48 @@ namespace BBWY.Client.ViewModels |
|
|
MessageBox.Show($"问题销售订单号{orderId} {ex.Message}", "导入京东销售订单"); |
|
|
MessageBox.Show($"问题销售订单号{orderId} {ex.Message}", "导入京东销售订单"); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 采购审计文件对象改变事件
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
private void OnSelectAuditFileChanged() |
|
|
|
|
|
{ |
|
|
|
|
|
if (SelectAuditFile == null) |
|
|
|
|
|
return; |
|
|
|
|
|
if (SelectAuditFile.AuditFileType == AuditFileType.账单) |
|
|
|
|
|
{ |
|
|
|
|
|
IsShowPayBillPanel = true; |
|
|
|
|
|
ShowAuditPayBillList.Clear(); |
|
|
|
|
|
var where = AuditPayBillList.Where(b => b.BelongFileName == SelectAuditFile.FileName); |
|
|
|
|
|
if (OnlyException) |
|
|
|
|
|
where = where.Where(b => !string.IsNullOrEmpty(b.ErrorMessage)); |
|
|
|
|
|
var list = where.ToList(); |
|
|
|
|
|
foreach (var b in list) |
|
|
|
|
|
ShowAuditPayBillList.Add(b); |
|
|
|
|
|
} |
|
|
|
|
|
else if (SelectAuditFile.AuditFileType == AuditFileType.采购单) |
|
|
|
|
|
{ |
|
|
|
|
|
IsShowPurchaseOrderPanel = true; |
|
|
|
|
|
ShowAuditPurchaseOrderList.Clear(); |
|
|
|
|
|
var where = AuditPurchaseOrderList.Where(p => p.BelongFileName == SelectAuditFile.FileName); |
|
|
|
|
|
if (OnlyException) |
|
|
|
|
|
where = where.Where(p => !string.IsNullOrEmpty(p.ErrorMessage)); |
|
|
|
|
|
var list = where.ToList(); |
|
|
|
|
|
foreach (var p in list) |
|
|
|
|
|
ShowAuditPurchaseOrderList.Add(p); |
|
|
|
|
|
} |
|
|
|
|
|
else if (SelectAuditFile.AuditFileType == AuditFileType.销售订单) |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void OnOnlyExceptionChanged() |
|
|
|
|
|
{ |
|
|
|
|
|
if (SelectAuditFile == null || AuditFileList.Count() == 0) |
|
|
|
|
|
return; |
|
|
|
|
|
SelectAuditFile = null; |
|
|
|
|
|
SelectAuditFile = AuditFileList.FirstOrDefault(f => f.AuditFileType == AuditFileType.账单); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|