private DataTable GetPOCanbePayList(CanBePayOrderQueryFilter filter, out int totalCount) { DataTable result = null; CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("GetPOCanBePayList"); PagingInfoEntity pagingInfo = CreatePagingInfo(filter); using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder( dataCommand.CommandText, dataCommand, pagingInfo, "po.SysNo desc")) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "po.IsConsign", DbType.Int32, "@IsConsign", QueryConditionOperatorType.NotEqual, 1); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "po.POID", DbType.String, "@POID", QueryConditionOperatorType.Like, filter.OrderID); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "po.ETP", DbType.DateTime, "@ETPFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.POETPFrom); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "po.ETP", DbType.DateTime, "@ETPTo", QueryConditionOperatorType.LessThan, filter.POETPTo); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "po.Status", DbType.Int32, "@Status", QueryConditionOperatorType.Equal, filter.POStatus); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "po.CompanyCode", DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode); dataCommand.CommandText = sqlBuilder.BuildQuerySql(); result = ExecuteDataTable(dataCommand, out totalCount); } return(result); }
private DataTable GetAllCanbePayList(CanBePayOrderQueryFilter filter, out int totalCount) { DataTable result = null; CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("GetAllCanBePayList"); PagingInfoEntity pagingInfo = CreatePagingInfo(filter); using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder( dataCommand.CommandText, dataCommand, pagingInfo, "OrderSysNo desc")) { dataCommand.CommandText = sqlBuilder.BuildQuerySql(); StringBuilder sb1 = new StringBuilder(); sb1.Append(" WHERE 1=1"); sb1.Append(" AND po.IsConsign <> 1"); StringBuilder sb2 = new StringBuilder(); sb2.Append(" WHERE 1=1"); sb1.Append(" AND po.CompanyCode = @CompanyCode"); sb2.Append(" AND vendorsettle.CompanyCode = @CompanyCode"); dataCommand.AddInputParameter("@CompanyCode", DbType.AnsiStringFixedLength, filter.CompanyCode); if (!string.IsNullOrEmpty(filter.OrderID)) { sb1.Append(" AND po.SysNo LIKE @OrderID"); sb2.Append(" AND vendorsettle.SettleID LIKE @OrderID"); dataCommand.AddInputParameter("@OrderID", DbType.String, filter.OrderID.Trim() + "%"); } dataCommand.CommandText = dataCommand.CommandText .Replace("#StrWhere1#", sb1.ToString()) .Replace("#StrWhere2#", sb2.ToString()); result = ExecuteDataTable(dataCommand, out totalCount); } return(result); }
public virtual QueryResult QueryCanBePayOrderList(CanBePayOrderQueryFilter filter) { int totalCount; var dataSet = ObjectFactory <ICanBePayOrderQueryDA> .Instance.Query(filter, out totalCount); return(new QueryResult() { Data = dataSet, TotalCount = totalCount }); }
/// <summary> /// 构造PagingInfo对象 /// </summary> /// <param name="query"></param> /// <returns></returns> private PagingInfoEntity CreatePagingInfo(CanBePayOrderQueryFilter query) { PagingInfoEntity pagingInfo = new PagingInfoEntity(); if (query.PagingInfo != null) { pagingInfo.MaximumRows = query.PagingInfo.PageSize; pagingInfo.StartRowIndex = query.PagingInfo.PageIndex * query.PagingInfo.PageSize; pagingInfo.SortField = query.PagingInfo.SortBy; } return(pagingInfo); }
public DataTable Query(CanBePayOrderQueryFilter filter, out int totalCount) { if (!filter.OrderType.HasValue) { return(GetAllCanbePayList(filter, out totalCount)); } switch (filter.OrderType) { case PayableOrderType.PO: return(GetPOCanbePayList(filter, out totalCount)); case PayableOrderType.VendorSettleOrder: return(GetVendorSettleCanbePayList(filter, out totalCount)); default: throw new ArgumentOutOfRangeException("Invalid OrderType"); } }
private DataTable GetVendorSettleCanbePayList(CanBePayOrderQueryFilter filter, out int totalCount) { DataTable result = null; CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("GetVendorSettleCanBePayList"); PagingInfoEntity pagingInfo = CreatePagingInfo(filter); using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder( dataCommand.CommandText, dataCommand, pagingInfo, "vendorSettle.SysNo desc")) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "vendorsettle.SettleID", DbType.String, "@SettleID", QueryConditionOperatorType.Like, filter.OrderID); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "vendorsettle.Status", DbType.Int32, "@Status", QueryConditionOperatorType.Equal, filter.VendorSettleStatus); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "vendorsettle.CompanyCode", DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode); dataCommand.CommandText = sqlBuilder.BuildQuerySql(); result = ExecuteDataTable(dataCommand, out totalCount); } return(result); }
/// <summary> /// 添加付款单时单据查询 /// </summary> public void QueryCanBePayOrder(PayItemListOrderQueryVM query, int pageSize, int pageIndex, string sortField, Action <dynamic> callback) { CanBePayOrderQueryFilter filter = query.ConvertVM <PayItemListOrderQueryVM, CanBePayOrderQueryFilter>(); filter.PagingInfo = new PagingInfo() { PageIndex = pageIndex, PageSize = pageSize, SortBy = sortField }; string relativeUrl = "/InvoiceService/PayItem/OrderQuery"; restClient.QueryDynamicData(relativeUrl, filter, (obj, args) => { if (args.FaultsHandle()) { return; } callback(args.Result); }); }
/// <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); }