Esempio n. 1
0
        /// <summary>
        /// 获取结算申请信息
        /// </summary>
        static public Object GetSettlementModel()
        {
            string result = string.Empty;

            try
            {
                int orderRebateSettlementApplyId = DNTRequest.GetInt("OrderRebateSettlementApplyId", 0);
                if (orderRebateSettlementApplyId == 0)
                {
                    result = DNTRequest.GetResultJson(false, "获取结算申请信息失败,请稍后再试", null);
                }
                OrderRebateSettlementApplyBLL op    = new OrderRebateSettlementApplyBLL();
                OrderRebateSettlementApply    model = new OrderRebateSettlementApply();
                if (orderRebateSettlementApplyId != 0)
                {
                    model = op.GetModel(orderRebateSettlementApplyId);
                }
                result = DNTRequest.GetResultJson(true, "success", model);
            }
            catch (Exception ex)
            {
                result = DNTRequest.GetResultJson(false, "获取结算申请信息异常,请稍后再试", null);
                ExceptionLogBLL.WriteExceptionLogToDB(ex.ToString());
            }
            return(result);
        }
Esempio n. 2
0
        /// <summary>
        /// 确认结算
        /// </summary>
        /// <returns></returns>
        static public Object ConfirmSettlement()
        {
            string result = string.Empty;

            using (TransactionScope ts = new TransactionScope())
            {
                try
                {
                    string orderRebateSettlementApplyId = DNTRequest.GetString("OrderRebateSettlementApplyId");
                    if (string.IsNullOrEmpty(orderRebateSettlementApplyId))
                    {
                        return(DNTRequest.GetResultJson(false, "请先选择确认结算的商户", null));
                    }
                    if (!string.IsNullOrEmpty(orderRebateSettlementApplyId))
                    {
                        OrderRebateSettlementApplyBLL opOrderRebateSettlementApply    = new OrderRebateSettlementApplyBLL();
                        OrderRebateSettlementApply    modelOrderRebateSettlementApply = new OrderRebateSettlementApply();

                        //更新结算申请表结算状态为已结算和更新订单表结算状态为已结算
                        int res01 = 0;
                        int res02 = 0;
                        opOrderRebateSettlementApply.ConfirmSettlement(orderRebateSettlementApplyId, ComPage.CurrentAdmin.UserID, ref res01, ref res02);

                        if (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. 3
0
        /// <summary>
        /// 获取结算申请列表
        /// </summary>
        static public Object GetSettlementList()
        {
            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;

                StringBuilder where = new StringBuilder();
                where.Append("a.IsDeleted=0 ");

                #region 权限
                if (ComPage.CurrentAdmin.UserType != 1)
                {
                    where.Append("AND  a.UserID IN (select ID from [dbo].[GetChildrenRole](" + ComPage.CurrentAdmin.UserID + "))");
                }
                #endregion

                #region 条件搜索

                #region 结算方式
                string settlementMethod = DNTRequest.GetString("settlementMethod");
                if (string.IsNullOrEmpty(settlementMethod))
                {
                    settlementMethod = JsonRequest.GetJsonKeyVal(jsonText, "settlementMethod");
                }
                if (!string.IsNullOrEmpty(settlementMethod))
                {
                    where.AppendFormat(" and a.SettlementMethod={0}", settlementMethod);
                }
                #endregion

                #region 支付方式
                string paymentMethod = DNTRequest.GetString("paymentMethod");
                if (string.IsNullOrEmpty(paymentMethod))
                {
                    paymentMethod = JsonRequest.GetJsonKeyVal(jsonText, "paymentMethod");
                }
                if (!string.IsNullOrEmpty(paymentMethod))
                {
                    where.AppendFormat(" and a.PaymentMethod={0}", paymentMethod);
                }
                #endregion

                #region 结算状态
                string status = DNTRequest.GetString("status");
                if (string.IsNullOrEmpty(status))
                {
                    status = JsonRequest.GetJsonKeyVal(jsonText, "status");
                }
                if (!string.IsNullOrEmpty(status))
                {
                    where.AppendFormat(" and a.ApplyStatus={0}", status);
                }
                #endregion

                #region 商家
                string merchantName = DNTRequest.GetString("merchantName");
                if (string.IsNullOrEmpty(merchantName))
                {
                    merchantName = JsonRequest.GetJsonKeyVal(jsonText, "merchantName");
                    merchantName = System.Web.HttpContext.Current.Server.UrlDecode(merchantName);
                }
                if (!string.IsNullOrEmpty(merchantName))
                {
                    where.AppendFormat(" and b.UserName like'%{0}%'", merchantName);
                }
                #endregion

                #region 开户行
                string openingBank = DNTRequest.GetString("openingBank");
                if (string.IsNullOrEmpty(openingBank))
                {
                    openingBank = JsonRequest.GetJsonKeyVal(jsonText, "openingBank");
                    openingBank = System.Web.HttpContext.Current.Server.UrlDecode(openingBank);
                }
                if (!string.IsNullOrEmpty(openingBank))
                {
                    where.AppendFormat(" and a.OpeningBank like'%{0}%'", openingBank);
                }
                #endregion

                #region 持卡人
                string cardHolder = DNTRequest.GetString("cardHolder");
                if (string.IsNullOrEmpty(cardHolder))
                {
                    cardHolder = JsonRequest.GetJsonKeyVal(jsonText, "cardHolder");
                    cardHolder = System.Web.HttpContext.Current.Server.UrlDecode(cardHolder);
                }
                if (!string.IsNullOrEmpty(cardHolder))
                {
                    where.AppendFormat(" and a.CardHolder like'%{0}%'", cardHolder);
                }
                #endregion

                #region 卡号
                string cardNumber = DNTRequest.GetString("cardNumber");
                if (string.IsNullOrEmpty(cardNumber))
                {
                    cardNumber = JsonRequest.GetJsonKeyVal(jsonText, "cardNumber");
                    cardNumber = System.Web.HttpContext.Current.Server.UrlDecode(cardNumber);
                }
                if (!string.IsNullOrEmpty(cardNumber))
                {
                    where.AppendFormat(" and a.CardNumber like '%{0}%'", cardNumber);
                }
                #endregion

                #region 备注
                string remark = DNTRequest.GetString("remark");
                if (string.IsNullOrEmpty(remark))
                {
                    remark = JsonRequest.GetJsonKeyVal(jsonText, "remark");
                    remark = System.Web.HttpContext.Current.Server.UrlDecode(remark);
                }
                if (!string.IsNullOrEmpty(remark))
                {
                    where.AppendFormat(" and a.Remark like '%{0}%'", remark);
                }
                #endregion

                #region 结算金额
                string applyMoney = DNTRequest.GetString("applyMoney");
                if (string.IsNullOrEmpty(applyMoney))
                {
                    applyMoney = JsonRequest.GetJsonKeyVal(jsonText, "applyMoney");
                    applyMoney = System.Web.HttpContext.Current.Server.UrlDecode(applyMoney);
                }
                if (!string.IsNullOrEmpty(applyMoney))
                {
                    where.AppendFormat(" and (a.ApplyMoney={0} or a.ActualMoney={0})", applyMoney);
                }
                #endregion

                #region 结算周期
                string startDate = DNTRequest.GetString("startDate");
                if (string.IsNullOrEmpty(applyMoney))
                {
                    startDate = JsonRequest.GetJsonKeyVal(jsonText, "startDate");
                    startDate = System.Web.HttpContext.Current.Server.UrlDecode(startDate);
                }
                string endDate = DNTRequest.GetString("endDate");
                if (string.IsNullOrEmpty(endDate))
                {
                    endDate = JsonRequest.GetJsonKeyVal(jsonText, "endDate");
                    endDate = System.Web.HttpContext.Current.Server.UrlDecode(endDate);
                }

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

                #endregion

                #region 排序字段
                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);
                }
                #endregion

                #region 分页查询
                string sql      = "";
                int    zys      = 0;
                int    sumcount = 0;
                OrderRebateSettlementApplyBLL opOrderRebateSettlementApplyBLL = new OrderRebateSettlementApplyBLL();
                DataTable dt = opOrderRebateSettlementApplyBLL.GetList(where.ToString(), pageIndex, pageSize, orderBy, ref sql, ref zys, ref sumcount);
                #endregion

                #region 查询结果
                object obj = new
                {
                    result          = true,
                    code            = "",
                    msg             = "",
                    recordsTotal    = sumcount,
                    recordsFiltered = sumcount,
                    data            = ((dt == null) ? (new DataTable()) : (dt)),
                    sEcho           = sEcho,
                };
                #endregion

                result = Newtonsoft.Json.JsonConvert.SerializeObject(obj);
            }
            catch (Exception ex)
            {
                result = DNTRequest.GetResultJson(false, "获取结算申请信息异常,", ex.Message);
                ExceptionLogBLL.WriteExceptionLogToDB(ex.ToString());
            }
            return(result);
        }
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);
        }