protected void gv_RowCommand(Object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Audit") { GridViewRow row = ((Control)e.CommandSource).BindingContainer as GridViewRow; int QID = Convert.ToInt32(gvAdvanceApplicationDetail.DataKeys[row.DataItemIndex].Value.ToString()); XMProductDetails xMProductDetails = base.XMProductDetailsService.GetXMProductDetailsById(QID); xMProductDetails.MinPrice = xMProductDetails.UnauditMinPrice; XMProductDetailsService.UpdateXMProductDetails(xMProductDetails); BindGrid(); } }
protected void gvAdvanceApplicationDetail_RowUpdating(object sender, GridViewUpdateEventArgs e) { int id = (int)this.gvAdvanceApplicationDetail.DataKeys[e.RowIndex].Value; var row = this.gvAdvanceApplicationDetail.Rows[e.RowIndex]; decimal d = 0; var ccPlatformTypeId = row.FindControl("ccPlatformTypeId") as CodeControl; SimpleTextBox txtPlatformMerchantCode = row.FindControl("txtPlatformMerchantCode") as SimpleTextBox; var hfPlatformMerchantCode = row.FindControl("hfPlatformMerchantCode") as HiddenField; var ccProductTypeId = row.FindControl("ccProductTypeId") as CodeControl; TextBox txtPlatformInventory = row.FindControl("txtPlatformInventory") as TextBox; TextBox txtColor = row.FindControl("txtColor") as TextBox; //颜色 TextBox txtTManufacturersCode = row.FindControl("txtTemporaryManufacturersCode") as TextBox; //临时厂家编码 SimpleTextBox txtstrUrl = row.FindControl("txtstrUrl") as SimpleTextBox; SimpleTextBox txtCostprice = row.FindControl("txtCostprice") as SimpleTextBox; SimpleTextBox txtSaleprice = row.FindControl("txtSaleprice") as SimpleTextBox; var txtUnauditMinPrice = row.FindControl("txtUnauditMinPrice") as TextBox; var txtTCostprice = row.FindControl("txtTCostprice") as TextBox; var lblTCostpriceVaule = row.FindControl("lblTCostpriceVaule") as Label; var txtTDateTimeStart = row.FindControl("txtTDateTimeStart") as HtmlInputText; var txtTDateTimeEnd = row.FindControl("txtTDateTimeEnd") as HtmlInputText; var lblTDateTimeStartValue = row.FindControl("lblTDateTimeStartValue") as Label; var lblTDateTimeEndValue = row.FindControl("lblTDateTimeEndValue") as Label; lblTDateTimeStartValue.Text = ""; lblTDateTimeEndValue.Text = ""; lblTCostpriceVaule.Text = ""; if (!string.IsNullOrEmpty(txtTManufacturersCode.Text.Trim())) { var productList = base.XMProductDetailsService.GetXMProductListByManufacturersCode(txtTManufacturersCode.Text.Trim(), ccPlatformTypeId.SelectedValue); if (productList != null && productList.Count > 0) { if (productList[0].Id != id) { base.ShowMessage("该厂家编码已存在!"); return; } } } //同平台,同厂家编码只能有一条记录 var XMProductDetailsList = base.XMProductDetailsService.GetXMProductDetailsByPlatformMerchantCode(txtPlatformMerchantCode.Text.Trim(), int.Parse(ccPlatformTypeId.SelectedValue.ToString()), ""); if (XMProductDetailsList != null && XMProductDetailsList.Count > 0) { if (XMProductDetailsList.Count != 1 || id != XMProductDetailsList[0].Id) { base.ShowMessage("该平台该商品编码已存在!"); return; } } if (!decimal.TryParse(txtTCostprice.Text.Trim(), out d)) { if (txtTCostprice.Text.Trim() != "") { lblTCostpriceVaule.Text = "请输入正确的数值!"; } } if (txtTCostprice.Text != "") { if (txtTDateTimeStart.Value.ToString() == "" || txtTDateTimeEnd.Value.ToString() == "") { lblTDateTimeStartValue.Text = "请输入开始日期!"; lblTDateTimeEndValue.Text = "请输入结束日期!"; } } var chkIsMainPush = row.FindControl("chkIsMainPush") as CheckBox; if (lblTDateTimeStartValue.Text != "" || lblTDateTimeEndValue.Text != "") { return; } int QID = Convert.ToInt32(gvAdvanceApplicationDetail.DataKeys[e.RowIndex].Value.ToString()); XMProductDetails xMProductDetails = base.XMProductDetailsService.GetXMProductDetailsById(QID); List <XMProductDetails> xMProductDetailsCodeList = null; if (txtPlatformMerchantCode.Text.Trim() != "") { xMProductDetailsCodeList = base.XMProductDetailsService.GetXMProductDetailsByPlatformMerchantCode(txtPlatformMerchantCode.Text.Trim(), ccPlatformTypeId.SelectedValue, txtColor.Text.Trim()); } if (xMProductDetails == null) //新增 { if (xMProductDetailsCodeList != null) { if (xMProductDetailsCodeList.Count > 0) { base.ShowMessage("商品编码已存在!"); return; } } XMProductDetails xMProductDetailsNew = new XMProductDetails(); xMProductDetailsNew.ProductId = this.ProductId; xMProductDetailsNew.PlatformTypeId = ccPlatformTypeId.SelectedValue; xMProductDetailsNew.PlatformMerchantCode = txtPlatformMerchantCode.Text.Trim(); xMProductDetailsNew.ProductTypeId = ccProductTypeId.SelectedValue; if (txtPlatformInventory.Text != "") { xMProductDetailsNew.PlatformInventory = Convert.ToInt32(txtPlatformInventory.Text.Trim()); } if (txtColor.Text != "") { xMProductDetailsNew.Color = txtColor.Text.Trim(); } xMProductDetailsNew.strUrl = txtstrUrl.Text.Trim(); decimal paramparse1 = 0; if (decimal.TryParse(txtCostprice.Text.Trim(), out paramparse1)) { xMProductDetailsNew.Costprice = Convert.ToDecimal(txtCostprice.Text.Trim()); } else { xMProductDetailsNew.Costprice = 0; } if (decimal.TryParse(txtSaleprice.Text.Trim(), out paramparse1)) { xMProductDetailsNew.Saleprice = Convert.ToDecimal(txtSaleprice.Text.Trim()); } else { xMProductDetailsNew.Saleprice = 0; } if (decimal.TryParse(txtUnauditMinPrice.Text.Trim(), out paramparse1)) { xMProductDetailsNew.UnauditMinPrice = Convert.ToDecimal(txtUnauditMinPrice.Text.Trim()); } else { xMProductDetailsNew.UnauditMinPrice = 0; } if (txtTCostprice.Text != "" || txtTManufacturersCode.Text.Trim() != "") { if (txtTDateTimeStart.Value.ToString() != "" && txtTDateTimeEnd.Value.ToString() != "") { if (txtTCostprice.Text != "") { xMProductDetailsNew.TCostprice = Convert.ToDecimal(txtTCostprice.Text.Trim()); } else { xMProductDetailsNew.TCostprice = null; } if (txtTManufacturersCode.Text.Trim() != "") { xMProductDetailsNew.TemporaryManufacturersCode = txtTManufacturersCode.Text.Trim();//临时厂家编码 } else { xMProductDetailsNew.TemporaryManufacturersCode = ""; } xMProductDetailsNew.TDateTimeStart = Convert.ToDateTime(txtTDateTimeStart.Value); xMProductDetailsNew.TDateTimeEnd = Convert.ToDateTime(txtTDateTimeEnd.Value).AddDays(+1).AddMinutes(-1); } else { base.ShowMessage("开始时间或结束时间不能为空!"); return; } } else { xMProductDetailsNew.TCostprice = null; xMProductDetailsNew.TemporaryManufacturersCode = ""; xMProductDetailsNew.TDateTimeStart = null; xMProductDetailsNew.TDateTimeEnd = null; } xMProductDetailsNew.IsMainPush = chkIsMainPush.Checked; xMProductDetailsNew.IsEnable = false; xMProductDetailsNew.CreateID = HozestERPContext.Current.User.CustomerID; xMProductDetailsNew.CreateDate = DateTime.Now; xMProductDetailsNew.UpdateID = HozestERPContext.Current.User.CustomerID; xMProductDetailsNew.UpdateDate = DateTime.Now; base.XMProductDetailsService.InsertXMProductDetails(xMProductDetailsNew); if (xMProductDetails != null) { decimal minPrice = xMProductDetails.MinPrice == null ? 0 : (decimal)xMProductDetails.MinPrice; decimal unauditMinPrice = xMProductDetails.UnauditMinPrice == null ? 0 : (decimal)xMProductDetails.UnauditMinPrice; if (minPrice != unauditMinPrice) { sendMail(xMProductDetailsNew.ManufacturersCode, xMProductDetailsNew.PlatformTypeName.CodeName); } } } else //修改 { if (xMProductDetailsCodeList != null) { if (xMProductDetailsCodeList.Count > 0) { if (xMProductDetailsCodeList[0].Id != QID)//if (!txtPlatformMerchantCode.Text.Trim().Equals(hfPlatformMerchantCode.Value)) { base.ShowMessage("商品编码已存在!"); return; } } } xMProductDetails.PlatformTypeId = ccPlatformTypeId.SelectedValue; xMProductDetails.PlatformMerchantCode = txtPlatformMerchantCode.Text.Trim(); xMProductDetails.ProductTypeId = ccProductTypeId.SelectedValue; if (txtPlatformInventory.Text != "") { xMProductDetails.PlatformInventory = Convert.ToInt32(txtPlatformInventory.Text.Trim()); } xMProductDetails.strUrl = txtstrUrl.Text.Trim(); xMProductDetails.Color = txtColor.Text.Trim(); decimal paramparse1 = 0; if (decimal.TryParse(txtCostprice.Text.Trim(), out paramparse1)) { xMProductDetails.Costprice = Convert.ToDecimal(txtCostprice.Text.Trim()); } else { xMProductDetails.Costprice = 0; } if (decimal.TryParse(txtSaleprice.Text.Trim(), out paramparse1)) { xMProductDetails.Saleprice = Convert.ToDecimal(txtSaleprice.Text.Trim()); } else { xMProductDetails.Saleprice = 0; } if (decimal.TryParse(txtUnauditMinPrice.Text.Trim(), out paramparse1)) { xMProductDetails.UnauditMinPrice = Convert.ToDecimal(txtUnauditMinPrice.Text.Trim()); } else { xMProductDetails.UnauditMinPrice = 0; } if (txtTCostprice.Text != "" || txtTManufacturersCode.Text.Trim() != "") { if (txtTDateTimeStart.Value.ToString() != "" || txtTDateTimeEnd.Value.ToString() != "") { if (txtTCostprice.Text != "") { xMProductDetails.TCostprice = Convert.ToDecimal(txtTCostprice.Text.Trim()); } else { xMProductDetails.TCostprice = null; } if (txtTManufacturersCode.Text.Trim() != "") { xMProductDetails.TemporaryManufacturersCode = txtTManufacturersCode.Text.Trim();//临时厂家编码 } else { xMProductDetails.TemporaryManufacturersCode = ""; } xMProductDetails.TDateTimeStart = Convert.ToDateTime(txtTDateTimeStart.Value); xMProductDetails.TDateTimeEnd = Convert.ToDateTime(txtTDateTimeEnd.Value).AddDays(+1).AddMinutes(-1); } else { base.ShowMessage("开始时间或结束时间不能为空!"); return; } } else { xMProductDetails.TCostprice = null; xMProductDetails.TemporaryManufacturersCode = ""; xMProductDetails.TDateTimeStart = null; xMProductDetails.TDateTimeEnd = null; } xMProductDetails.IsMainPush = chkIsMainPush.Checked; xMProductDetails.UpdateID = HozestERPContext.Current.User.CustomerID; xMProductDetails.UpdateDate = DateTime.Now; base.XMProductDetailsService.UpdateXMProductDetails(xMProductDetails); decimal minPrice = xMProductDetails.MinPrice == null ? 0 : (decimal)xMProductDetails.MinPrice; decimal unauditMinPrice = xMProductDetails.UnauditMinPrice == null ? 0 : (decimal)xMProductDetails.UnauditMinPrice; if (minPrice != unauditMinPrice) { sendMail(xMProductDetails.ManufacturersCode, xMProductDetails.PlatformTypeName.CodeName); } } //重新绑定 this.RowEditIndex = -1; BindGrid(); }
protected void btnCalculate_Click(object sender, DirectEventArgs e) { string OrderID = CommonHelper.QueryString("ID"); XMOrderInfo entity_Order = XMOrderInfoService.GetXMOrderInfoByID(int.Parse(OrderID)); if (entity_Order == null) { ExtNet.Msg.Alert("提示", "订单信息不存在").Show(); return; } XMProject entity_Project = XMProjectService.GetXMProjectById(entity_Order.ProjectId); if (entity_Project == null) { ExtNet.Msg.Alert("提示", "项目信息不存在").Show(); return; } if (entity_Project.ProjectName == "曲美") { //干线费用 decimal mainMoney = 0; //支线费用 decimal branchMoney = 0; string province = entity_Order.Province; string city = entity_Order.City; string region = entity_Order.County; string[] mes = entity_Order.CustomerServiceRemark.Split(new string[] { "///" }, StringSplitOptions.RemoveEmptyEntries); if (mes.Count() <= 0) { ExtNet.Msg.Alert("提示", "解析错误").Show(); return; } string[] mes1 = mes[0].Split(new string[] { "+" }, StringSplitOptions.RemoveEmptyEntries); if (mes1.Count() <= 0) { ExtNet.Msg.Alert("提示", "解析错误").Show(); return; } //查询干线物流公司信息 List <CodeList> codeList = CodeService.GetCodeListInfoByCodeTypeIDAndCodeName(243, mes1[0]); if (codeList.Count <= 0) { ExtNet.Msg.Alert("提示", "找不到干线物流公司信息").Show(); return; } int logisticsMainID = codeList[0].CodeID; //查询干线物流单价费率 BusinessLogic.ManageProject.XMLogisticsFeeMain entityMain = XMLogisticsFeeMainService. getSingle(a => a.ProjectID == entity_Project.Id && a.WareHouseID == 758 && province.StartsWith(a.Province) && city.StartsWith(a.City) && region.StartsWith(a.Area) && a.LogisticsID == logisticsMainID); if (entityMain == null) { ExtNet.Msg.Alert("提示", "找不到对应干线单价费率").Show(); return; } //只计算干线费用 if (mes1.Count() == 1) { //对应干线单价费率 decimal main = (decimal)entityMain.Fee; List <XMOrderInfoProductDetails> list_OrderProductDetails = XMOrderInfoProductDetailsService.GetXMOrderInfoProductDetailsList(entity_Order.ID); foreach (var item in list_OrderProductDetails) { string ProductVolume = string.IsNullOrEmpty(item.ProductVolume) ? "0" : item.ProductVolume; mainMoney = mainMoney + main * decimal.Parse(ProductVolume) * (int)item.ProductNum; } } //计算干线和支线费用 else if (mes1.Count() == 2) { //对应干线单价费率 decimal main = (decimal)entityMain.Fee; //查询支线物流公司信息 List <CodeList> codeList1 = CodeService.GetCodeListInfoByCodeTypeIDAndCodeName(244, mes1[1]); if (codeList.Count <= 0) { ExtNet.Msg.Alert("提示", "找不到支线物流公司信息").Show(); return; } List <XMOrderInfoProductDetails> list_OrderProductDetails = XMOrderInfoProductDetailsService.GetXMOrderInfoProductDetailsList(entity_Order.ID); foreach (var item in list_OrderProductDetails) { //对应支线单价费率 decimal Branch = 0; XMProduct entityProduct = XMProductService.getXMProductByManufacturersCode(item.TManufacturersCode); XMProductDetails entityProductDetails = XMProductDetailsService.GetXMProductDetailsListByProductId(entityProduct.Id)[0]; //查询支线物流单价费率 int logisticsBranchID = codeList1[0].CodeID; BusinessLogic.ManageProject.XMLogisticsFeeBranch entityBranch = XMLogisticsFeeBranchService. getSingle(a => a.ProjectID == entity_Project.Id && a.LogisticsID == logisticsBranchID && a.ProductCategoryID == entityProductDetails.ProductTypeId); if (entityBranch == null) { ExtNet.Msg.Alert("提示", "找不到对应支线单价费率").Show(); return; } Branch = (decimal)entityBranch.Fee; //商品体积 string ProductVolume = string.IsNullOrEmpty(entityProduct.ProductVolume) ? "0" : entityProduct.ProductVolume; mainMoney = mainMoney + main * decimal.Parse(ProductVolume) * (int)item.ProductNum; branchMoney = branchMoney + Branch * (int)item.ProductNum; } } //事务 using (TransactionScope scope = new TransactionScope()) { List <BusinessLogic.ManageProject.XMLogisticsFeeDetail> list = XMLogisticsFeeDetailService.getList(a => a.Type != 3); foreach (var item in list) { XMLogisticsFeeDetailService.delete(item); } if (mainMoney >= 0) { XMLogisticsFeeDetailService.InsertXMLogisticsFeeDetail(new BusinessLogic.ManageProject.XMLogisticsFeeDetail() { OrderID = entity_Order.ID, Type = 1, Fee = mainMoney, CreateID = HozestERPContext.Current.User.CustomerID, CreateDate = DateTime.Now, }); } if (branchMoney >= 0) { XMLogisticsFeeDetailService.InsertXMLogisticsFeeDetail(new BusinessLogic.ManageProject.XMLogisticsFeeDetail() { OrderID = entity_Order.ID, Type = 2, Fee = branchMoney, CreateID = HozestERPContext.Current.User.CustomerID, CreateDate = DateTime.Now, }); } scope.Complete(); } } else { ExtNet.Msg.Alert("提示", "不在计算范围内").Show(); return; } }