public void ExportExcelFile(PayableQueryVM queryVM, ColumnSet[] columnSet) { PayableQueryFilter queryFilter = queryVM.ConvertVM <PayableQueryVM, PayableQueryFilter>(); queryFilter.PagingInfo = new PagingInfo { PageSize = ECCentral.Portal.Basic.ConstValue.MaxRowCountLimit, PageIndex = 0, SortBy = null }; queryFilter.CompanyCode = CPApplication.Current.CompanyCode; string relativeUrl = "/InvoiceService/Payable/Export"; restClient.ExportFile(relativeUrl, queryFilter, columnSet); }
public QueryResult ExportPayable(PayableQueryFilter request) { QueryResultList resultList = new QueryResultList(); int totalCount; DataTable dtStatistical; var dataTable = ObjectFactory <IPayableQueryDA> .Instance.QueryPayable(request, out totalCount, out dtStatistical); dataTable.Columns.Add("OrderIDDesc"); dataTable.Columns.Add("Remainder"); foreach (DataRow row in dataTable.Rows.AsParallel()) { string batchnum = ""; if (!row.IsNull("BatchNumber") && !string.IsNullOrWhiteSpace(row["BatchNumber"].ToString())) { batchnum = "-" + row["BatchNumber"].ToString().PadLeft(2, '0'); } if (row["OrderType"].ToString() == "0") { row["OrderIDDesc"] = row["OrderID"] + batchnum; } else if (row["OrderType"].ToString() == "7") { row["OrderIDDesc"] = row["OrderSysNo"] + batchnum; } else if (row["OrderType"].ToString() == "5") { row["OrderIDDesc"] = row["OrderID"] + "A"; } else { row["OrderIDDesc"] = row["OrderID"]; } if (!row.IsNull("PayableAmt") && !row.IsNull("AlreadyPayAmt")) { row["PayableAmt"] = ((decimal)row["PayableAmt"]).ToString(InvoiceConst.StringFormat.DecimalFormat); row["AlreadyPayAmt"] = ((decimal)row["AlreadyPayAmt"]).ToString(InvoiceConst.StringFormat.DecimalFormat); row["Remainder"] = (((decimal)row["PayableAmt"]) - ((decimal)row["AlreadyPayAmt"])).ToString(InvoiceConst.StringFormat.DecimalFormat); } } return(new QueryResult() { Data = dataTable, TotalCount = totalCount }); }
public QueryResultList QueryPayable(PayableQueryFilter request) { QueryResultList resultList = new QueryResultList(); int totalCount; DataTable dtStatistical; var dataTable = ObjectFactory <IPayableQueryDA> .Instance.QueryPayable(request, out totalCount, out dtStatistical); dataTable.Columns.Add("SapInFailedDetailReason", typeof(string)); QueryResult resultTable = new QueryResult() { Data = dataTable, TotalCount = totalCount }; QueryResult statisticalTable = new QueryResult() { Data = dtStatistical }; resultList.Add(resultTable); resultList.Add(statisticalTable); return(resultList); }
public void Query(PayableQueryVM queryVM, int PageSize, int PageIndex, string SortField, EventHandler <RestClientEventArgs <dynamic> > callback) { PayableQueryFilter queryFilter = new PayableQueryFilter(); queryFilter = queryVM.ConvertVM <PayableQueryVM, PayableQueryFilter>(); queryFilter.PagingInfo = new PagingInfo { PageSize = PageSize, PageIndex = PageIndex, SortBy = SortField }; queryFilter.CompanyCode = CPApplication.Current.CompanyCode; string relativeUrl = "/InvoiceService/Payable/Query"; restClient.QueryDynamicData(relativeUrl, queryFilter, (obj, args) => { if (args.FaultsHandle()) { return; } callback(obj, args); }); }
/// <summary> /// [Private]根据应付款单据类型和应付款单据编号加载应付款和付款单数据 /// </summary> /// <param name="orderSysNo">应付款单据编号</param> /// <param name="orderType">应付款单据类型</param> /// <param name="companyCode">CompanyCode</param> /// <returns></returns> private PayDetailInfoResp LoadForEditByOrderSysNoAndOrderType(int orderSysNo, PayableOrderType orderType, string companyCode) { PayDetailInfoResp resp = new PayDetailInfoResp(); int totalCount; DataTable st; PayableQueryFilter filter = new PayableQueryFilter(); filter.OrderID = orderSysNo.ToString(); filter.OrderType = orderType; filter.CompanyCode = companyCode; DataTable payDT = ObjectFactory <IPayableQueryDA> .Instance.QueryPayable(filter, out totalCount, out st); bool isVendorHoldedControl = false; DataRow pay = null; if (payDT != null && payDT.Rows.Count > 0) { pay = payDT.Rows[0]; if ((int)pay["OrderType"] == (int)PayableOrderType.PO || (int)pay["OrderType"] == (int)PayableOrderType.VendorSettleOrder || (int)pay["OrderType"] == (int)PayableOrderType.CollectionSettlement) { isVendorHoldedControl = ObjectFactory <PayableAppService> .Instance.IsHolderVendorByVendorSysNo((int)pay["VendorSysNo"]); } int paySysNo = Convert.ToInt32(pay["PaySysNo"]); DataTable payItemDT = ObjectFactory <IPayItemQueryDA> .Instance.SimpleQuery(paySysNo); resp.PayItemList = DataMapper.GetEntityList <PayItemInfo, List <PayItemInfo> >(payItemDT.Rows); } CanBePayOrderQueryFilter queryFilter = new CanBePayOrderQueryFilter(); queryFilter.OrderID = orderSysNo.ToString(); queryFilter.OrderType = orderType; queryFilter.CompanyCode = companyCode; DataTable orderDT = ObjectFactory <ICanBePayOrderQueryDA> .Instance.Query(queryFilter, out totalCount); if (orderDT == null || orderDT.Rows.Count <= 0) { throw new ECCentral.BizEntity.BizException(string.Format( ResouceManager.GetMessageString(InvoiceConst.ResourceTitle.Payable, "Payable_LoadForEditBySysNo_OrderNotExist"), orderSysNo)); } var order = orderDT.Rows[0]; var payStyle = PayItemStyle.Normal; if (orderType == PayableOrderType.PO) { if ((int)order["OrderStatus"] == (int)PurchaseOrderStatus.WaitingInStock) { payStyle = PayItemStyle.Advanced; } } resp.OrderInfo = new OrderInfo() { PayStyle = payStyle, OrderAmt = (decimal)order["OrderAmt"], OrderSysNo = orderSysNo, OrderID = (string)order["OrderID"], OrderType = orderType, PaySysNo = pay != null ? (int)pay["PaySysNo"] : 0, OrderStatus = (int)order["OrderStatus"], BatchNumber = (int)order["BatchNumber"], IsVendorHoldedControl = isVendorHoldedControl }; var totalAmt = 0.00M; var paidAmt = 0.00M; if (resp.PayItemList != null && resp.PayItemList.Count > 0) { resp.PayItemList.ForEach(p => { totalAmt += p.PayAmt.Value; paidAmt += p.Status == PayItemStatus.Paid ? p.PayAmt.Value : 0; }); } resp.TotalInfo = new TotalInfo() { TotalAmt = totalAmt, PaidAmt = paidAmt, OrderAmt = (decimal)order["OrderAmt"], OrderSysNo = (int)order["OrderSysNo"] }; return(resp); }
/// <summary> /// [Private]根据应付款系统编号加载应付款和付款单数据 /// </summary> /// <param name="paySysNo">应付款系统编号</param> /// <param name="companyCode">CompanyCode</param> /// <returns></returns> private PayDetailInfoResp LoadForEditBySysNo(int paySysNo, string companyCode) { PayDetailInfoResp resp = new PayDetailInfoResp(); DataTable payItemDT = ObjectFactory <IPayItemQueryDA> .Instance.SimpleQuery(paySysNo); if (payItemDT != null && payItemDT.Rows.Count > 0) { resp.PayItemList = DataMapper.GetEntityList <PayItemInfo, List <PayItemInfo> >(payItemDT.Rows); } if (payItemDT == null || payItemDT.Rows.Count <= 0) { throw new ECCentral.BizEntity.BizException(ResouceManager.GetMessageString(InvoiceConst.ResourceTitle.Payable, "Payable_LoadForEditBySysNo_DataError")); } int totalCount; DataTable st; PayableQueryFilter filter = new PayableQueryFilter(); filter.SysNo = paySysNo; filter.CompanyCode = companyCode; filter.OrderType = resp.PayItemList[0].OrderType; DataTable payDT = ObjectFactory <IPayableQueryDA> .Instance.QueryPayable(filter, out totalCount, out st); if (payDT == null || payDT.Rows.Count <= 0) { throw new ECCentral.BizEntity.BizException(ResouceManager.GetMessageString(InvoiceConst.ResourceTitle.Payable, "Payable_LoadForEditBySysNo_DataError")); } var pay = payDT.Rows[0]; var payStyle = PayItemStyle.Normal; if ((int)pay["OrderType"] == (int)PayableOrderType.PO) { if ((int)pay["OrderStatus"] == (int)PurchaseOrderStatus.WaitingInStock) { payStyle = PayItemStyle.Advanced; } } bool isVendorHoldedControl = false; if ((int)pay["OrderType"] == (int)PayableOrderType.PO || (int)pay["OrderType"] == (int)PayableOrderType.VendorSettleOrder || (int)pay["OrderType"] == (int)PayableOrderType.CollectionSettlement) { isVendorHoldedControl = ObjectFactory <PayableAppService> .Instance.IsHolderVendorByVendorSysNo((int)pay["VendorSysNo"]); } var entity = new OrderInfo(); entity.PayStyle = payStyle; entity.OrderAmt = (decimal)pay["PayableAmt"]; entity.OrderSysNo = (int)pay["OrderSysNo"]; entity.OrderID = pay["OrderID"].ToString(); entity.OrderType = (PayableOrderType)pay["OrderType"]; entity.PaySysNo = paySysNo; entity.OrderStatus = (int)pay["OrderStatus"]; entity.BatchNumber = pay.IsNull("BatchNumber") ? 1 : (int)pay["BatchNumber"]; entity.IsVendorHoldedControl = isVendorHoldedControl; resp.OrderInfo = entity; var totalAmt = 0.00M; var paidAmt = 0.00M; if (resp.PayItemList != null && resp.PayItemList.Count > 0) { resp.PayItemList.ForEach(p => { totalAmt += p.PayAmt.Value; paidAmt += p.Status == PayItemStatus.Paid ? p.PayAmt.Value : 0; }); } resp.TotalInfo = new TotalInfo() { TotalAmt = totalAmt, PaidAmt = paidAmt, OrderAmt = (decimal)pay["PayableAmt"], OrderSysNo = (int)pay["OrderSysNo"] }; return(resp); }