Beispiel #1
0
        /// <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>());
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        /// <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));
        }
Beispiel #4
0
        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>());
        }