/// <summary> /// 保存返现申请 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSave_Click(object sender, EventArgs e) { string hfScalpingId = this.txtScalpingCode.Value.Trim(); //订单号 string wangwang = this.wangwangdd.Value.Trim(); //旺旺号 string name = this.name.Value.Trim(); //姓名 string ddApplicationTypeId = this.ddApplicationTypeId.SelectedValue; //申请类型 int nickID = int.Parse(ddlNick.Value); //店铺 int projectID = int.Parse(ddlProject.SelectedValue); //项目 string txtApplicationPayee = this.txtApplicationPayee.Value; //收款账号 decimal txtTheAdvanceMoney = decimal.Parse(this.txtTheAdvanceMoney.Text.Trim()); //金额 string PaymentPerson = this.ddlPaymentPerson.SelectedValue; //赔付方 var xmorderinfo = base.XMOrderInfoService.GetXMOrderByOrderCode(hfScalpingId); //订单号查询订单 if (xmorderinfo != null) { if ((xmorderinfo.PlatformTypeId == 250 || xmorderinfo.PlatformTypeId == 381) && (name == "" || txtApplicationPayee == "")) { if (name == "") { if (xmorderinfo != null) { name = xmorderinfo.FullName; } } if (txtApplicationPayee == "") { var XMOrderInfoAppList = IoC.Resolve <IXMOrderInfoAppService>().GetXMOrderInfoAppList(); XMOrderInfoApp xMorderInfoAppTMNew = XMOrderInfoAppList.Where(q => q.PlatformTypeId == 250).FirstOrDefault(); if (xMorderInfoAppTMNew != null) { Trade trade = IoC.Resolve <IXMOrderInfoAPIService>().GetTrade(Convert.ToInt64(hfScalpingId), xMorderInfoAppTMNew); if (trade != null) { txtApplicationPayee = trade.BuyerAlipayNo; } } } } } //财务未审核 bool FinanceIsAudit = false; //项目未审核 int ManagerStatus = 3; if (!string.IsNullOrEmpty(hfScalpingId)) { if (xmorderinfo != null) { var XMDeductionSetUp = XMDeductionSetUpService.GetXMDeductionSetUpByProjectAndPlatformTypeId(xmorderinfo.ProjectId, 476, (int)xmorderinfo.PlatformTypeId); if (XMDeductionSetUp != null) { //根据项目限额,平台限额,自动设置审核进度 if (txtTheAdvanceMoney <= XMDeductionSetUp.Deduction) { FinanceIsAudit = true; //项目审核 ManagerStatus = 4; } else if (txtTheAdvanceMoney > XMDeductionSetUp.Deduction && txtTheAdvanceMoney <= XMDeductionSetUp.Finance) { FinanceIsAudit = true; } } else { //通用 var XMDeductionSetUpUsually = XMDeductionSetUpService.GetXMDeductionSetUpByProjectAndPlatformTypeId(projectID, 476, 508); if (XMDeductionSetUpUsually != null) { //根据项目限额,平台限额,自动设置审核进度 if (txtTheAdvanceMoney <= XMDeductionSetUpUsually.Deduction) { FinanceIsAudit = true; //项目审核 ManagerStatus = 4; } else if (txtTheAdvanceMoney > XMDeductionSetUpUsually.Deduction && txtTheAdvanceMoney <= XMDeductionSetUpUsually.Finance) { FinanceIsAudit = true; } } } } } if (name != "" && txtApplicationPayee != "") { //var a = XMOrderInfoService.GetXMOrderInfoByOrderCodeList(hfScalpingId); if (type == 1) { var XMCashBackApplication = XMCashBackApplicationService.GetXMCashBackApplicationByOrderCode(hfScalpingId, int.Parse(ddApplicationTypeId)); XMCashBackApplication XMCashBack = new XMCashBackApplication(); XMCashBack.OrderCode = string.IsNullOrEmpty(hfScalpingId) ? "NoOrder" + DateTime.Now.ToString("yyMMddHHmmssfff") : hfScalpingId; //订单号 XMCashBack.WantNo = wangwang; //旺旺号 XMCashBack.BuyerName = name; //姓名 XMCashBack.ApplicationTypeId = int.Parse(ddApplicationTypeId); //申请类型 XMCashBack.NickID = nickID; XMCashBack.ProjectID = projectID; XMCashBack.BuyerAlipayNo = txtApplicationPayee; //收款账号 XMCashBack.CashBackMoney = txtTheAdvanceMoney; //金额 XMCashBack.CreatorID = HozestERPContext.Current.User.CustomerID; XMCashBack.CreateTime = DateTime.Now; XMCashBack.UpdatorID = HozestERPContext.Current.User.CustomerID; XMCashBack.UpdateTime = DateTime.Now; //判断是否是第二次返现 if (XMCashBackApplication.Count == 0) { XMCashBack.ManagerStatus = ManagerStatus; XMCashBack.FinanceIsAudit = FinanceIsAudit; } //第二次返现都视为未审核 else if (XMCashBackApplication.Count > 0) { XMCashBack.ManagerStatus = 3; XMCashBack.FinanceIsAudit = false; } XMCashBack.CashBackStatus = Convert.ToInt32(StatusEnum.NotCashBack); XMCashBack.IsEnable = false; base.XMCashBackApplicationService.InsertXMCashBackApplication(XMCashBack); base.ShowMessage("保存成功"); this.wangwang.Value = wangwang; } else if (type == 2) { var XMCashBack = XMCashBackApplicationService.GetXMCashBackApplicationById(scid); XMCashBack.OrderCode = hfScalpingId; //订单号 XMCashBack.WantNo = wangwang; //旺旺号 XMCashBack.BuyerName = name; //姓名 XMCashBack.ApplicationTypeId = int.Parse(ddApplicationTypeId); //申请类型 XMCashBack.NickID = nickID; XMCashBack.ProjectID = projectID; XMCashBack.BuyerAlipayNo = txtApplicationPayee; //收款账号 XMCashBack.CashBackMoney = txtTheAdvanceMoney; //金额 if (XMCashBack.ApplicationTypeId == Convert.ToInt32(StatusEnum.ChildPayment)) //赔付 { XMCashBack.PaymentPerson = int.Parse(PaymentPerson); //赔付方 } XMCashBack.UpdatorID = HozestERPContext.Current.User.CustomerID; XMCashBack.UpdateTime = DateTime.Now; XMCashBack.ManagerStatus = ManagerStatus; XMCashBack.FinanceIsAudit = FinanceIsAudit; //XMCashBack.CashBackStatus = Convert.ToInt32(StatusEnum.NotCashBack); base.XMCashBackApplicationService.UpdateXMCashBackApplication(XMCashBack); base.ShowMessage("修改成功"); this.wangwang.Value = wangwang; } } else { base.ShowMessage("请填写姓名和收款帐号"); } }
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); } } }