Beispiel #1
0
        /// <summary>
        /// grid 数据绑定
        /// </summary>
        /// <param name="paramPageIndex"></param>
        /// <param name="paramPageSize"></param>
        public void BindGrid(int paramPageIndex, int paramPageSize)
        {
            //开始时间
            string logStartTime = txtLogStartTime.Value.ToString();
            //结束时间
            string logEndTime = txtLogEndTime.Value.ToString();
            XMNick nick       = XMNickService.GetXMNickByID(this.NickID);
            //平台类型
            int PlatformTypeId = 0;
            List <XMNickAchieveValue> newList;

            if (nick != null)
            {
                PlatformTypeId = nick.PlatformTypeId.Value;
                var list = base.XMNickAchieveValueService.GetXMNickAchieveValueList();
                newList = list.Where(p => p.NickId == this.NickID &&
                                     (p.DateTime.Date >= DateTime.Parse(logStartTime) && p.DateTime.Date <= DateTime.Parse(logEndTime))
                                     ).ToList();
                var pageList = new PagedList <XMNickAchieveValue>(newList, paramPageIndex, paramPageSize, this.Master.GridViewSortField, this.Master.GridViewSortDir.ToString());
                if (this.RowEditIndex == -1)
                {
                    this.gvNickTitle.EditIndex = pageList.Count();
                    //添加新增行
                    pageList.Add(new XMNickAchieveValue());
                }
                else
                {
                    this.gvNickTitle.EditIndex = this.RowEditIndex;
                }

                this.Master.BindData(this.gvNickTitle, pageList, paramPageSize + 1);
            }
        }
Beispiel #2
0
        public void ToSave(string OrderCode, string wangwang, string ApplicationTypeId, string PaymentPerson, bool chk, int ID, string note, int NickId)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                try
                {
                    string msg = "";
                    if (chk)
                    {
                        if (string.IsNullOrEmpty(OrderCode))
                        {
                            msg = "订单号不能为空!";
                            base.ShowMessage(msg);
                            return;
                        }
                        else
                        {
                            var OrderInfo = XMOrderInfoService.GetXMOrderByOrderCode(OrderCode);
                            if (OrderInfo == null)
                            {
                                msg = "该订单号的订单不存在!";
                                base.ShowMessage(msg);
                                return;
                            }
                        }
                    }
                    else
                    {
                        if (NickId == -1)
                        {
                            msg = "无订单号赠品,赔付单必须选择店铺!";
                            base.ShowMessage(msg);
                            return;
                        }
                    }

                    if (ApplicationTypeId == Convert.ToInt32(StatusEnum.ChildPayment).ToString() && PaymentPerson == "-1")
                    {
                        msg = "请先选择赔付方!";
                        base.ShowMessage(msg);
                        return;
                    }

                    //财务未审核
                    bool FinanceIsAudit = false;
                    //项目未审核
                    int ManagerStatus = 3;
                    //项目id
                    int projectID = 0;
                    //平台id
                    int platformTypeId = 0;

                    if (ID == 0)
                    {
                        List <XMPremiumsDetails> list = new List <XMPremiumsDetails>();
                        if (Session["PremiumsDetailList"] != null)
                        {
                            list = (List <XMPremiumsDetails>)Session["PremiumsDetailList"];
                        }

                        decimal priceAmount = (decimal)list.Sum(a => a.FactoryPrice * a.ProductNum);

                        XMPremiums XMPremium = new XMPremiums();
                        if (chk)
                        {
                            XMPremium.OrderCode = OrderCode; //订单号
                            XMPremium.WantId    = wangwang;  //旺旺号
                            var OrderInfo = XMOrderInfoService.GetXMOrderByOrderCode(OrderCode);
                            projectID      = OrderInfo.ProjectId;
                            platformTypeId = (int)OrderInfo.PlatformTypeId;
                        }
                        else
                        {
                            XMPremium.OrderCode     = "NoOrder" + DateTime.Now.ToString("yyMMddHHmmssfff");;
                            XMPremium.WantId        = "";
                            XMPremium.NoOrderNickId = NickId;
                            var xmNick = XMNickService.GetXMNickByID(NickId);
                            projectID      = (int)xmNick.ProjectId;
                            platformTypeId = (int)xmNick.PlatformTypeId;
                        }

                        var XMDeductionSetUp = XMDeductionSetUpService.GetXMDeductionSetUpByProjectAndPlatformTypeId(projectID, 476, platformTypeId);
                        if (XMDeductionSetUp != null)
                        {
                            //根据项目限额,平台限额,自动设置审核进度
                            if (priceAmount <= XMDeductionSetUp.Deduction)
                            {
                                FinanceIsAudit = true;
                                //项目审核
                                ManagerStatus = 4;
                            }
                            else if (priceAmount > XMDeductionSetUp.Deduction && priceAmount <= XMDeductionSetUp.Finance)
                            {
                                FinanceIsAudit = true;
                            }
                        }
                        else
                        {
                            //通用
                            var XMDeductionSetUpUsually = XMDeductionSetUpService.GetXMDeductionSetUpByProjectAndPlatformTypeId(projectID, 476, 508);
                            if (XMDeductionSetUpUsually != null)
                            {
                                //根据项目限额,平台限额,自动设置审核进度
                                if (priceAmount <= XMDeductionSetUpUsually.Deduction)
                                {
                                    FinanceIsAudit = true;
                                    //项目审核
                                    ManagerStatus = 4;
                                }
                                else if (priceAmount > XMDeductionSetUpUsually.Deduction && priceAmount <= XMDeductionSetUpUsually.Finance)
                                {
                                    FinanceIsAudit = true;
                                }
                            }
                        }

                        if (ApplicationTypeId == Convert.ToInt32(StatusEnum.ChildPayment).ToString() && PaymentPerson != "-1")
                        {
                            XMPremium.PaymentPerson = int.Parse(PaymentPerson);//赔付方
                        }
                        else
                        {
                            XMPremium.PaymentPerson = null;
                        }

                        XMPremium.PremiumsTypeId = int.Parse(ApplicationTypeId);//申请类型
                        XMPremium.ManagerStatus  = ManagerStatus;
                        XMPremium.PremiumsStatus = Convert.ToInt32(StatusEnum.PremiumsNoHair);
                        XMPremium.FinanceIsAudit = FinanceIsAudit;
                        XMPremium.IsEnable       = false;
                        XMPremium.IsEvaluation   = false;
                        XMPremium.IsSingleRow    = false;
                        XMPremium.CreatorID      = HozestERPContext.Current.User.CustomerID;
                        XMPremium.CreateTime     = DateTime.Now;
                        XMPremium.UpdatorID      = HozestERPContext.Current.User.CustomerID;
                        XMPremium.UpdateTime     = DateTime.Now;
                        XMPremium.Note           = note;
                        base.XMPremiumsService.InsertXMPremiums(XMPremium);


                        //更新ActivityExplanation
                        string p = "";
                        foreach (XMPremiumsDetails one in list)
                        {
                            one.PremiumsId  = XMPremium.Id;
                            one.IsSingleRow = false;
                            base.XMPremiumsDetailsService.InsertXMPremiumsDetails(one);

                            if (one.Specifications != "")
                            {
                                p += one.PrdouctName + "(" + one.Specifications + ")" + "*" + one.ProductNum + "+";
                            }
                            else
                            {
                                p += one.PrdouctName + "*" + one.ProductNum + "+";
                            }
                        }
                        if (p.Length > 0)
                        {
                            p = p.Substring(0, p.Length - 1);
                        }

                        XMPremium.ActivityExplanation = p;
                        base.XMPremiumsService.UpdateXMPremiums(XMPremium);

                        if (XMPremium.PremiumsTypeId == Convert.ToInt32(StatusEnum.ChildPayment))//赔付
                        {
                            if (!AddClaimInfo(XMPremium, NickId))
                            {
                                msg = "理赔管理中已有该理赔,不能新增修改;若要操作,请先删除!";
                                base.ShowMessage(msg);
                                return;
                            }
                        }

                        if (ApplicationTypeId != Convert.ToInt32(StatusEnum.ChildPayment).ToString())
                        {
                            this.wangwang.Value        = wangwang;
                            this.btnSave.Visible       = false;
                            this.txtScalpingCode.Value = XMPremium.OrderCode;
                            BindGrid();
                        }

                        msg = "保存成功!";
                        base.ShowMessage(msg);
                        scope.Complete();
                    }
                    else
                    {
                        string p = "";
                        var    premiumdetails = base.XMPremiumsDetailsService.GetXMPremiumsDetailsListByPremiumsId(ID);
                        foreach (var a in premiumdetails)
                        {
                            if (a.Specifications != "")
                            {
                                p += a.PrdouctName + "(" + a.Specifications + ")" + "*" + a.ProductNum + "+";
                            }
                            else
                            {
                                p += a.PrdouctName + "*" + a.ProductNum + "+";
                            }
                        }
                        if (p.Length > 0)
                        {
                            p = p.Substring(0, p.Length - 1);
                        }

                        decimal priceAmount = (decimal)premiumdetails.Sum(a => a.FactoryPrice);

                        var OrderInfo           = XMOrderInfoService.GetXMOrderByOrderCode(OrderCode);
                        int paramPlatformTypeId = -1;
                        int paramProjectId      = -1;
                        if (OrderInfo != null)
                        {
                            paramPlatformTypeId = (int)OrderInfo.PlatformTypeId;
                            paramProjectId      = OrderInfo.ProjectId;
                        }
                        var XMDeductionSetUp = XMDeductionSetUpService.GetXMDeductionSetUpByProjectAndPlatformTypeId(paramProjectId, 476, paramPlatformTypeId);

                        //根据项目限额,平台限额,自动设置审核进度
                        if (XMDeductionSetUp != null)
                        {
                            if (priceAmount <= XMDeductionSetUp.Deduction)
                            {
                                FinanceIsAudit = true;
                                //项目审核
                                ManagerStatus = 4;
                            }
                            else if (priceAmount > XMDeductionSetUp.Deduction && priceAmount <= XMDeductionSetUp.Finance)
                            {
                                FinanceIsAudit = true;
                            }
                        }
                        else
                        {
                            //通用
                            var XMDeductionSetUpUsually = XMDeductionSetUpService.GetXMDeductionSetUpByProjectAndPlatformTypeId(projectID, 476, 508);
                            if (XMDeductionSetUpUsually != null)
                            {
                                //根据项目限额,平台限额,自动设置审核进度
                                if (priceAmount <= XMDeductionSetUpUsually.Deduction)
                                {
                                    FinanceIsAudit = true;
                                    //项目审核
                                    ManagerStatus = 4;
                                }
                                else if (priceAmount > XMDeductionSetUpUsually.Deduction && priceAmount <= XMDeductionSetUpUsually.Finance)
                                {
                                    FinanceIsAudit = true;
                                }
                            }
                        }


                        var XMPremium = base.XMPremiumsService.GetXMPremiumsById(ID);
                        XMPremium.OrderCode           = OrderCode; //订单号
                        XMPremium.WantId              = wangwang;  //旺旺号
                        XMPremium.ActivityExplanation = p;

                        if (ApplicationTypeId == Convert.ToInt32(StatusEnum.ChildPayment).ToString() && PaymentPerson != "-1")
                        {
                            XMPremium.PaymentPerson = int.Parse(PaymentPerson);//赔付方
                        }
                        else
                        {
                            XMPremium.PaymentPerson = null;
                        }

                        if (!chk)
                        {
                            XMPremium.NoOrderNickId = NickId;
                        }

                        XMPremium.PremiumsTypeId = int.Parse(ApplicationTypeId);//申请类型
                        XMPremium.UpdatorID      = HozestERPContext.Current.User.CustomerID;
                        XMPremium.UpdateTime     = DateTime.Now;
                        XMPremium.Note           = note;
                        XMPremium.ManagerStatus  = ManagerStatus;
                        XMPremium.FinanceIsAudit = FinanceIsAudit;
                        base.XMPremiumsService.UpdateXMPremiums(XMPremium);

                        if (XMPremium.PremiumsTypeId == Convert.ToInt32(StatusEnum.ChildPayment))
                        {
                            if (!AddClaimInfo(XMPremium, NickId))
                            {
                                msg = "理赔管理中已有该理赔,不能新增修改;若要操作,请先删除!";
                                base.ShowMessage(msg);
                                return;
                            }
                        }

                        if (ApplicationTypeId != Convert.ToInt32(StatusEnum.ChildPayment).ToString())
                        {
                            this.wangwang.Value = wangwang;
                        }

                        base.ShowMessage("修改成功!");
                        scope.Complete();
                    }
                }
                catch (Exception err)
                {
                    this.ProcessException(err);
                }
            }
        }