CY_ECommercePlatform/CY.BLL/EC/EC_OrderBasicBLL.cs
@@ -43,11 +43,13 @@
        IEC_OrderBasicDAL _eC_OrderBasicDAL = null;
        IEC_OrderPrintParameterDAL _eC_OrderPrintParameterDAL = null;
        IEC_OrderExtendDAL _eC_OrderExtendDAL = null;
        IPay_TradingSingleDAL _pay_TradingSingleDAL = null;
        public EC_OrderBasicBLL()
        {
            _eC_OrderBasicDAL = AbstractFactory.Factory.GetDALByInterfaceName(AbstractFactory.DALInterface.IEC_OrderBasicDAL) as IEC_OrderBasicDAL;
            _eC_OrderPrintParameterDAL = AbstractFactory.Factory.GetDALByInterfaceName(AbstractFactory.DALInterface.IEC_OrderPrintParameterDAL) as IEC_OrderPrintParameterDAL;
            _eC_OrderExtendDAL = AbstractFactory.Factory.GetDALByInterfaceName(AbstractFactory.DALInterface.IEC_OrderExtendDAL) as IEC_OrderExtendDAL;
            _pay_TradingSingleDAL = AbstractFactory.Factory.GetDALByInterfaceName(AbstractFactory.DALInterface.IPay_TradingSingleDAL) as IPay_TradingSingleDAL;
        }
        /// <summary>
@@ -70,6 +72,18 @@
        public IEnumerable<EC_OrderBasic> SelectModelPage_Seller(Infrastructure.Query.Pagination pagination, Dictionary<int, object> searchParam)
        {
            return _eC_OrderBasicDAL.SelectModelPage_Seller(pagination, searchParam);
        }
        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="pagination"></param>
        /// <param name="MemberId"></param>
        /// <returns></returns>
        public IEnumerable<Model.EC_OrderBasic> SelectModelPageSheji(Infrastructure.Query.Pagination pagination, Guid MemberId, string BeginCreateTime, string EndCreateTime, string SellerOrderId, string PrintTypeId, string BusinessManagerId, string Shejirenyuan, string BuyerName, string DocumentName, string ShejiStatus)
        {
            return _eC_OrderBasicDAL.SelectModelPageSheji(pagination, MemberId,  BeginCreateTime,  EndCreateTime,  SellerOrderId,  PrintTypeId,  BusinessManagerId,  Shejirenyuan,  BuyerName,  DocumentName,  ShejiStatus);
        }
@@ -211,6 +225,30 @@
            return _eC_OrderBasicDAL.SelectModelById(orderId);
        }
        /// <summary>
        /// 根据编号获取订单信息
        /// </summary>
        /// <param name="orderId">订单唯一编号</param>
        /// <returns></returns>
        public Pay_TradingSingle GetPayTradingById(int orderId)
        {
            return _pay_TradingSingleDAL.GetOrderByIds(orderId).FirstOrDefault();
        }
        /// <summary>
        /// 根据编号获取订单信息
        /// </summary>
        /// <param name="orderId">订单唯一编号</param>
        /// <returns></returns>
        public EC_OrderExtend GetModelByKeyid(int orderId)
        {
            return _eC_OrderExtendDAL.GetModelByKeyid(orderId);
        }
        /// <summary>
        /// 根据订单编号获取订单 
        /// </summary>
@@ -293,6 +331,18 @@
        public bool ReceiveMoneyToAccount(int orderId, OA_FirmAccountRecord firmAccountRecord)
        {
            return _eC_OrderBasicDAL.ReceiveMoneyToAccount(orderId, firmAccountRecord);
        }
        /// <summary>
        /// 收款(线下转账、现金)
        /// </summary>
        /// <param name="orderId">订单编号</param>
        /// <param name="firmAccountRecord">操作记录</param>
        /// <returns></returns>
        public bool ReceiveMoneyToQueren(int orderId, OA_FirmAccountRecord firmAccountRecord)
        {
            return _eC_OrderBasicDAL.ReceiveMoneyToQueren(orderId, firmAccountRecord);
        }
        /// <summary>
@@ -449,9 +499,9 @@
        /// <param name="OutOrderId"></param>
        /// <param name="RelationType"></param>
        /// <returns></returns>
        public IEnumerable<EC_OrderBasic> SelectAferOfOutOrder(Infrastructure.Query.Pagination pagination, Guid MemberId, DateTime? StartCreatTime, DateTime? EndCreatTime, DateTime? StartReturnTime, DateTime? EndReturnTime, string Creater, string OutFirm, string WorkStates, string OutOrderId, int? RelationType)
        public IEnumerable<EC_OrderBasic> SelectAferOfOutOrder(Infrastructure.Query.Pagination pagination, Guid MemberId, DateTime? StartCreatTime, DateTime? EndCreatTime, DateTime? StartReturnTime, DateTime? EndReturnTime, string Creater, string OutFirm, string WorkStates, string OutOrderId, int? RelationType, string PayState = null)
        {
            return _eC_OrderBasicDAL.SelectAferOfOutOrder(pagination, MemberId, StartCreatTime, EndCreatTime, StartReturnTime, EndReturnTime, Creater, OutFirm, WorkStates, OutOrderId, RelationType);
            return _eC_OrderBasicDAL.SelectAferOfOutOrder(pagination, MemberId, StartCreatTime, EndCreatTime, StartReturnTime, EndReturnTime, Creater, OutFirm, WorkStates, OutOrderId, RelationType, PayState);
        }
        /// <summary>
@@ -515,6 +565,16 @@
        }
        /// <summary>
        /// 判断某订单是否是另一订单的自动外协订单
        /// </summary>
        /// <param name="orderId"></param>
        /// <returns></returns>
        public bool UpShejiStatus(int Keyid, int ShejiStatus, string Operator)
        {
            return _eC_OrderExtendDAL.UpShejiStatus(Keyid, ShejiStatus, Operator);
        }
        /// <summary>
        /// WEB服务自动完成订单
        /// </summary>
        public void AutoCompleteOrderByWebService()
@@ -531,6 +591,18 @@
        {
            return _eC_OrderBasicDAL.DeleteOutOrder(OrderId);
        }
        /// <summary>
        /// 删除外协订单
        /// </summary>
        /// <param name="OrderId"></param>
        /// <returns></returns>
        public bool UpdateOldOrderSurplusPrintNum(int outOrderId)
        {
            return _eC_OrderBasicDAL.UpdateOldOrderSurplusPrintNum(outOrderId);
        }
        /// <summary>
        /// 根据新增订单操作,并修改订单状态
@@ -561,7 +633,7 @@
        /// <returns></returns>
        public IEnumerable<EC_OrderBasic> GetModelPageListForPrepayments(Pagination pa, string DeliveryTime, string Province, string City, string County, string BuyerName, string BusinessManagerId, string SellerOrderId, string DocumentName, Guid SellerId)
        {
            string Condition = " and ( ob.[OrderState] ='2' or ob.[OrderState] ='3' and SellerId='"+ SellerId + "'  )";
            string Condition = " and ( ob.[OrderState] ='1' or ob.[OrderState] ='2' or ob.[OrderState] ='3'  ) and SellerId='" + SellerId + "' ";
            if (!string.IsNullOrEmpty(DeliveryTime))
            {
@@ -633,6 +705,100 @@
                Condition += " and  ob.DocumentName like '%" + DocumentName + "%'"; ;
            }
            
            Query query = new Query();
            IList<Criterion> criterias = new List<Criterion>()
            {
                new Criterion("", Condition),
                new Criterion("orderBy","   [DeliveryTime] DESC ")
            };
            query.Criteria = criterias;
            return _eC_OrderBasicDAL.SelectModelPage_weiwangong(query, pa);
        }
        /// <summary>
        /// 查询客户预付款列表
        /// </summary>
        /// <param name="pa"></param>
        /// <returns></returns>
        public IEnumerable<EC_OrderBasic> GetModelPageListForSonghuoyanchis(Pagination pa, string DeliveryTime, string Province, string City, string County, string BuyerName, string BusinessManagerId, string SellerOrderId, string DocumentName, Guid SellerId)
        {
            string Condition = " and ( ob.[OrderState] ='1' or ob.[OrderState] ='2' or ob.[OrderState] ='3'  or ob.[OrderState] ='4' ) and SellerId='" + SellerId + "' ";
            if (!string.IsNullOrEmpty(DeliveryTime))
            {
                if (DeliveryTime == "明天")
                {
                    Condition += " and (  DATEDIFF(DAY,GETDATE(),ob.[DeliveryTime])=1 or  DATEDIFF(DAY,GETDATE(),oe.[DelayTime])=1 )";
                }
                else if (DeliveryTime == "后天")
                {
                    Condition += " and  (  DATEDIFF(DAY,GETDATE(),ob.[DeliveryTime])=2 or  DATEDIFF(DAY,GETDATE(),oe.[DelayTime])=2 )";
                }
                else if (DeliveryTime == "3天")
                {
                    Condition += " and  (  DATEDIFF(DAY,GETDATE(),ob.[DeliveryTime])=3 or  DATEDIFF(DAY,GETDATE(),oe.[DelayTime])=3 )";
                }
                else if (DeliveryTime == "4天")
                {
                    Condition += " and  (  DATEDIFF(DAY,GETDATE(),ob.[DeliveryTime])=4 or  DATEDIFF(DAY,GETDATE(),oe.[DelayTime])=4 )";
                }
                else if (DeliveryTime == "5天")
                {
                    Condition += " and (   DATEDIFF(DAY,GETDATE(),ob.[DeliveryTime])=5 or  DATEDIFF(DAY,GETDATE(),oe.[DelayTime])=5) ";
                }
                else if (DeliveryTime == "6天")
                {
                    Condition += " and  (  DATEDIFF(DAY,GETDATE(),ob.[DeliveryTime])=6 or  DATEDIFF(DAY,GETDATE(),oe.[DelayTime])=6) ";
                }
                else if (DeliveryTime == "7天")
                {
                    Condition += " and  (  DATEDIFF(DAY,GETDATE(),ob.[DeliveryTime])=7 or  DATEDIFF(DAY,GETDATE(),oe.[DelayTime])=7 )";
                }
                else if (DeliveryTime == "一周后")
                {
                    Condition += " and  (  DATEDIFF(DAY,GETDATE(),ob.[DeliveryTime]) >7 or  DATEDIFF(DAY,GETDATE(),oe.[DelayTime])>7 )";
                }
                else if (DeliveryTime == "逾期")
                {
                    Condition += " and (  DATEDIFF(DAY,GETDATE(),ob.[DeliveryTime])<=0 or  DATEDIFF(DAY,GETDATE(),oe.[DelayTime])<=0 )";
                }
            }
            if (!string.IsNullOrEmpty(Province))
                Condition += string.Format(" and CustomerCommunications.Province='{0}'", Province);
            if (!string.IsNullOrEmpty(City))
                Condition += string.Format(" and CustomerCommunications.City='{0}'", City);
            if (!string.IsNullOrEmpty(County))
                Condition += string.Format(" and CustomerCommunications.County='{0}'", County);
            if (!string.IsNullOrEmpty(BuyerName))
            {
                Condition += " and  ob.BuyerName like '%" + BuyerName + "%'";
            }
            if (!string.IsNullOrEmpty(BusinessManagerId))
            {
                Condition += string.Format(" and oe.BusinessManagerId='{0}'", BusinessManagerId);
            }
            if (!string.IsNullOrEmpty(SellerOrderId))
            {
                Condition += " and  ob.SellerOrderId like '%" + SellerOrderId + "%'"; ;
            }
            if (!string.IsNullOrEmpty(DocumentName))
            {
                Condition += " and  ob.DocumentName like '%" + DocumentName + "%'"; ;
            }
            Query query = new Query();
            IList<Criterion> criterias = new List<Criterion>()
@@ -738,6 +904,13 @@
            isWin = _eC_OrderPrintParameterDAL.UpdateModel(eC_OrderPrintParameter);
            var pay_TradingSingles = _pay_TradingSingleDAL.GetOrderByIds(eC_OrderBasic.Keyid.Value).FirstOrDefault() ;
            if (pay_TradingSingles != null)
            {
                pay_TradingSingles.TradingMoney = eC_OrderBasic.SumPrice.Value;
                pay_TradingSingles.PayableMoney = eC_OrderBasic.SumPrice.Value;
                isWin = _pay_TradingSingleDAL.UpdateModel(pay_TradingSingles);
            }
            return isWin;
        }