/// <summary> /// 根据付款单状态查询PO单、代销结算单、代收结算单的付款单列表 /// </summary> /// <param name="status">付款单状态</param> /// <returns></returns> public List <PayItemInfo> GetListByStatus(PayItemStatus status) { DataCommand command = DataCommandManager.GetDataCommand("GetPayItemListByStatus"); command.SetParameterValue("@PayItemStatus", status); return(command.ExecuteEntityList <PayItemInfo>()); }
/// <summary> /// 根据供应商系统编号、付款单状态和供应商PM编号列表取得付款单列表(包括PO、代销结算单) /// </summary> /// <param name="vendorSysNo">供应商系统编号</param> /// <param name="status">付款单状态</param> /// <param name="pmSysNoList">供应商PM系统编号列表</param> /// <returns></returns> protected virtual List <PayItemInfo> GetListByVenderPMSysNo(int vendorSysNo, PayItemStatus status, List <int> pmSysNoList) { //取得所有满足状态Status的PO单、代销结算单 var payItemList = m_PayItemDA.GetListByStatus(status); payItemList.RemoveAll(r => r.OrderType == PayableOrderType.CollectionSettlement); //调用PO接口取得PO单系统编号列表 var poSysNoList = ExternalDomainBroker.GetPOSysNoListByVendorSysNo(vendorSysNo, pmSysNoList); //调用PO接口取得代销结算单系统编号列表 var vendorSettleSysNoList = ExternalDomainBroker.GetVendorSettleSysNoListByVendorSysNo(vendorSysNo, pmSysNoList); payItemList = payItemList.Where(w => (w.OrderType == PayableOrderType.PO && poSysNoList.Contains(w.OrderSysNo.Value)) || (w.OrderType == PayableOrderType.VendorSettleOrder && vendorSettleSysNoList.Contains(w.OrderSysNo.Value))) .ToList(); return(payItemList); }
/// <summary> /// 锁定Or取消锁定付款单 /// </summary> /// <param name="payItemSysNoList">付款单系统编号列表</param> /// <param name="isLock">锁定(true);取消锁定(false)</param> /// <returns>成功执行的付款单数量</returns> protected virtual List <PayItemInfo> LockOrUnLockBySysNoList(List <int> payItemSysNoList, bool isLock) { PayItemStatus status = isLock ? PayItemStatus.Locked : PayItemStatus.Origin; return(m_PayItemDA.LockOrUnLockBySysNoList(payItemSysNoList, status)); }
public List <PayItemInfo> LockOrUnLockBySysNoList(List <int> payItemSysNoList, PayItemStatus status) { string selectInStr = " (-1) "; if (payItemSysNoList != null && payItemSysNoList.Count > 0) { StringBuilder sb = new StringBuilder(); sb.Append(" ("); foreach (int sysNo in payItemSysNoList) { sb.AppendFormat("{0},", sysNo); } selectInStr = sb.ToString(); if (selectInStr.EndsWith(",")) { selectInStr = selectInStr.Remove(selectInStr.Length - 1); } selectInStr += " )"; } DataCommand command = DataCommandManager.GetDataCommand("LockOrUnLockPayItemBySysNoList"); command.SetParameterValue("@Status", status); command.SetParameterValue("@EditUser", ServiceContext.Current.UserSysNo); command.ReplaceParameterValue("#SysNoList", selectInStr); return(command.ExecuteEntityList <PayItemInfo>()); }