Esempio n. 1
0
        public void sss()
        {
            #region 更新退保状态
            OrderRebateBLL opOrderRebateBLL = new OrderRebateBLL();
            OrderRebate    modelOrderRebate = new OrderRebate();

            modelOrderRebate = opOrderRebateBLL.GetModel(1);
            if (modelOrderRebate != null)
            {
                modelOrderRebate.IsCancel = 1;
                bool res1 = opOrderRebateBLL.Update(modelOrderRebate);
            }
            #endregion
        }
Esempio n. 2
0
        public void GetOrderRebatetabs(HttpContext context)
        {
            int OrderRebateId = 0;

            if (!string.IsNullOrEmpty(context.Request.QueryString["OrderRebateId"]))
            {
                OrderRebateId = Convert.ToInt32(context.Request.QueryString["OrderRebateId"]);
            }
            OrderRebate    ort            = new OrderRebate();
            OrderRebateBLL orderrebatebll = new OrderRebateBLL();

            ort = orderrebatebll.GetModel(OrderRebateId);

            var b = SerializerHelper.SerializeObject(new { data = ort });

            context.Response.Write(b);
        }
Esempio n. 3
0
        public void GetOrderRebateList(HttpContext context)
        {
            string SearchData = "";

            if (!string.IsNullOrEmpty(context.Request.QueryString["SearchData"]))
            {
                SearchData = context.Request.QueryString["SearchData"];
            }

            DataSet        ds             = new DataSet();
            OrderRebateBLL orderrebatebll = new OrderRebateBLL();

            if (SearchData != "")
            {
                SearchData = "  (moa.InsureNum like'" + SearchData + "%'  or ort.TransNo  like'" + SearchData + "%')  AND ort.IsDeleted=0 ";
            }
            ds = orderrebatebll.GetOrderList(SearchData);
            var b = SerializerHelper.SerializeObject(new { data = ds.Tables[0] });

            context.Response.Write(b);
        }
Esempio n. 4
0
        /// <summary>
        /// 申请结算提交
        /// </summary>
        /// <returns></returns>
        static public Object ApplySettlement()
        {
            string result = string.Empty;

            using (TransactionScope ts = new TransactionScope())
            {
                try
                {
                    string userIdAndDepartmentId = DNTRequest.GetString("userIdAndDepartmentId");
                    if (string.IsNullOrEmpty(userIdAndDepartmentId))
                    {
                        return(DNTRequest.GetResultJson(false, "请先选择需要结算的商户", null));
                    }
                    int userId       = 0;
                    int departmentId = 0;
                    if (!string.IsNullOrEmpty(userIdAndDepartmentId))
                    {
                        string[] userIdAndDepartmentIdList = userIdAndDepartmentId.Split(new char[] { ',' });
                        userId       = ComPage.SafeToInt(userIdAndDepartmentIdList[0]);
                        departmentId = ComPage.SafeToInt(userIdAndDepartmentIdList[1]);
                    }
                    if (userId == 0)
                    {
                        return(DNTRequest.GetResultJson(false, "请先选择需要结算的商户", null));
                    }

                    //订单返利结算申请表主键
                    int orderRebateSettlementApplyId = 0;
                    int res01 = 0;
                    int res02 = 0;

                    #region 订单返利结算申请信息入库
                    string objOrderRebateSettlementApply = DNTRequest.GetString("modelOrderRebateSettlementApply");
                    OrderRebateSettlementApply postOrderRebateSettlementApply = JsonConvert.DeserializeObject <OrderRebateSettlementApply>(objOrderRebateSettlementApply);

                    OrderRebateSettlementApplyBLL opOrderRebateSettlementApply    = new OrderRebateSettlementApplyBLL();
                    OrderRebateSettlementApply    modelOrderRebateSettlementApply = new OrderRebateSettlementApply();
                    modelOrderRebateSettlementApply.UserId           = userId;
                    modelOrderRebateSettlementApply.DepartmentId     = departmentId;
                    modelOrderRebateSettlementApply.StartDate        = postOrderRebateSettlementApply.StartDate;
                    modelOrderRebateSettlementApply.EndDate          = postOrderRebateSettlementApply.EndDate;
                    modelOrderRebateSettlementApply.ApplyMoney       = postOrderRebateSettlementApply.ApplyMoney;
                    modelOrderRebateSettlementApply.ActualMoney      = postOrderRebateSettlementApply.ActualMoney;
                    modelOrderRebateSettlementApply.ApplyStatus      = 0;
                    modelOrderRebateSettlementApply.SettlementMethod = null;
                    modelOrderRebateSettlementApply.SalesPercentage  = 0;
                    modelOrderRebateSettlementApply.PaymentMethod    = postOrderRebateSettlementApply.PaymentMethod;
                    modelOrderRebateSettlementApply.OpeningBank      = postOrderRebateSettlementApply.OpeningBank;
                    modelOrderRebateSettlementApply.CardHolder       = postOrderRebateSettlementApply.CardHolder;
                    modelOrderRebateSettlementApply.CardNumber       = postOrderRebateSettlementApply.CardNumber;
                    modelOrderRebateSettlementApply.Remark           = postOrderRebateSettlementApply.Remark;
                    modelOrderRebateSettlementApply.CreateId         = ComPage.CurrentAdmin.UserID;
                    modelOrderRebateSettlementApply.CreateDate       = DateTime.Now;
                    modelOrderRebateSettlementApply.EditId           = null;
                    modelOrderRebateSettlementApply.EditDate         = null;
                    modelOrderRebateSettlementApply.IsDeleted        = 0;

                    orderRebateSettlementApplyId = opOrderRebateSettlementApply.Add(modelOrderRebateSettlementApply);
                    #endregion

                    #region 结算申请详情信息入库和修改订单返利结算申请表的结算状态为已申请
                    if (orderRebateSettlementApplyId > 0)
                    {
                        #region 结算申请详情信息入库和修改订单返利结算申请表的结算状态为已申请

                        StringBuilder where = new StringBuilder();
                        where.Append("b.ProductId=0");
                        #region 获取结算申请列表查询条件
                        string UserId = DNTRequest.GetString("UserId");
                        if (string.IsNullOrEmpty(UserId))
                        {
                            UserId = JsonRequest.GetJsonKeyVal(jsonText, "UserId");
                        }
                        if (!string.IsNullOrEmpty(UserId))
                        {
                            where.AppendFormat(" and a.UserId={0}", UserId);
                        }

                        string CompanyId = DNTRequest.GetString("CompanyId");
                        if (string.IsNullOrEmpty(CompanyId))
                        {
                            CompanyId = JsonRequest.GetJsonKeyVal(jsonText, "CompanyId");
                        }
                        if (!string.IsNullOrEmpty(CompanyId))
                        {
                            where.AppendFormat(" and a.CompanyId={0}", CompanyId);
                        }

                        string StartDate = DNTRequest.GetString("StartDate");
                        if (string.IsNullOrEmpty(StartDate))
                        {
                            StartDate = JsonRequest.GetJsonKeyVal(jsonText, "StartDate");
                        }

                        string EndDate = DNTRequest.GetString("EndDate");
                        if (string.IsNullOrEmpty(EndDate))
                        {
                            EndDate = JsonRequest.GetJsonKeyVal(jsonText, "EndDate");
                        }

                        if (!string.IsNullOrEmpty(StartDate) && !string.IsNullOrEmpty(EndDate))
                        {
                            where.AppendFormat(" and a.CreateDate between '{0} 00:00:00' and '{1} 23:59:59'", StartDate, EndDate);
                        }
                        else if (string.IsNullOrEmpty(StartDate) && !string.IsNullOrEmpty(EndDate))
                        {
                            where.AppendFormat(" and a.CreateDate<='{0} 23:59:59'", EndDate);
                        }
                        else if (!string.IsNullOrEmpty(StartDate) && string.IsNullOrEmpty(EndDate))
                        {
                            where.AppendFormat(" and a.CreateDate >= '{0} 00:00:00'", StartDate);
                        }

                        #endregion

                        where.Append(" and a.IsDeleted=0 and a.PayStatus=1 and a.IsSettled=0 and a.IsCancel=0");
                        OrderRebateBLL op = new OrderRebateBLL();
                        op.ApplySettlement(orderRebateSettlementApplyId, ComPage.CurrentAdmin.UserID, where.ToString(), ref res01, ref res02);

                        #endregion
                    }
                    #endregion
                    if (orderRebateSettlementApplyId > 0 && res01 > 0 && res02 > 0)
                    {
                        ts.Complete();
                        result = DNTRequest.GetResultJson(true, "申请结算成功", null);
                    }
                    else
                    {
                        ts.Dispose();
                        result = DNTRequest.GetResultJson(false, "申请结算失败,请稍后再试", null);
                    }
                }
                catch (Exception ex)
                {
                    ts.Dispose();
                    result = DNTRequest.GetResultJson(false, "申请结算异常,请稍后再试", null);
                    ExceptionLogBLL.WriteExceptionLogToDB(ex.ToString());
                }
            }
            return(result);
        }
Esempio n. 5
0
        /// <summary>
        /// 查询可结算订单列表
        /// </summary>
        static public Object QueryOrderList()
        {
            string result = string.Empty;

            try
            {
                string sEcho         = JsonRequest.GetJsonKeyVal(jsonText, "sEcho");
                int    displayStart  = ComPage.SafeToInt(JsonRequest.GetJsonKeyVal(jsonText, "iDisplayStart"));
                int    displayLength = ComPage.SafeToInt(JsonRequest.GetJsonKeyVal(jsonText, "iDisplayLength"));
                int    pageIndex     = (displayStart / displayLength) + 1;
                int    pageSize      = displayLength;

                #region 获取列表
                StringBuilder where = new StringBuilder();
                where.Append("b.ProductId=0");
                #region 查询条件

                #region 商家
                string UserId = DNTRequest.GetString("UserId");
                if (string.IsNullOrEmpty(UserId))
                {
                    UserId = JsonRequest.GetJsonKeyVal(jsonText, "UserId");
                }
                if (!string.IsNullOrEmpty(UserId))
                {
                    where.AppendFormat(" and a.UserId={0}", UserId);
                }
                #endregion

                #region  道
                string CompanyId = DNTRequest.GetString("CompanyId");
                if (string.IsNullOrEmpty(CompanyId))
                {
                    CompanyId = JsonRequest.GetJsonKeyVal(jsonText, "CompanyId");
                }
                if (!string.IsNullOrEmpty(CompanyId))
                {
                    where.AppendFormat(" and a.CompanyId={0}", CompanyId);
                }
                #endregion

                #region 结算周期
                string StartDate = DNTRequest.GetString("StartDate");
                if (string.IsNullOrEmpty(StartDate))
                {
                    StartDate = JsonRequest.GetJsonKeyVal(jsonText, "StartDate");
                }

                string EndDate = DNTRequest.GetString("EndDate");
                if (string.IsNullOrEmpty(EndDate))
                {
                    EndDate = JsonRequest.GetJsonKeyVal(jsonText, "EndDate");
                }

                if (!string.IsNullOrEmpty(StartDate) && !string.IsNullOrEmpty(EndDate))
                {
                    where.AppendFormat(" and a.CreateDate between '{0} 00:00:00' and '{1} 23:59:59'", StartDate, EndDate);
                }
                else if (string.IsNullOrEmpty(StartDate) && !string.IsNullOrEmpty(EndDate))
                {
                    where.AppendFormat(" and a.CreateDate<='{0} 23:59:59'", EndDate);
                }
                else if (!string.IsNullOrEmpty(StartDate) && string.IsNullOrEmpty(EndDate))
                {
                    where.AppendFormat(" and a.CreateDate>='{0} 00:00:00'", StartDate);
                }
                #endregion

                #endregion

                #region 固定的查询条件
                where.Append(" and a.IsDeleted=0 and a.PayStatus=1 and a.IsSettled=0 and a.IsCancel=0");
                #endregion

                #region 执行sql
                OrderRebateBLL op = new OrderRebateBLL();
                DataTable      dt = op.QueryOrderList(where.ToString());
                #endregion

                #region 结果处理
                double sumOrderMoney    = 0;
                double sumMerchantMoney = 0;
                double sumAgentMoney    = 0;
                double sumHQMoney       = 0;
                double sumNetProfit     = 0;
                double sumApplyMoney    = 0;
                int    totalCount       = 0;
                if (dt != null && dt.Rows.Count > 0)
                {
                    totalCount = dt.Rows.Count;
                    foreach (DataRow dr in dt.Rows)
                    {
                        sumOrderMoney    += Math.Round(ComPage.SafeToDouble(dr["sumOrderMoney"]), 2, MidpointRounding.AwayFromZero);
                        sumMerchantMoney += Math.Round(ComPage.SafeToDouble(dr["sumMerchantMoney"]), 2, MidpointRounding.AwayFromZero);
                        sumAgentMoney    += Math.Round(ComPage.SafeToDouble(dr["sumAgentMoney"]), 2, MidpointRounding.AwayFromZero);
                        sumHQMoney       += Math.Round(ComPage.SafeToDouble(dr["sumHQMoney"]), 2, MidpointRounding.AwayFromZero);
                        sumNetProfit     += Math.Round(ComPage.SafeToDouble(dr["sumNetProfit"]), 2, MidpointRounding.AwayFromZero);
                        int    settlementMethod = ComPage.SafeToInt(dr["SettlementMethod"]);
                        double salesPercentage  = ComPage.SafeToDouble(dr["SalesPercentage"]);
                        int    userType         = ComPage.SafeToInt(dr["UserType"]);
                        switch (settlementMethod)
                        {
                        case 1:
                            #region 销售额百分比分成
                            double salesPercentageMoney = (sumOrderMoney * salesPercentage) / 100;
                            sumApplyMoney += Math.Round(salesPercentageMoney, 2, MidpointRounding.AwayFromZero);
                            #endregion
                            break;

                        case 2:
                            #region 单笔结算分成
                            switch (userType)
                            {
                            case 2:        //经销商
                                sumApplyMoney += Math.Round(sumMerchantMoney, 2, MidpointRounding.AwayFromZero);
                                break;

                            case 3:        //代理商
                                sumApplyMoney += Math.Round(sumAgentMoney, 2, MidpointRounding.AwayFromZero);
                                break;
                            }
                            #endregion
                            break;
                        }
                    }
                }
                #endregion

                #region 拼装返回结果
                var obj = new
                {
                    result           = true,
                    code             = "",
                    msg              = "",
                    sumOrderMoney    = sumOrderMoney,
                    sumMerchantMoney = sumMerchantMoney,
                    sumAgentMoney    = sumAgentMoney,
                    sumHQMoney       = sumHQMoney,
                    sumNetProfit     = sumNetProfit,
                    sumApplyMoney    = sumApplyMoney,
                    recordsTotal     = totalCount,
                    recordsFiltered  = totalCount,
                    data             = ((dt == null) ? (new DataTable()) : (dt)),
                    sEcho            = sEcho
                };
                #endregion

                result = Newtonsoft.Json.JsonConvert.SerializeObject(obj);

                #endregion
            }
            catch (Exception ex)
            {
                result = DNTRequest.GetResultJson(false, "获取结算申请信息异常,", ex.Message);
                ExceptionLogBLL.WriteExceptionLogToDB(ex.ToString());
            }
            return(result);
        }
Esempio n. 6
0
        /// <summary>
        /// 获取的支付结果
        /// </summary>
        protected void GetPayResult()
        {
            //HttpContext.Current.Response.ContentType = "application/octet-stream";
            //HttpContext.Current.Response.ContentEncoding = Encoding.GetEncoding("UTF-8");
            //byte[] reqData = HttpContext.Current.Request.BinaryRead(HttpContext.Current.Request.TotalBytes);
            //string jsonText = Encoding.Default.GetString(reqData);

            /*
             * BSId	String	业务系统流水号
             * Price	String	支付的金额
             * PayOrderNumber	String	支付单号码(支付系统唯一标识)
             * OnlinePaymnetId	String	在线支付标识
             * PaymentId	String	支付系统流水号
             * Success	String	成功则为:Success,失败不会通知
             */
            try
            {
                #region 取值

                string BSId            = DNTRequest.GetString("BSId");
                string Price           = DNTRequest.GetString("Price");
                string PayOrderNumber  = DNTRequest.GetString("PayOrderNumber");
                string OnlinePaymnetId = DNTRequest.GetString("OnlinePaymnetId");
                string PaymentId       = DNTRequest.GetString("PaymentId");
                string Success         = DNTRequest.GetString("Success");
                int    orderApplyId    = 0;
                int    orderRebateId   = 0;
                string insureNum       = DNTRequest.GetString("insureNum");
                StringBuilder where = new StringBuilder();
                DataSet   ds = null;
                DataTable dt = null;
                if (!string.IsNullOrEmpty(insureNum))
                {
                    OrderApplyBLL opOrderApplyBLL = new OrderApplyBLL();
                    OrderApply    modelOrderApply = new OrderApply();
                    where.AppendFormat("insurenum='{0}'", insureNum);
                    ds = new DataSet();
                    ds = opOrderApplyBLL.GetList(where.ToString());
                    if (ds != null && ds.Tables.Count > 0)
                    {
                        dt = ds.Tables[0];
                    }
                }
                #endregion

                #region 支付结果更新

                if (dt != null && dt.Rows.Count > 0)
                {
                    DataRow dr = dt.Rows[0];
                    orderApplyId = ComPage.SafeToInt(dr["OrderApplyID"]);

                    #region 更新订单返利信息
                    OrderRebateBLL opSys_OrderRebate    = new OrderRebateBLL();
                    OrderRebate    modelSys_OrderRebate = new OrderRebate();
                    where = new StringBuilder();
                    where.AppendFormat("OrderApplyId={0}", orderApplyId);
                    ds = new DataSet();
                    ds = opSys_OrderRebate.GetList(where.ToString());
                    if (ds != null && ds.Tables.Count > 0)
                    {
                        dt = ds.Tables[0];
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            modelSys_OrderRebate = opSys_OrderRebate.DataRowToModel(dt.Rows[0]);
                            if (modelSys_OrderRebate != null)
                            {
                                litPrice.Text = modelSys_OrderRebate.OrderMoney.ToString("N2") + "元";
                                modelSys_OrderRebate.PayStatus = 1;
                                orderRebateId = modelSys_OrderRebate.OrderRebateId;
                                opSys_OrderRebate.Update(modelSys_OrderRebate);
                            }
                        }
                    }

                    #endregion

                    #region 更新订单支付申请
                    if (orderRebateId > 0)
                    {
                        OrderPayApplyBLL opSys_OrderPayApplyBLL = new OrderPayApplyBLL();
                        OrderPayApply    modelSys_OrderPayApply = new OrderPayApply();
                        where = new StringBuilder();
                        where.AppendFormat("OrderRebateId={0}", orderRebateId);
                        ds = new DataSet();
                        ds = opSys_OrderPayApplyBLL.GetList(where.ToString());
                        if (ds != null && ds.Tables.Count > 0)
                        {
                            dt = ds.Tables[0];
                            if (dt != null && dt.Rows.Count > 0)
                            {
                                modelSys_OrderPayApply = opSys_OrderPayApplyBLL.DataRowToModel(dt.Rows[0]);
                                if (modelSys_OrderPayApply != null)
                                {
                                    modelSys_OrderPayApply.PayOrderNumber = PayOrderNumber;
                                    modelSys_OrderPayApply.PayStatus      = 1;
                                    modelSys_OrderPayApply.PayPlatform    = 1;
                                    modelSys_OrderPayApply.PayMethod      = 1;
                                    modelSys_OrderPayApply.PayCode        = Success;
                                    string payMethod = "支付宝";
                                    switch (modelSys_OrderPayApply.PayMethod)
                                    {
                                    case 1:
                                        payMethod = "支付宝";
                                        break;
                                    }
                                    litPayMethod.Text = payMethod;
                                    litRemark.Text    = modelSys_OrderPayApply.Remark;
                                    modelSys_OrderPayApply.PayDate = DateTime.Now;
                                    opSys_OrderPayApplyBLL.Update(modelSys_OrderPayApply);
                                }
                            }
                        }
                    }
                    #endregion
                }
                else
                {
                    litSuccess.Text = "未获取到支付信息";
                }

                #endregion


                #region 显示到页面

                litBSId.Text = insureNum;
                //litPayOrderNumber.Text = PayOrderNumber;
                litSuccess.Text = "支付成功";

                #endregion

                #region 记录通知结果
                var obj = new
                {
                    BSId            = BSId,
                    Price           = Price,
                    PayOrderNumber  = PayOrderNumber,
                    OnlinePaymnetId = OnlinePaymnetId,
                    PaymentId       = PaymentId,
                    Success         = Success,
                };
                string res = Newtonsoft.Json.JsonConvert.SerializeObject(obj);
                //ExceptionLogBLL.WriteExceptionLogToDB("支付通知:" + res);
                #endregion
            }
            catch (Exception ex)
            {
                ExceptionLogBLL.WriteExceptionLogToDB("支付结果通知异常:" + ex.ToString());
            }
        }
Esempio n. 7
0
        public bool OrderApplyAdd(OrderApplyViewModel viewModel, out string msg)
        {
            msg = "ok";
            using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString))
            {
                conn.Open();
                using (SqlTransaction trans = conn.BeginTransaction())
                {
                    try
                    {
                        int ApplyId = dalOrderApply.Add(viewModel.orderApply, trans, conn);//
                        if (ApplyId < 0)
                        {
                            return(false);
                        }
                        else
                        {
                            viewModel.insurantInfo.OrderApplyID    = ApplyId;
                            viewModel.applicantInfo.OrderApplyID   = ApplyId;
                            viewModel.applicationData.OrderApplyID = ApplyId;
                            viewModel.otherInfo.OrderApplyID       = ApplyId;
                            #region 创建人赋值

                            //LoginUserCookie cookie = MerchantFrontCookieBLL.GetMerchantFrontUserCookie();
                            int createUserId = MerchantFrontCookieBLL.GetMerchantFrontUserId();
                            //int createUserId= cookie.LoginUserID;
                            try
                            {
                                UsersBLL opUsersBLL = new UsersBLL();
                                Users    modelUsers = opUsersBLL.GetModel(createUserId);
                                if (modelUsers != null)
                                {
                                    departmentId = modelUsers.DepartmentID;
                                }
                            }
                            catch { }
                            viewModel.insurantInfo.CreatUserID    = createUserId;
                            viewModel.applicantInfo.CreatUserID   = createUserId;
                            viewModel.applicationData.CreatUserID = createUserId;
                            viewModel.otherInfo.CreatUserID       = createUserId;
                            viewModel.orderApply.CreatUserID      = createUserId;
                            viewModel.orderApply.DepartmentId     = departmentId;
                            #endregion
                        }
                        int retCatId      = dalApplicationData.Add(viewModel.applicationData, trans, conn); //
                        int retInfoId     = dalApplicantInfo.Add(viewModel.applicantInfo, trans, conn);     //
                        int retInsurantId = dalInsurantInfo.Add(viewModel.insurantInfo, trans, conn);       //
                        int retotherId    = otherInfoDAL.Add(viewModel.otherInfo, trans, conn);
                        //调用Mofang业务BaoxianDataBLL

                        BaoxianDataBLL       baoxianBLL = new BaoxianDataBLL();
                        OrderApplyInputModel orderModel = new OrderApplyInputModel();
                        orderModel.applicantinfo            = new ApplicantInfo();
                        orderModel.applicantinfo.cName      = viewModel.applicantInfo.CName;
                        orderModel.applicantinfo.eName      = viewModel.applicantInfo.EName;
                        orderModel.applicantinfo.cardType   = viewModel.applicantInfo.CardType;
                        orderModel.applicantinfo.cardCode   = viewModel.applicantInfo.CardCode;
                        orderModel.applicantinfo.sex        = viewModel.applicantInfo.Sex;
                        orderModel.applicantinfo.birthday   = viewModel.applicantInfo.BirthDay;
                        orderModel.applicantinfo.mobile     = viewModel.applicantInfo.Mobile;
                        orderModel.applicantinfo.email      = viewModel.applicantInfo.Email;
                        orderModel.applicantinfo.cardPeriod = viewModel.applicantInfo.CardPeriod;
                        orderModel.applicantinfo.job        = viewModel.applicantInfo.Job;

                        orderModel.applicationdata = new ApplicationData();
                        orderModel.applicationdata.applicationDate = viewModel.applicationData.ApplicationDate;
                        orderModel.applicationdata.startDate       = viewModel.applicationData.StartDate;
                        orderModel.applicationdata.endDate         = viewModel.applicationData.EndDate;

                        orderModel.insurantInfo             = new InsurantInfo();
                        orderModel.insurantInfo.birthday    = viewModel.insurantInfo.Birthday;
                        orderModel.insurantInfo.cardCode    = viewModel.insurantInfo.CardCode;
                        orderModel.insurantInfo.cardPeriod  = viewModel.insurantInfo.CardPeriod;
                        orderModel.insurantInfo.cardType    = viewModel.insurantInfo.CardType;
                        orderModel.insurantInfo.cName       = viewModel.insurantInfo.CName;
                        orderModel.insurantInfo.count       = viewModel.insurantInfo.Count;
                        orderModel.insurantInfo.eName       = viewModel.insurantInfo.EName;
                        orderModel.insurantInfo.mobile      = viewModel.insurantInfo.Mobile;
                        orderModel.insurantInfo.relationId  = viewModel.insurantInfo.RelationID;
                        orderModel.insurantInfo.sex         = viewModel.insurantInfo.Sex;
                        orderModel.insurantInfo.singlePrice = viewModel.insurantInfo.SinglePrice;
                        orderModel.insurantInfo.email       = viewModel.insurantInfo.Email;
                        orderModel.insurantInfo.job         = viewModel.insurantInfo.Job;
                        orderModel.caseCode = viewModel.caseCode;
                        orderModel.transNo  = viewModel.transNo;
                        int Days = 0;
                        try
                        {
                            TimeSpan ts = Convert.ToDateTime(viewModel.applicationData.EndDate) - Convert.ToDateTime(viewModel.applicationData.StartDate);
                            Days = ts.Days;
                            if (Days == 0)
                            {
                                msg = "投保时间差有误!";
                            }
                        }
                        catch (Exception ex)
                        {
                            ExceptionLogBLL.WriteExceptionLogToDB(ex.ToString());
                        }
                        orderModel.insurantDateLimit = Days.ToString();

                        orderModel.otherInfo                = new OtherInfo();
                        orderModel.otherInfo.provCityId     = viewModel.otherInfo.ProvCityID;
                        orderModel.otherInfo.cardPeriod     = viewModel.otherInfo.CardPeriod.ToString("yyyy-MM-dd");
                        orderModel.otherInfo.notifyAnswerId = viewModel.otherInfo.NotifyAnswerID.ToString();
                        orderModel.otherInfo.priceArgsId    = viewModel.otherInfo.PriceArgsID;

                        orderModel.otherInfo.visaCity           = viewModel.otherInfo.VisaCity;
                        orderModel.otherInfo.destination        = viewModel.otherInfo.Destination;
                        orderModel.otherInfo.tripPurposeId      = viewModel.otherInfo.TripPurposeId;
                        orderModel.otherInfo.propertyAddress    = viewModel.otherInfo.PropertyAddress;
                        orderModel.otherInfo.relatedPersonHouse = viewModel.otherInfo.RelatedPersonHouse;

                        OrderApplyOutputModel outPutModel       = baoxianBLL.OrderApply(orderModel);
                        OrderPayViewModel     orderPayViewModel = new OrderPayViewModel();
                        orderPayViewModel.transNo   = outPutModel.transNo;
                        orderPayViewModel.insureNum = outPutModel.insureNum;
                        orderPayViewModel.price     = outPutModel.price;
                        orderPayViewModel.caseCode  = orderModel.insurantInfo.cardCode;
                        orderPayViewModel.customkey = orderModel.customkey;
                        msg = SerializerHelper.SerializeObject(outPutModel);
                        if (outPutModel.respstat == "0000")
                        {
                            trans.Commit();//提交事务
                            Model.OrderApply oOrderApply = new Model.OrderApply();
                            OrderApplyBLL    orderbll    = new OrderApplyBLL();
                            oOrderApply              = orderbll.GetModel(ApplyId);
                            oOrderApply.InsureNum    = orderPayViewModel.insureNum;
                            oOrderApply.Price        = orderPayViewModel.price;
                            oOrderApply.Respmsg      = outPutModel.respmsg;
                            oOrderApply.Respstat     = outPutModel.respstat;
                            oOrderApply.DepartmentId = departmentId;
                            bool flag = dalOrderApply.Update(oOrderApply);
                            if (!flag)
                            {
                                ExceptionLogBLL.WriteExceptionLogToDB("更新OrderApply表失败");
                            }
                            else //没问题后提交返利设置
                            {
                                #region 获取渠道返利设置
                                if (ApplyId > 0)
                                {
                                    CompanyRebate    modelSys_CompanyRebate = new CompanyRebate();
                                    CompanyRebateBLL opSys_CompanyRebateBLL = new CompanyRebateBLL();
                                    StringBuilder where = new StringBuilder();
                                    where.AppendFormat("IsDeleted=0 and casecode='{0}'", viewModel.caseCode);
                                    DataSet   ds = opSys_CompanyRebateBLL.GetList(where.ToString());
                                    DataTable dt = null;
                                    if (ds != null && ds.Tables.Count > 0)
                                    {
                                        dt = ds.Tables[0];
                                    }
                                    if (dt != null && dt.Rows.Count > 0)
                                    {
                                        DataRow dr = dt.Rows[0];
                                        modelSys_CompanyRebate = opSys_CompanyRebateBLL.DataRowToModel(dr);
                                        if (modelSys_CompanyRebate != null)
                                        {
                                            /*
                                             * 总价=订单金额
                                             * 总部毛利=总价*产品分成百分比(魔方提供 我方后台管理设置渠道各产品返回分成百分比)
                                             * 商家利润=总部毛利*商家返利百分比(我方后台管理设置渠各产品商家分成百分比)
                                             * 代理商利润=总部毛利*代理商返利百分比(我方后台管理设置渠各产品商家分成百分比)
                                             * 总部净利润=总部毛利-商家利润-代理商利润
                                             */
                                            decimal orderMoney     = viewModel.TotalPrice;
                                            decimal hqRebate       = modelSys_CompanyRebate.CompanyRebatePer;
                                            decimal hqMoney        = orderMoney * (hqRebate / 100);
                                            decimal agentRebate    = modelSys_CompanyRebate.AgentRebate;
                                            decimal agentMoney     = hqMoney * (agentRebate / 100);
                                            decimal merchantRebate = modelSys_CompanyRebate.MerchantRebate;
                                            decimal merchantMoney  = hqMoney * (merchantRebate / 100);
                                            decimal netProfit      = hqMoney - agentMoney - merchantMoney;

                                            #region 订单返利信息入库
                                            OrderRebateBLL opSys_OrderRebate    = new OrderRebateBLL();
                                            OrderRebate    modelSys_OrderRebate = new OrderRebate();
                                            modelSys_OrderRebate.TransNo         = viewModel.transNo;
                                            modelSys_OrderRebate.CompanyId       = 1;
                                            modelSys_OrderRebate.UserId          = viewModel.orderApply.UserID;
                                            modelSys_OrderRebate.OrderApplyId    = ApplyId;
                                            modelSys_OrderRebate.CompanyRebateId = modelSys_CompanyRebate.CompanyRebateId;
                                            modelSys_OrderRebate.OrderMoney      = orderMoney;
                                            modelSys_OrderRebate.HQRebate        = hqRebate;
                                            modelSys_OrderRebate.HQMoney         = hqMoney;
                                            modelSys_OrderRebate.MerchantRebate  = merchantRebate;
                                            modelSys_OrderRebate.MerchantMoney   = merchantMoney;
                                            modelSys_OrderRebate.AgentRebate     = agentRebate;
                                            modelSys_OrderRebate.AgentMoney      = agentMoney;
                                            modelSys_OrderRebate.NetProfit       = netProfit;
                                            modelSys_OrderRebate.PayStatus       = 0;
                                            modelSys_OrderRebate.IsSettled       = 0;
                                            modelSys_OrderRebate.IsCancel        = 0;
                                            modelSys_OrderRebate.SettlementDate  = null;
                                            modelSys_OrderRebate.CreateDate      = DateTime.Now;
                                            modelSys_OrderRebate.Remark          = modelSys_CompanyRebate.RebateName;
                                            modelSys_OrderRebate.IsDeleted       = 0;
                                            int orderRebateId = opSys_OrderRebate.Add(modelSys_OrderRebate);
                                            if (orderRebateId < 0)
                                            {
                                                ExceptionLogBLL.WriteExceptionLogToDB("订单返利信息添加失败");
                                            }

                                            #endregion

                                            #region 订单支付申请预先入库
                                            OrderPayApplyBLL opSys_OrderPayApplyBLL = new OrderPayApplyBLL();
                                            OrderPayApply    modelSys_OrderPayApply = new OrderPayApply();
                                            modelSys_OrderPayApply.OrderRebateId  = orderRebateId;
                                            modelSys_OrderPayApply.OrderMoney     = orderMoney;
                                            modelSys_OrderPayApply.PayOrderNumber = string.Empty;
                                            modelSys_OrderPayApply.PayStatus      = 0;
                                            modelSys_OrderPayApply.PayPlatform    = 1;
                                            modelSys_OrderPayApply.PayMethod      = 1;
                                            modelSys_OrderPayApply.PayCode        = string.Empty;
                                            modelSys_OrderPayApply.PayText        = string.Empty;
                                            modelSys_OrderPayApply.PayJson        = string.Empty;
                                            modelSys_OrderPayApply.CreateDate     = DateTime.Now;
                                            modelSys_OrderPayApply.Remark         = modelSys_CompanyRebate.RebateName;
                                            modelSys_OrderPayApply.IsDeleted      = 0;
                                            int res1 = opSys_OrderPayApplyBLL.Add(modelSys_OrderPayApply);
                                            if (res1 < 0)
                                            {
                                                ExceptionLogBLL.WriteExceptionLogToDB("订单支付申请预先入库失败");
                                            }
                                            #endregion
                                        }
                                    }
                                    else
                                    {
                                        ExceptionLogBLL.WriteExceptionLogToDB("获取渠道返利设置信息获取失败");
                                    }
                                }
                                #endregion
                            }
                        }
                        else
                        {
                            trans.Rollback();
                        }
                        return(true);
                    }
                    catch (Exception ex)
                    {
                        ExceptionLogBLL.WriteExceptionLogToDB(ex.ToString());
                        return(false);
                    }
                }
            }
        }
Esempio n. 8
0
        /// <summary>
        /// 获取分利列表
        /// </summary>
        static public Object GetOrderRebateList()
        {
            string result = string.Empty;

            try
            {
                string sEcho         = JsonRequest.GetJsonKeyVal(jsonText, "sEcho");
                int    displayStart  = ComPage.SafeToInt(JsonRequest.GetJsonKeyVal(jsonText, "iDisplayStart"));
                int    displayLength = ComPage.SafeToInt(JsonRequest.GetJsonKeyVal(jsonText, "iDisplayLength"));
                int    pageIndex     = (displayStart / displayLength) + 1;
                int    pageSize      = displayLength;

                #region 获取列表
                StringBuilder where = new StringBuilder();
                where.Append("1=1 and ort.IsDeleted=0 ");
                DepartmentInfo    df  = new DepartmentInfo();
                DepartmentInfoBLL bll = new DepartmentInfoBLL();
                df = bll.GetModel(ComPage.CurrentAdmin.DepartmentID);
                if (ComPage.CurrentAdmin.UserType != 1)
                {
                    if ((df == null) || (df != null && df.IsReceiveBusiness != false))
                    {
                        //where.Append(" AND  moa.UserID IN(select ID from [BWJSDB].dbo.[GetDepartmentChildren](" + ComPage.CurrentAdmin.UserID + "))");
                        where.Append(" AND moa.UserID IN(SELECT ID from[BWJSDB].dbo.[GetDepartmentChildren](" + ComPage.CurrentAdmin.UserID + "))");
                    }
                }

                #region 条件搜索
                string key = DNTRequest.GetString("searchKey");
                if (string.IsNullOrEmpty(key))
                {
                    key = JsonRequest.GetJsonKeyVal(jsonText, "searchKey");
                }

                string val = DNTRequest.GetString("searchValue");
                if (string.IsNullOrEmpty(val))
                {
                    val = JsonRequest.GetJsonKeyVal(jsonText, "searchValue");
                    val = System.Web.HttpContext.Current.Server.UrlDecode(val);
                }

                if (!string.IsNullOrEmpty(val))
                {
                    where.AppendFormat(" and  (moa.InsureNum like'" + val + "%'  or ort.TransNo  like'" + val + "%') ", val);
                }
                #endregion

                string iSortCol_0   = JsonRequest.GetJsonKeyVal(jsonText, "iSortCol_0");
                string sSortDir_0   = JsonRequest.GetJsonKeyVal(jsonText, "sSortDir_0");
                int    iSortingCols = ComPage.SafeToInt(JsonRequest.GetJsonKeyVal(jsonText, "iSortingCols"));
                string orderBy      = string.Empty;
                if (!string.IsNullOrEmpty(iSortCol_0))
                {
                    string orderField = JsonRequest.GetJsonKeyVal(jsonText, string.Format("mDataProp_{0}", iSortCol_0));
                    orderBy = string.Format(" {0} {1}", orderField, sSortDir_0);
                }

                string         sql            = "";
                int            zys            = 0;
                int            sumcount       = 0;
                OrderRebateBLL orderRebatebll = new OrderRebateBLL();
                DataTable      dt             = orderRebatebll.GetList(where.ToString(), pageIndex, pageSize, orderBy, ref sql, ref zys, ref sumcount);

                /*
                 *  iTotalRecord = sumcount,
                 *  iTotalDisplayRecords = sumcount,
                 */
                object obj = new
                {
                    result          = true,
                    code            = "",
                    msg             = "",
                    recordsTotal    = sumcount,
                    recordsFiltered = sumcount,
                    data            = ((dt == null) ? (new DataTable()) : (dt)),
                    sEcho           = sEcho,
                };
                result = Newtonsoft.Json.JsonConvert.SerializeObject(obj);

                #endregion
            }
            catch (Exception ex)
            {
                result = DNTRequest.GetResultJson(false, "操作异常,请稍候再试", null);
                ExceptionLogBLL.WriteExceptionLogToDB(ex.ToString());
            }
            return(result);
        }