| | |
| | | using CY.Model; |
| | | using CY.IDAL; |
| | | using CY.Infrastructure.Query; |
| | | using CY.Model.Inquiry; |
| | | using CY.Infrastructure.Common; |
| | | using CY.IDAL.EC; |
| | | |
| | | namespace CY.BLL.EC |
| | | { |
| | |
| | | public class EC_OrderBasicBLL |
| | | { |
| | | 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> |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 作业本送货分页查询 |
| | | /// </summary> |
| | | /// <param name="pagination"></param> |
| | | /// <returns></returns> |
| | | public IEnumerable<EC_OrderBasic> SelectModelPageWorkBook(Infrastructure.Query.Pagination pagination, Guid _MemberID, string txtBeginDate, string txtEndDate, string txtOrderId, string txtSearchyjname, string selCustormerManager, string selBusinessManager, string selOrderStates) |
| | | { |
| | | return _eC_OrderBasicDAL.SelectModelPageWorkBook(pagination, _MemberID, txtBeginDate, txtEndDate, txtOrderId, txtSearchyjname, selCustormerManager, selBusinessManager, selOrderStates); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 锁定订单 |
| | | /// </summary> |
| | | /// <param name="orderId">订单编号</param> |
| | | /// <param name="operator">操作人</param> |
| | | /// <returns></returns> |
| | | public bool SuodingOrder(int orderId, string operater) |
| | | { |
| | | return _eC_OrderBasicDAL.SuodingOrder(orderId, operater); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 批量受理订单 |
| | | /// </summary> |
| | | /// <param name="orderIds"></param> |
| | |
| | | public bool UpdateOrderState(params EC_OrderOperate[] orderOperates) |
| | | { |
| | | return _eC_OrderBasicDAL.UpdateOrderState(orderOperates); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 修改订单状态(非支付状态且不可修改为未受理和已受理) |
| | | /// </summary> |
| | | /// <param name="orderOperate">订单操作</param> |
| | | /// <returns></returns> |
| | | public bool UpSurplusPrintNum(int? Keyid, int? SurplusPrintNum, string Operator) |
| | | { |
| | | return _eC_OrderExtendDAL.UpSurplusPrintNumsql(Keyid, SurplusPrintNum, Operator); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | public EC_OrderBasic SelectModelById(int orderId) |
| | | { |
| | | 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> |
| | | /// <param name="orderIds">订单编号</param> |
| | | /// <returns></returns> |
| | | public IEnumerable<EC_OrderBasic> GetOrderByIds(string orderIds) |
| | | { |
| | | return _eC_OrderBasicDAL.GetOrderByIds(orderIds); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | 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> |
| | |
| | | /// <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> |
| | |
| | | public void UpdatePrintState(int orderId) |
| | | { |
| | | _eC_OrderBasicDAL.UpdatePrintState(orderId); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 修改打印状态 |
| | | /// </summary> |
| | | /// <param name="orderId"></param> |
| | | public void UpdatePrintfengqianState(int orderId) |
| | | { |
| | | _eC_OrderBasicDAL.UpdatePrintfengqianState(orderId); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | } |
| | | |
| | | /// <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() |
| | |
| | | { |
| | | return _eC_OrderBasicDAL.DeleteOutOrder(OrderId); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 删除外协订单 |
| | | /// </summary> |
| | | /// <param name="OrderId"></param> |
| | | /// <returns></returns> |
| | | public bool UpdateOldOrderSurplusPrintNum(int outOrderId) |
| | | { |
| | | return _eC_OrderBasicDAL.UpdateOldOrderSurplusPrintNum(outOrderId); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 根据新增订单操作,并修改订单状态 |
| | |
| | | /// <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)) |
| | | { |
| | |
| | | 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 )"; |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | |
| | | |
| | | /// <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>() |
| | | { |
| | | new Criterion("", Condition), |
| | | |
| | | new Criterion("orderBy"," [DeliveryTime] DESC ") |
| | | }; |
| | | query.Criteria = criterias; |
| | | return _eC_OrderBasicDAL.SelectModelPage_weiwangong(query, pa); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 根据新增订单操作,并修改订单状态 |
| | |
| | | { |
| | | return _eC_OrderBasicDAL.GetEC_OrderBasicListBydeliverorderId(deliverorderId, FirmId); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 重新计算订单的金额 |
| | | /// </summary> |
| | | /// <param name="orderOperate"></param> |
| | | /// <returns></returns> |
| | | public bool UpdateorderJine(int orderId) |
| | | { |
| | | CoreCmsPlanOrderBLL _PlanOrderBLL = new CoreCmsPlanOrderBLL(); |
| | | CoreCmsPlanOrderItemBLL _coreCmsPlanOrderItemBLL = new CoreCmsPlanOrderItemBLL(); |
| | | |
| | | var eC_OrderBasic = this.SelectModelById(orderId); |
| | | EC_OrderPrintParameterBLL _OrderPrintParameterBLL = new EC_OrderPrintParameterBLL(); |
| | | var eC_OrderPrintParameter = _OrderPrintParameterBLL.GetModel(orderId); |
| | | InquiryCommonModel model = SerializationHelper.DeSerialize(typeof(InquiryCommonModel), eC_OrderPrintParameter.PrintParameter) as InquiryCommonModel; |
| | | |
| | | //eC_OrderBasic.SumPrice =12 ; |
| | | //eC_OrderBasic.UnitPrice = 12; |
| | | var sss = model.InquiryWorkBookList; |
| | | |
| | | var coreCmsPlanOrders = _PlanOrderBLL.GetModelByorderid(orderId).ToList(); |
| | | |
| | | |
| | | decimal SumPrice = 0; |
| | | int num = 0; |
| | | |
| | | var coreCmsPlanOrders2 = new List<CoreCmsPlanOrderItem>(); |
| | | |
| | | foreach (var coreCmsPlanOrder in coreCmsPlanOrders) |
| | | { |
| | | var coreCmsPlanOrders1 = _coreCmsPlanOrderItemBLL.GetModelsByOrderid(coreCmsPlanOrder.id).ToList(); |
| | | coreCmsPlanOrders2.AddRange(coreCmsPlanOrders1); |
| | | |
| | | num += coreCmsPlanOrders1.Sum(x=>x.nums); |
| | | SumPrice += coreCmsPlanOrders1.Sum(x => x.amount); |
| | | |
| | | } |
| | | |
| | | eC_OrderBasic.SumPrice = SumPrice; |
| | | if (num > 0) |
| | | { |
| | | eC_OrderBasic.UnitPrice = Math.Round(SumPrice / new decimal(num), 4); |
| | | } |
| | | else |
| | | { |
| | | eC_OrderBasic.UnitPrice = 0; |
| | | } |
| | | |
| | | |
| | | |
| | | model.PrintCount = num; |
| | | foreach ( var inquiryWorkBookModel in model.InquiryWorkBookList) |
| | | { |
| | | var sssssss = coreCmsPlanOrders2.Where(x => x.name == inquiryWorkBookModel.WorkBookNameTxt && x.specification == inquiryWorkBookModel.WorkBookSizeTxt).ToList(); |
| | | inquiryWorkBookModel.WorkBookCount = sssssss.Sum(x=>x.nums).ToString2(); |
| | | inquiryWorkBookModel.WorkBookMoney = sssssss.Sum(x=>x.amount).ToString2(); |
| | | } |
| | | |
| | | |
| | | var isWin = _eC_OrderBasicDAL.Updatejinedanjia(eC_OrderBasic.Keyid.Value, eC_OrderBasic.SumPrice.Value, eC_OrderBasic.UnitPrice.Value, num); |
| | | |
| | | eC_OrderPrintParameter.PrintParameter = SerializationHelper.Serialize(model); |
| | | 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; |
| | | } |
| | | |
| | | } |
| | | } |