예제 #1
0
        /// <summary>
        /// 保存新的报价
        /// </summary>
        /// <returns></returns>
        private string PageSave()
        {
            string msg  = string.Empty;
            int    type = Utils.GetInt(Utils.GetQueryStringValue("type"));

            #region 获取表单
            //线路区域编号
            int areaID = Utils.GetInt(Utils.GetFormValue("sltArea"));
            //线路编号
            string routeID = Utils.GetFormValue(this.hideRouteID.UniqueID);
            //线路名称
            string routeName = Utils.GetFormValue(this.txt_RouteName.UniqueID);
            //天数
            int days = Utils.GetInt(Utils.GetFormValue(this.txt_Days.UniqueID));
            //客源地 国家
            int contryID = Utils.GetInt(Utils.GetFormValue("sltCountry"));
            //客源地 省份
            int provinceID = Utils.GetInt(Utils.GetFormValue("sltProvince"));
            //询价单位 编号
            string buyCompanyID = Utils.GetFormValue(this.UC_CustomerUnitSelect.ClientNameKHBH);
            //询价单位 名称
            string buyCompanyName = Utils.GetFormValue(this.UC_CustomerUnitSelect.ClientNameKHMC);
            //联系人
            string contactName = Utils.GetFormValue(this.txt_Contact.UniqueID);
            //联系电话
            string contactTel = Utils.GetFormValue(this.txt_ConTel.UniqueID);
            //联系人部门编号
            string contactDepartId = Utils.GetFormValue(this.hideContactDeptId.UniqueID);
            //销售员编号
            string sellsID = Utils.GetFormValue(this.SellsSelect1.SellsIDClient);
            //销售员名称
            string sellsName = Utils.GetFormValue(this.SellsSelect1.SellsNameClient);
            //报价员 取当前登录用户
            EyouSoft.Model.TourStructure.MOperatorInfo operatorModel = new EyouSoft.Model.TourStructure.MOperatorInfo();
            operatorModel.OperatorId = this.SiteUserInfo.UserId;
            operatorModel.Name       = this.SiteUserInfo.Name;
            operatorModel.Phone      = this.SiteUserInfo.Telephone;
            //成人数
            int adultCount = Utils.GetInt(Utils.GetFormValue(this.txt_Adult.UniqueID));
            //成人价格
            decimal adultPrice = Utils.GetDecimal(Utils.GetFormValue(this.txtAdultPrice.UniqueID));
            //儿童数
            int childCount = Utils.GetInt(Utils.GetFormValue(this.txt_Child.UniqueID));
            //儿童价格
            decimal childPrice = Utils.GetDecimal(Utils.GetFormValue(this.txtChildPrice.UniqueID));
            //其它价格
            decimal otherPrice = Utils.GetDecimal(Utils.GetFormValue(this.txtOtherPrice.UniqueID));
            //行程特色
            string planContent = Utils.EditInputText(Request.Form[this.txtPlanContent.UniqueID]);
            //价格备注
            string quoteRemark = Utils.GetFormValue(this.txtQuoteRemark.UniqueID);
            //合计金额
            decimal sumPrice = Utils.GetDecimal(Utils.GetFormValue(this.txtSumPrice.UniqueID));
            //签字资料(附件)


            #region 表单获取
            //出团时间
            DateTime successDateBegin = Utils.GetDateTime(Utils.GetFormValue(this.txtLDate.UniqueID), DateTime.Now);
            //出发交通
            string successsStraffBegin = Utils.GetFormValue(this.txtSuccesssStraffBegin.UniqueID);
            //返回交通
            string successsStraffEnd = Utils.GetFormValue(this.txtSuccesssStraffEnd.UniqueID);
            //集合方式
            string successGather = Utils.GetFormValue(this.txtSuccessGather.UniqueID);
            //增加费用
            decimal successAddPrice = Utils.GetDecimal(Utils.GetFormValue(this.txtSuccessAddPrice.UniqueID), 0);
            //增加费用备注
            string successAddPriceRemark = Utils.GetFormValue(this.txtSuccessAddPriceRemark.UniqueID);
            //减少费用
            decimal successReducePrice = Utils.GetDecimal(Utils.GetFormValue(this.txtSuccessReducePrice.UniqueID));
            //减少费用备注
            string successReducePriceRemark = Utils.GetFormValue(this.txtSuccessReducePriceRemark.UniqueID);
            //导游现收
            decimal successGuideIncome = Utils.GetDecimal(Utils.GetFormValue(this.txtSuccessGuideIncome.UniqueID));
            //订单备注
            string successOrderRemark = Utils.GetFormValue(this.txtSuccessOrderRemark.UniqueID);
            #region 超限申请表单获取
            //垫付金额
            decimal applyPrice = Utils.GetDecimal(Utils.GetFormValue(this.txtApplyPrice.UniqueID));
            //超限备注
            string applyRemarks = Utils.GetFormValue(this.txtApplyRemarks.UniqueID);
            //申请人编号
            string applyManID = this.SiteUserInfo.UserId;
            //申请日期
            DateTime applyDateTime = DateTime.Now;
            #endregion

            //变更标题
            string changeTitle = Utils.GetFormValue("txt_ChangeTitle");
            //变更备注
            string changeRemark = Utils.GetFormValue("txt_ChangeRemark");
            //签证附件(新)
            string[] visaUpload    = Utils.GetFormValues(this.UploadControl1.ClientHideID);
            string[] oldVisaUpload = Utils.GetFormValues("hideVisaFile");
            #endregion

            #endregion
            //1=保存
            string saveType = Utils.GetQueryStringValue("saveType");

            #region 表单后台验证
            if (areaID == 0)
            {
                msg = "请选择线路区域!";
            }
            if (routeName == "")
            {
                msg += "<br />请输入线路名称!";
            }
            if (days == 0)
            {
                msg += "<br />请输入天数!";
            }
            if (buyCompanyID == "")
            {
                msg += "<br />请选择客户单位!";
            }
            if (sellsID == "")
            {
                msg += "<br />请输入销售员!";
            }
            if (adultCount == 0)
            {
                msg += "<br />请输入成人数!";
            }
            if (adultPrice == 0)
            {
                msg += "<br />请输入成人价!";
            }

            if (msg != "")
            {
                return("{\"result\":\"0\",\"msg\":\"" + msg + "\"}");
            }

            #endregion


            EyouSoft.BLL.TourStructure.BTour           bll   = new EyouSoft.BLL.TourStructure.BTour();
            EyouSoft.Model.TourStructure.MTourTeamInfo model = new EyouSoft.Model.TourStructure.MTourTeamInfo();
            act = Utils.GetQueryStringValue("act");
            if (act == "update")
            {
                model.TourId = Utils.GetQueryStringValue("id");
            }
            model.AddCostRemark = successAddPriceRemark;
            model.AdultPrice    = adultPrice;
            model.Adults        = adultCount;
            model.AdvanceApp    = null;
            model.AreaId        = areaID;
            //model.AreaName = "";
            model.ChildPrice              = childPrice;
            model.Childs                  = childCount;
            model.CompanyId               = this.SiteUserInfo.CompanyId;
            model.CompanyInfo             = new MCompanyInfo();
            model.CompanyInfo.CompanyId   = buyCompanyID;
            model.CompanyInfo.CompanyName = buyCompanyName;
            model.CompanyInfo.Contact     = contactName;
            model.CompanyInfo.Phone       = contactTel;
            model.ContactDepartId         = contactDepartId;
            string costCalculation = string.Empty;
            EyouSoft.Model.TourStructure.MTourService tourService = UtilsCommons.GetTourService(out costCalculation);
            model.CostCalculation = costCalculation;
            model.CountryId       = contryID;
            model.Gather          = successGather;
            model.GuideIncome     = successGuideIncome;

            model.LDate = successDateBegin;

            #region 签证附件
            IList <EyouSoft.Model.ComStructure.MComAttach> visaList = null;
            if (visaUpload.Length > 0)
            {
                visaList = new List <EyouSoft.Model.ComStructure.MComAttach>();
                for (int i = 0; i < visaUpload.Length; i++)
                {
                    if (visaUpload[i].Trim() != "")
                    {
                        if (visaUpload[i].Split('|').Length > 1)
                        {
                            EyouSoft.Model.ComStructure.MComAttach visaModel = new EyouSoft.Model.ComStructure.MComAttach();
                            visaModel.Downloads = 0;
                            visaModel.FilePath  = visaUpload[i].Split('|')[1];
                            visaModel.ItemType  = EyouSoft.Model.EnumType.ComStructure.AttachItemType.报价签证资料;
                            visaModel.Name      = visaUpload[i].Split('|')[0];
                            visaModel.Size      = 0;
                            visaList.Add(visaModel);
                        }
                    }
                }
            }
            if (oldVisaUpload.Length > 0)
            {
                if (visaList == null)
                {
                    visaList = new List <EyouSoft.Model.ComStructure.MComAttach>();
                }
                for (int i = 0; i < oldVisaUpload.Length; i++)
                {
                    EyouSoft.Model.ComStructure.MComAttach visaModel = new EyouSoft.Model.ComStructure.MComAttach();
                    visaModel.Downloads = Utils.GetInt(oldVisaUpload[i].Split('|')[2]);
                    visaModel.FilePath  = oldVisaUpload[i].Split('|')[1];
                    visaModel.ItemType  = EyouSoft.Model.EnumType.ComStructure.AttachItemType.计划签证资料;
                    visaModel.Name      = oldVisaUpload[i].Split('|')[0];
                    visaModel.Size      = 0;
                    visaList.Add(visaModel);
                }
            }
            model.VisaFileList = visaList;
            #endregion

            model.LTraffic                = successsStraffBegin;
            model.OperatorInfo            = new EyouSoft.Model.TourStructure.MOperatorInfo();
            model.OperatorInfo.OperatorId = this.SiteUserInfo.UserId;
            model.OperatorInfo.Name       = this.SiteUserInfo.Name;
            model.OperatorInfo.Phone      = this.SiteUserInfo.Telephone;
            model.OrderRemark             = successOrderRemark;
            model.OtherCost               = otherPrice;
            Dictionary <string, object> quoteType = UtilsCommons.GetServiceType();
            bool IsTourOrSubentry = (bool)quoteType["IsTourOrSubentry"];
            if (IsTourOrSubentry)
            {
                //整团
                tourService.ServiceStandard = quoteType["Service"].ToString();
                model.OutQuoteType          = EyouSoft.Model.EnumType.TourStructure.TourQuoteType.整团;
            }
            else
            {
                //分项
                model.TourTeamPrice = (IList <EyouSoft.Model.TourStructure.MTourTeamPrice>)quoteType["Service"];
                model.OutQuoteType  = EyouSoft.Model.EnumType.TourStructure.TourQuoteType.分项;
            }

            model.PlanFeature       = planContent;
            model.ProvinceId        = provinceID;
            model.QuoteRemark       = quoteRemark;
            model.ReduceCostRemark  = successReducePriceRemark;
            model.RouteId           = routeID;
            model.RouteName         = routeName;
            model.RTraffic          = successsStraffEnd;
            model.SaleAddCost       = successAddPrice;
            model.TourChangeTitle   = changeTitle;
            model.TourChangeContent = changeRemark;

            //获得销售员信息实体
            EyouSoft.Model.ComStructure.MComUser sellsModel = new EyouSoft.BLL.ComStructure.BComUser().GetModel(sellsID, SiteUserInfo.CompanyId);
            if (sellsModel != null)
            {
                model.SaleInfo          = new EyouSoft.Model.TourStructure.MSaleInfo();
                model.SaleInfo.SellerId = sellsID;
                model.SaleInfo.Name     = sellsName;
                model.SaleInfo.Phone    = sellsModel.ContactMobile;
                model.SaleInfo.DeptId   = sellsModel.DeptId;
            }

            model.SaleReduceCost = successReducePrice;
            model.SalerIncome    = sumPrice - successGuideIncome;
            model.AdvanceApp     = null;
            model.SumPrice       = sumPrice;

            model.TourDays    = days;
            model.TourPlan    = UtilsCommons.GetPlanList();
            model.TourService = tourService;
            #region 无需赋值
            //model.PlanPeopleNumber
            //model.QuoteRemark
            //model.RealPeopleNumber
            //model.Review
            //model.ReviewTime
            //model.TourPlaner
            //model.TourPlanItem
            //model.TourPlanStatus
            //model.PeopleNumberLast
            //model.GuideList = null;
            //model.IsChange = false;
            //model.IsReview
            //model.IsSubmit
            //model.IsSure 列表
            //model.LeavePeopleNumber
            #endregion

            model.HeTongCode = Utils.GetFormValue(txtHeTongHao.HeTongCodeClientID);
            model.HeTongId   = Utils.GetFormValue(txtHeTongHao.HeTongIdClientID);

            //超限赋值
            if (saveType == "2")
            {
                model.AdvanceApp                = new EyouSoft.Model.TourStructure.MAdvanceApp();
                model.AdvanceApp.Applier        = this.SiteUserInfo.Name;
                model.AdvanceApp.ApplierId      = this.SiteUserInfo.UserId;
                model.AdvanceApp.DisburseAmount = applyPrice;
                model.AdvanceApp.ApplyTime      = applyDateTime;
                model.AdvanceApp.DeptId         = this.SiteUserInfo.DeptId;
                model.AdvanceApp.Remark         = applyRemarks;
            }
            //变更明细

            switch (type)
            {
            case 1:
                model.TourType  = EyouSoft.Model.EnumType.TourStructure.TourType.组团团队;
                model.Traveller = UtilsCommons.GetTravelList();
                break;

            case 2:
                model.TourType  = EyouSoft.Model.EnumType.TourStructure.TourType.地接团队;
                model.Traveller = UtilsCommons.GetTravelList();
                break;

            case 3:
                model.TourType  = EyouSoft.Model.EnumType.TourStructure.TourType.出境团队;
                model.Traveller = UtilsCommons.GetTravelListS();
                break;
            }
            if (act == "add" || act == "copy")
            {
                model.TourStatus = EyouSoft.Model.EnumType.TourStructure.TourStatus.销售未派计划;
                int r = bll.AddTourTeam(model);
                switch (r)
                {
                case 0: msg = UtilsCommons.AjaxReturnJson("0", "新增计划 失败,请稍后再试!"); break;

                case 1: msg = UtilsCommons.AjaxReturnJson("1", "新增计划 成功,正在跳转.."); break;

                case 2: msg = UtilsCommons.AjaxReturnJson("1", "新增计划 成功,已提交垫付申请!"); break;

                case 3:
                    msg = UtilsCommons.AjaxReturnJson("2", "操作成功! 销售员已超限,请收款或超限申请!", model.TourId);
                    break;

                case 4:
                    msg = UtilsCommons.AjaxReturnJson("2", "操作成功! 客户单位已超限,请收款或超限申请!", model.TourId);
                    break;

                case 5:
                    msg = UtilsCommons.AjaxReturnJson("2", "操作成功! 销售员和客户单位已超限,请收款或超限申请!", model.TourId);
                    break;
                }
            }
            if (act == "update" && model.TourId != "")
            {
                model.UpdateTime = DateTime.Now;
                if (bll.UpdateTourTeam(model))
                {
                    msg = UtilsCommons.AjaxReturnJson("1", "修改计划 成功,正在跳转..", model.TourId);
                }
                else
                {
                    msg = UtilsCommons.AjaxReturnJson("0", "修改计划 失败,请稍后再试!", model.TourId);
                }
            }
            return(msg);
        }
예제 #2
0
        /// <summary>
        /// 保存执行方法
        /// </summary>
        private string PageSave(string id, string doType)
        {
            string msg = string.Empty;
            //t为false为编辑,true时为新增
            bool   t            = String.Equals(doType, "update", StringComparison.InvariantCultureIgnoreCase) && !string.IsNullOrEmpty(id) ? false : true;
            string AdultPrice   = Utils.GetFormValue(txtAdultPrice.UniqueID);    //成人价格
            string ChildPrice   = Utils.GetFormValue(txtChildPrice.UniqueID);    //儿童价格
            string TotalPrice   = Utils.GetFormValue(txtTotalPrice.UniqueID);    //合计价格
            string Collection   = Utils.GetFormValue(txtCollection.UniqueID);    //集合方式
            string DayCount     = Utils.GetFormValue(txtDayCount.UniqueID);      //天数
            string StartTraffic = Utils.GetFormValue(txtStartTraffic.UniqueID);  //出发交通
            string EndTraffic   = Utils.GetFormValue(txtEndTraffic.UniqueID);    //返程交通
            //txtFile 附件
            string OtherPrice = Utils.GetFormValue(txtOtherPrice.UniqueID);      //其他费用
            string PathDesc   = Utils.GetFormValue(txtPathDesc.UniqueID);        //线路描述
            string PathName   = Utils.GetFormValue(txtPathName.UniqueID).Trim(); //线路名称
            string AreaID     = Utils.GetFormValue(HidRouteAreaID.UniqueID);     //线路区域编号
            string StrRemark  = Utils.GetFormValue(txtPathRemark.UniqueID);      //获取价格备注

            if (string.IsNullOrEmpty(PathName))
            {
                msg = UtilsCommons.AjaxReturnJson("0", "请输入线路名称");
                return(msg);
            }
            EyouSoft.Model.SourceStructure.MRoute ModelRoute = new EyouSoft.Model.SourceStructure.MRoute();
            EyouSoft.BLL.SourceStructure.BSource  bll        = new EyouSoft.BLL.SourceStructure.BSource();
            if (!string.IsNullOrEmpty(id) && doType == "update")
            {
                ModelRoute         = bll.GetRouteModel(id);
                ModelRoute.RouteId = id;
                if (string.IsNullOrEmpty(AreaID))
                {
                    AreaID = ModelRoute.AreaId.ToString();
                }
            }
            if (Utils.GetInt(AreaID) == 0)
            {
                msg = UtilsCommons.AjaxReturnJson("0", "请选择线路区域!");
                return(msg);
            }
            //合同附件
            //合同附件(新)
            string[] hdUpload    = Utils.GetFormValues(this.UploadControl1.ClientHideID);
            string[] oldhdUpload = Utils.GetFormValues("hideFileInfo");
            #region 合同附件
            EyouSoft.Model.ComStructure.MComAttach hdModel = new EyouSoft.Model.ComStructure.MComAttach();
            if (oldhdUpload.Length > 0)
            {
                for (int i = 0; i < oldhdUpload.Length; i++)
                {
                    hdModel.FilePath = oldhdUpload[i].Split('|')[1];
                    hdModel.ItemType = EyouSoft.Model.EnumType.ComStructure.AttachItemType.线路附件;
                    hdModel.Name     = oldhdUpload[i].Split('|')[0];
                    hdModel.Size     = 0;
                }
            }
            if (hdUpload.Length > 0)
            {
                for (int i = 0; i < hdUpload.Length; i++)
                {
                    if (hdUpload[i].Trim() != "")
                    {
                        if (hdUpload[i].Split('|').Length > 1)
                        {
                            hdModel.Downloads = 0;
                            hdModel.FilePath  = hdUpload[i].Split('|')[1];
                            hdModel.ItemType  = EyouSoft.Model.EnumType.ComStructure.AttachItemType.线路附件;
                            hdModel.Name      = hdUpload[i].Split('|')[0];
                            hdModel.Size      = 0;
                        }
                    }
                }
            }


            ModelRoute.Attach = hdModel;
            #endregion


            #region 签证附件
            //签证附件(新)
            string[] visaUpload    = Utils.GetFormValues(this.UploadControl2.ClientHideID);
            string[] oldVisaUpload = Utils.GetFormValues("hideVisaFile");
            IList <EyouSoft.Model.ComStructure.MComAttach> visaList = null;
            if (oldVisaUpload.Length > 0)
            {
                if (visaList == null)
                {
                    visaList = new List <EyouSoft.Model.ComStructure.MComAttach>();
                }
                for (int i = 0; i < oldVisaUpload.Length; i++)
                {
                    EyouSoft.Model.ComStructure.MComAttach visaModel = new EyouSoft.Model.ComStructure.MComAttach();
                    visaModel.FilePath = oldVisaUpload[i].Split('|')[1];
                    visaModel.ItemType = EyouSoft.Model.EnumType.ComStructure.AttachItemType.线路签证资料;
                    visaModel.Name     = oldVisaUpload[i].Split('|')[0];
                    visaList.Add(visaModel);
                }
            }
            if (visaUpload.Length > 0)
            {
                if (visaList == null)
                {
                    visaList = new List <EyouSoft.Model.ComStructure.MComAttach>();
                }
                for (int i = 0; i < visaUpload.Length; i++)
                {
                    if (visaUpload[i].Trim() != "")
                    {
                        if (visaUpload[i].Split('|').Length > 1)
                        {
                            EyouSoft.Model.ComStructure.MComAttach visaModel = new EyouSoft.Model.ComStructure.MComAttach();
                            visaModel.FilePath = visaUpload[i].Split('|')[1];
                            visaModel.ItemType = EyouSoft.Model.EnumType.ComStructure.AttachItemType.线路签证资料;
                            visaModel.Name     = visaUpload[i].Split('|')[0];
                            visaList.Add(visaModel);
                        }
                    }
                }
            }
            ModelRoute.VisaInfoList = visaList;
            #endregion
            //对外报价
            ModelRoute.PlanModelList = UtilsCommons.GetPlanList();//行程安排
            #region 线路服务赋值
            string costCalculation = string.Empty;
            EyouSoft.Model.TourStructure.MTourService tourService = UtilsCommons.GetTourService(out costCalculation);
            ModelRoute.ServicesModel = tourService;
            #endregion
            ModelRoute.AdultPrice       = Utils.GetDecimal(AdultPrice);
            ModelRoute.AreaId           = Utils.GetInt(AreaID);
            ModelRoute.ChildrenPrice    = Utils.GetDecimal(ChildPrice);
            ModelRoute.OtherPrice       = Utils.GetDecimal(OtherPrice);
            ModelRoute.CompanyId        = this.SiteUserInfo.CompanyId;
            ModelRoute.Days             = Utils.GetInt(DayCount);
            ModelRoute.DepartureTraffic = StartTraffic;
            ModelRoute.ReturnTraffic    = EndTraffic;
            ModelRoute.SetMode          = Collection;
            ModelRoute.LineIntro        = PathDesc;
            ModelRoute.RouteName        = PathName;
            ModelRoute.PathRemark       = StrRemark;
            ModelRoute.OperatorId       = this.SiteUserInfo.UserId;
            ModelRoute.DeptId           = this.SiteUserInfo.DeptId;
            ModelRoute.IsShare          = true;
            if (radno.Checked)
            {
                ModelRoute.IsShare = false;
            }
            ModelRoute.IssueTime = DateTime.Now;
            #region 对外报价赋值
            ForeignQuote1.IsFromTourOrRoute = false;


            Dictionary <string, object> Standarlist = UtilsCommons.GetServiceType();
            bool IsTourOrSubentry = (bool)Standarlist["IsTourOrSubentry"];
            ModelRoute.IsTourOrSubentry  = IsTourOrSubentry;
            ModelRoute.StandardModelList = new List <EyouSoft.Model.SourceStructure.MRouteStandard>();
            if (IsTourOrSubentry)
            {
                ModelRoute.Service = Standarlist["Service"].ToString();
            }
            else
            {
                ModelRoute.StandardModelList = (IList <EyouSoft.Model.SourceStructure.MRouteStandard>)Standarlist["Service"];
            }
            #endregion
            ModelRoute.TotalPrice = Utils.GetDecimal(TotalPrice);
            int result = 0;
            if (t)
            {
                //返回值 -1:已经存在相同的线路名称 -2;同一个行程已经存在相同的景点 -3:已经存在相同的附件名称 -4:公司编号未赋值 -5:线路必填信息不完善 0:事务回滚 1:正确
                result = bll.AddRouteModel(ModelRoute);
            }
            else
            {
                result = bll.UpdateRouteModel(ModelRoute);
            }
            msg = GetResult(result, t ? "新增" : "修改");
            return(msg);
        }
예제 #3
0
        /// <summary>
        /// 保存新的报价
        /// </summary>
        /// <returns></returns>
        private string PageSave()
        {
            string msg = string.Empty;

            #region 获取表单
            //线路区域编号
            int areaID = Utils.GetInt(Utils.GetFormValue("sltArea"));
            //线路编号
            string routeID = Utils.GetFormValue(this.hideRouteID.UniqueID);
            //线路名称
            string routeName = Utils.GetFormValue(this.txt_RouteName.UniqueID);
            //天数
            int days = Utils.GetInt(Utils.GetFormValue(this.txt_Days.UniqueID));
            //客源地 国家
            int countryID = Utils.GetInt(Utils.GetFormValue("sltCountry"));
            //客源地 省份
            int provinceID = Utils.GetInt(Utils.GetFormValue("sltProvince"));
            //询价单位 编号
            string buyCompanyID = Utils.GetFormValue(this.UC_CustomerUnitSelect.ClientNameKHBH);
            //询价单位 名称
            string buyCompanyName = Utils.GetFormValue(this.UC_CustomerUnitSelect.ClientNameKHMC);
            //联系人
            string contactName = Utils.GetFormValue(this.txt_Contact.UniqueID);
            //联系电话
            string contactTel = Utils.GetFormValue(this.txt_ConTel.UniqueID);
            //销售员编号
            string sellsID = Utils.GetFormValue(this.UC_SellsSelect.SellsIDClient);
            //销售员名称
            string sellsName = Utils.GetFormValue(this.UC_SellsSelect.SellsNameClient);
            //报价员 取当前登录用户
            EyouSoft.Model.TourStructure.MOperatorInfo operatorModel = new EyouSoft.Model.TourStructure.MOperatorInfo();
            operatorModel.OperatorId = this.SiteUserInfo.UserId;
            operatorModel.Name       = this.SiteUserInfo.Name;
            operatorModel.Phone      = this.SiteUserInfo.Telephone;
            //成人数
            int adultCount = Utils.GetInt(Utils.GetFormValue(this.txt_Adult.UniqueID));
            //成人价格
            decimal adultPrice = Utils.GetDecimal(Utils.GetFormValue(this.txtAdultPrice.UniqueID));
            //儿童数
            int childCount = Utils.GetInt(Utils.GetFormValue(this.txt_Child.UniqueID));
            //儿童价格
            decimal childPrice = Utils.GetDecimal(Utils.GetFormValue(this.txtChildPrice.UniqueID));
            //其它价格
            decimal otherPrice = Utils.GetDecimal(Utils.GetFormValue(this.txtOtherPrice.UniqueID));
            //行程特色
            string planContent = Utils.EditInputText(Request.Form[this.txtPlanContent.UniqueID]);
            //价格备注
            string quoteRemark = Utils.GetFormValue(this.txtQuoteRemark.UniqueID);
            //合计金额
            decimal sumPrice = Utils.GetDecimal(Utils.GetFormValue(this.txtSumPrice.UniqueID));

            //询价员
            string toOper = Utils.GetFormValue("hideToOperID");

            #region 未超限表单获取
            //出团时间
            DateTime successDateBegin = Utils.GetDateTime(Utils.GetFormValue(this.txtSuccessDateBegin.UniqueID), DateTime.Now);
            //出发交通
            string successsStraffBegin = Utils.GetFormValue(this.txtSuccesssStraffBegin.UniqueID);
            //返回交通
            string successsStraffEnd = Utils.GetFormValue(this.txtSuccesssStraffEnd.UniqueID);
            //集合方式
            string successGather = Utils.GetFormValue(this.txtSuccessGather.UniqueID);
            //增加费用
            decimal successAddPrice = Utils.GetDecimal(Utils.GetFormValue(this.txtSuccessAddPrice.UniqueID), 0);
            //增加费用备注
            string successAddPriceRemark = Utils.GetFormValue(this.txtSuccessAddPriceRemark.UniqueID);
            //减少费用
            decimal successReducePrice = Utils.GetDecimal(Utils.GetFormValue(this.txtSuccessReducePrice.UniqueID));
            //减少费用备注
            string successReducePriceRemark = Utils.GetFormValue(this.txtSuccessReducePriceRemark.UniqueID);
            //导游现收
            decimal successGuideIncome = Utils.GetDecimal(Utils.GetFormValue(this.txtSuccessGuideIncome.UniqueID));
            //订单备注
            string successOrderRemark = Utils.GetFormValue(this.txtSuccessOrderRemark.UniqueID);
            //是否询价
            bool isPlanerQuote = Utils.GetFormValue(this.cbxJdxj.UniqueID) == "on" ? true : false;
            //签证附件(新)
            string[] visaUpload    = Utils.GetFormValues(this.UploadControl1.ClientHideID);
            string[] oldVisaUpload = Utils.GetFormValues("hideVisaFile");
            //联系人部门编号
            string contactDeptId = Utils.GetFormValue(this.hideContactDeptId.UniqueID);
            #endregion

            #endregion
            //1=保存,2=报价超限,3=报价未超,4=保存新报价
            string saveType = Utils.GetQueryStringValue("saveType");

            //如果是保存和保存新报价 则不做控制
            if (saveType == "1" || saveType == "4")
            {
                #region 表单后台验证
                if (areaID == 0)
                {
                    msg = "请选择线路区域!";
                }
                if (routeName == "")
                {
                    msg += "<br />请输入线路名称!";
                }
                if (days == 0)
                {
                    msg += "<br />请输入天数!";
                }
                if (buyCompanyID == "")
                {
                    msg += "<br />请输入询价单位!";
                }
                if (sellsID == "")
                {
                    msg += "<br />请输入销售员!";
                }
                if (adultCount == 0)
                {
                    msg += "<br />请输入成人数!";
                }
                if (adultPrice == 0)
                {
                    msg += "<br />请输入成人价!";
                }

                if (msg != "")
                {
                    return(UtilsCommons.AjaxReturnJson("0", msg));
                }

                #endregion
            }

            EyouSoft.BLL.TourStructure.BQuote           bll   = new EyouSoft.BLL.TourStructure.BQuote();
            EyouSoft.Model.TourStructure.MTourQuoteInfo model = new EyouSoft.Model.TourStructure.MTourQuoteInfo();
            string act = Utils.GetQueryStringValue("act");
            string qid = Utils.GetQueryStringValue("id");

            model.AdultPrice     = adultPrice;
            model.Adults         = adultCount;
            model.AdvanceApp     = null;
            model.AreaId         = areaID;
            model.BuyCompanyID   = buyCompanyID;
            model.BuyCompanyName = buyCompanyName;
            model.IsPlanerQuote  = isPlanerQuote;
            model.ChildPrice     = childPrice;
            model.Childs         = childCount;
            model.CompanyId      = SiteUserInfo.CompanyId;
            model.CompanyInfo    = new EyouSoft.Model.TourStructure.MCompanyInfo()
            {
                CompanyId = buyCompanyID, CompanyName = buyCompanyName, Contact = contactName, Phone = contactTel
            };
            model.Contact = contactName;
            string costCalculation = string.Empty;
            EyouSoft.Model.TourStructure.MTourService tourService = UtilsCommons.GetTourService(out costCalculation);
            model.TourService             = tourService;
            model.CostCalculation         = costCalculation;
            model.CountryId               = countryID;
            model.Days                    = days;
            model.InquiryTime             = DateTime.Now;
            model.IsPlanerQuote           = false;
            model.MTourQuoteTourInfo      = null;
            model.OperatorInfo            = new EyouSoft.Model.TourStructure.MOperatorInfo();
            model.OperatorInfo.OperatorId = this.SiteUserInfo.UserId;
            model.OperatorInfo.Name       = this.SiteUserInfo.Name;
            model.OperatorInfo.Phone      = this.SiteUserInfo.Telephone;
            model.OtherCost               = otherPrice;
            if (isPlanerQuote)
            {
                model.PlanerId = toOper;
            }
            #region 签证附件
            IList <EyouSoft.Model.ComStructure.MComAttach> visaList = null;
            if (visaUpload.Length > 0)
            {
                visaList = new List <EyouSoft.Model.ComStructure.MComAttach>();
                for (int i = 0; i < visaUpload.Length; i++)
                {
                    if (visaUpload[i].Trim() != "")
                    {
                        if (visaUpload[i].Split('|').Length > 1)
                        {
                            EyouSoft.Model.ComStructure.MComAttach visaModel = new EyouSoft.Model.ComStructure.MComAttach();
                            visaModel.Downloads = 0;
                            visaModel.FilePath  = visaUpload[i].Split('|')[1];
                            visaModel.ItemType  = EyouSoft.Model.EnumType.ComStructure.AttachItemType.报价签证资料;
                            visaModel.Name      = visaUpload[i].Split('|')[0];
                            visaModel.Size      = 0;
                            visaList.Add(visaModel);
                        }
                    }
                }
            }
            if (oldVisaUpload.Length > 0)
            {
                if (visaList == null)
                {
                    visaList = new List <EyouSoft.Model.ComStructure.MComAttach>();
                }
                for (int i = 0; i < oldVisaUpload.Length; i++)
                {
                    EyouSoft.Model.ComStructure.MComAttach visaModel = new EyouSoft.Model.ComStructure.MComAttach();
                    visaModel.Downloads = Utils.GetInt(oldVisaUpload[i].Split('|')[2]);
                    visaModel.FilePath  = oldVisaUpload[i].Split('|')[1];
                    visaModel.ItemType  = EyouSoft.Model.EnumType.ComStructure.AttachItemType.报价签证资料;
                    visaModel.Name      = oldVisaUpload[i].Split('|')[0];
                    visaModel.Size      = 0;
                    visaList.Add(visaModel);
                }
            }
            model.VisaFileList = visaList;
            #endregion

            Dictionary <string, object> quoteType = UtilsCommons.GetServiceType();
            bool IsTourOrSubentry = (bool)quoteType["IsTourOrSubentry"];

            if (IsTourOrSubentry)
            {
                //整团
                model.ServiceStandard = quoteType["Service"].ToString();
                model.OutQuoteType    = EyouSoft.Model.EnumType.TourStructure.TourQuoteType.整团;
            }
            else
            {
                //分项
                model.TourTeamPrice = (IList <EyouSoft.Model.TourStructure.MTourTeamPrice>)quoteType["Service"];
                model.OutQuoteType  = EyouSoft.Model.EnumType.TourStructure.TourQuoteType.分项;
            }
            model.Phone           = contactTel;
            model.ContactDepartId = contactDeptId;
            model.PlanFeature     = planContent;
            model.ProvinceId      = provinceID;
            model.QuotePlan       = UtilsCommons.GetPlanList();
            model.QuoteRemark     = quoteRemark;
            model.QuoteState      = EyouSoft.Model.EnumType.TourStructure.QuoteState.未处理;
            model.QuoteType       = (EyouSoft.Model.EnumType.TourStructure.ModuleType)(type - 1);
            model.RouteId         = routeID;
            model.RouteName       = routeName;
            model.TotalPrice      = sumPrice;
            model.QuoteId         = qid;
            //获得销售员信息实体
            EyouSoft.Model.ComStructure.MComUser sellsModel = new EyouSoft.BLL.ComStructure.BComUser().GetModel(sellsID, SiteUserInfo.CompanyId);
            if (sellsModel != null)
            {
                model.SaleInfo          = new EyouSoft.Model.TourStructure.MSaleInfo();
                model.SaleInfo.SellerId = sellsID;
                model.SaleInfo.Name     = sellsName;
                model.SaleInfo.Phone    = sellsModel.ContactMobile;
                model.SaleInfo.DeptId   = sellsModel.DeptId;
            }

            bool result = false;
            //新增,修改,复制
            if (saveType == "1")
            {
                if (act == "add" || act == "copy")
                {
                    model.ParentId = "0";
                    result         = bll.AddTourQuote(model);
                    msg            = UtilsCommons.AjaxReturnJson("1", "新增报价成功,正在跳转..");
                }
                if (act == "update")
                {
                    model.QuoteId    = qid;
                    model.UpdateTime = DateTime.Now;
                    result           = bll.UpdateTourQuote(model);
                    msg = UtilsCommons.AjaxReturnJson("1", "修改成功,正在跳转..");
                }
            }

            //超限实体赋值
            if (saveType == "2")
            {
                model.AdvanceApp           = new EyouSoft.Model.TourStructure.MAdvanceApp();
                model.AdvanceApp.Applier   = this.SiteUserInfo.Name;
                model.AdvanceApp.ApplierId = this.SiteUserInfo.UserId;
                //model.AdvanceApp.DisburseAmount = applyPrice;
                //model.AdvanceApp.ApplyTime = applyDateTime;
                model.AdvanceApp.DeptId = this.SiteUserInfo.DeptId;
                //model.AdvanceApp.Remark = applyRemarks;
                model.MTourQuoteTourInfo = null;
                int r = bll.SuccessTourQuote(model);
                result = (r == 1 || r == 3) ? true : false;
                msg    = UtilsCommons.AjaxReturnJson("1", "成功提交垫付申请,等待审核!");
            }
            //未超限实体赋值
            if (saveType == "3")
            {
                model.MTourQuoteTourInfo = new EyouSoft.Model.TourStructure.MTourQuoteTourInfo();
                model.MTourQuoteTourInfo.AddCostRemark    = successAddPriceRemark;
                model.MTourQuoteTourInfo.Gather           = successGather;
                model.MTourQuoteTourInfo.GuideIncome      = successGuideIncome;
                model.MTourQuoteTourInfo.LDate            = successDateBegin;
                model.MTourQuoteTourInfo.LTraffic         = successsStraffBegin;
                model.MTourQuoteTourInfo.OrderRemark      = successOrderRemark;
                model.MTourQuoteTourInfo.ReduceCostRemark = successReducePriceRemark;
                model.MTourQuoteTourInfo.RTraffic         = successsStraffEnd;
                model.MTourQuoteTourInfo.SaleAddCost      = successAddPrice;
                model.MTourQuoteTourInfo.SaleReduceCost   = successReducePrice;
                model.MTourQuoteTourInfo.SalerIncome      = sumPrice - successGuideIncome;
                model.AdvanceApp = null;

                switch (type)
                {
                case 1:
                    model.MTourQuoteTourInfo.TourType  = EyouSoft.Model.EnumType.TourStructure.TourType.组团团队;
                    model.MTourQuoteTourInfo.Traveller = UtilsCommons.GetTravelList();
                    break;

                case 2:
                    model.MTourQuoteTourInfo.TourType  = EyouSoft.Model.EnumType.TourStructure.TourType.地接团队;
                    model.MTourQuoteTourInfo.Traveller = UtilsCommons.GetTravelList();
                    break;

                case 3:
                    model.MTourQuoteTourInfo.TourType  = EyouSoft.Model.EnumType.TourStructure.TourType.出境团队;
                    model.MTourQuoteTourInfo.Traveller = UtilsCommons.GetTravelListS();
                    break;
                }
                model.MTourQuoteTourInfo.TourStatus = EyouSoft.Model.EnumType.TourStructure.TourStatus.销售未派计划;
                model.UpdateTime = DateTime.Now;

                int successState = bll.SuccessTourQuote(model);

                switch (successState)
                {
                case 2:
                    msg    = UtilsCommons.AjaxReturnJson("1", "报价成功!");
                    result = true;
                    break;

                case 4:
                    msg = UtilsCommons.AjaxReturnJson("0", "操作失败!");
                    break;

                case 5:
                    msg    = UtilsCommons.AjaxReturnJson("2", "报价成功,但销售员超限!,是否需要进行收款操作?");
                    result = true;
                    break;

                case 6:
                    msg    = UtilsCommons.AjaxReturnJson("2", "报价成功,但客户单位超限!,是否需要进行收款操作?");
                    result = true;
                    break;

                case 7:
                    msg    = UtilsCommons.AjaxReturnJson("2", "报价成功,但销售员和客户单位超限!,是否需要进行收款操作?");
                    result = true;
                    break;

                default:
                    msg = UtilsCommons.AjaxReturnJson("0", "操作失败!");
                    break;
                }

                if (successState == 1)
                {
                    msg = UtilsCommons.AjaxReturnJson("0", "超限、垫付申请中,不能报价!");
                }
                if (successState == 2)
                {
                    msg    = UtilsCommons.AjaxReturnJson("1", "报价成功!");
                    result = true;
                }
            }

            if (saveType == "4")
            {
                model.ParentId = Utils.GetFormValue(this.hideFristQuoteId.UniqueID);
                result         = bll.AddNewTourQuote(model);
                msg            = UtilsCommons.AjaxReturnJson("1", "新增新报价成功,正在跳转..");
            }
            if (saveType == "5")
            {
                result = bll.CalcelTourQuote(qid, Utils.GetFormValue("txtCanelRemark"));
                msg    = UtilsCommons.AjaxReturnJson("1", "取消成功,正在跳转..");
            }

            if (!result)
            {
                msg = UtilsCommons.AjaxReturnJson("0", "操作失败,请稍后尝试!");
            }
            return(msg);
            //model.CancelReason = "";
            //model.IsLatest
            //model.OrderCode = "";
            //model.OrderId = "";
            //model.Planer
            //model.TimeCount
            //model.TotalPrice
            //model.TourPrice
            //model.TourQuoteNo
            //model.UpdateTime
            //model.VisaFileList
        }