public string ToPlanBill(List <XMOrderInfoProductDetails> list, XMOrderInfo Info, int WarehouseID, int type, string msg) { if (type == 1 || type == 3) { bool ProductExist = false; if (GetPlanBillResult(list, Info, null, WarehouseID, type))//排单成功 { ProductExist = true; } if (!ProductExist) { msg += "订单:" + Info.OrderCode + "," + ManufacturersCodeRecord + "商品库存不足!<br/>"; } } else if (type == 2 || type == 4) { List <int?> Ids = new List <int?>(); var IDs = list.Select(x => x.ID).ToList(); var SpareAddressList = base.XMSpareAddressService.GetXMSpareAddressListByIDs(IDs, 709); foreach (var info in list) { if (Ids.Contains(info.ID)) { continue; } var spareAddress = base.XMSpareAddressService.GetXMSpareAddressByParm(info.ID, 709); if (spareAddress != null) { //不同产品,相同地址 var SpareAddress = SpareAddressList.Where(x => x.FullName == spareAddress.FullName && x.Mobile == spareAddress.Mobile && x.DeliveryAddress == spareAddress.DeliveryAddress).ToList(); var OrderInfoProductIds = SpareAddress.Select(x => x.OtherID).ToList(); var List = list.Where(x => OrderInfoProductIds.Contains(x.ID)).ToList(); Ids.AddRange(OrderInfoProductIds); bool ProductExist = false; if (GetPlanBillResult(List, Info, spareAddress, WarehouseID, type))//排单成功 { ProductExist = true; } if (!ProductExist) { msg += "订单:" + Info.OrderCode + "," + ManufacturersCodeRecord + "商品库存不足!<br/>"; } } } } return(msg); }
public XMOrderInfo GetXMOrderInfoValue(XMOrderInfo OrderInfo) { XMOrderInfo a = new XMOrderInfo(); a.AppointDeliveryTime = OrderInfo.AppointDeliveryTime; a.FullName = OrderInfo.FullName; a.Mobile = OrderInfo.Mobile; a.Tel = OrderInfo.Tel; a.DeliveryAddressSpare = OrderInfo.DeliveryAddressSpare; a.Province = OrderInfo.Province; a.City = OrderInfo.City; a.County = OrderInfo.County; a.DeliveryAddress = OrderInfo.DeliveryAddress; return(a); }
protected void Page_Load(object sender, EventArgs e) { if (!X.IsAjaxRequest) { string OrderID = CommonHelper.QueryString("ID"); string[] status = new string[] { "TRADE_FINISHED", "TRADE_CLOSED", "TRADE_CLOSED_BY_TAOBAO", "FINISHED_L", "TRADE_CANCELED", "FINISHED_L", "TRADE_CANCELED", "STATUS_97", "STATUS_25", "ORDER_FINISH", "ORDER_CANCEL", "已取消", "30", "40", "DS_DEAL_END_NORMAL", "已完成" }; XMOrderInfo entityOrderInfo = XMOrderInfoService.GetXMOrderInfoByID(int.Parse(OrderID)); if (status.Contains(entityOrderInfo.OrderStatus)) { btn_SaveClick.Enabled = false; btn_ReCalculateClick.Enabled = false; } } }
public HozestERP.BusinessLogic.ManageProject.XMDelivery ToInsertDelivery(XMOrderInfo Info, XMSpareAddress SpareAddress, int type) { HozestERP.BusinessLogic.ManageProject.XMDelivery info = new HozestERP.BusinessLogic.ManageProject.XMDelivery(); info.DeliveryTypeId = 480; //正常 info.DeliveryNumber = DateTime.Now.ToString("yyyyMMddHHmmssfff"); //发货单号; info.OrderCode = Info.OrderCode; if (type == 1 || type == 3) { info.FullName = Info.FullName; info.Mobile = Info.Mobile; info.Tel = Info.Tel; info.Province = Info.Province; info.City = Info.City; info.County = Info.County; info.DeliveryAddress = Info.DeliveryAddress; } else if (type == 2 || type == 4) { info.FullName = SpareAddress.FullName; info.Mobile = SpareAddress.Mobile; info.Tel = SpareAddress.Tel; info.Province = SpareAddress.Province; info.City = SpareAddress.City; info.County = SpareAddress.County; info.DeliveryAddress = SpareAddress.DeliveryAddress; } info.OrderRemarks = Info.CustomerServiceRemark; info.Shipper = 0; info.Price = 0; info.PrintBatch = 0; info.PrintQuantity = 0; info.IsDelivery = false; info.IsEnabled = false; info.CreateDate = DateTime.Now; info.CreateId = HozestERPContext.Current.User.CustomerID; info.UpdateDate = DateTime.Now; info.UpdateId = HozestERPContext.Current.User.CustomerID; //base.XMDeliveryService.InsertXMDelivery(info); return(info); }
public void GetOrderInfoDifference(XMOrderInfo info, XMOrderInfo Info) { if (info.AppointDeliveryTime != Info.AppointDeliveryTime) { AddXMOrderInfoOperatingRecord("修改收货人信息-预约发货时间", info.AppointDeliveryTime.ToString(), Info.AppointDeliveryTime.ToString()); } if (info.FullName != Info.FullName) { AddXMOrderInfoOperatingRecord("修改收货人信息-姓名", info.FullName, Info.FullName); } if (info.Mobile != Info.Mobile) { AddXMOrderInfoOperatingRecord("修改收货人信息-手机", info.Mobile, Info.Mobile); } if (info.Tel != Info.Tel) { AddXMOrderInfoOperatingRecord("修改收货人信息-电话", info.Tel, Info.Tel); } if (info.DeliveryAddressSpare != Info.DeliveryAddressSpare) { AddXMOrderInfoOperatingRecord("修改收货人信息-备用地址", info.DeliveryAddressSpare, Info.DeliveryAddressSpare); } if (info.Province != Info.Province) { AddXMOrderInfoOperatingRecord("修改收货人信息-省", info.Province, Info.Province); } if (info.City != Info.City) { AddXMOrderInfoOperatingRecord("修改收货人信息-市", info.City, Info.City); } if (info.County != Info.County) { AddXMOrderInfoOperatingRecord("修改收货人信息-县", info.County, Info.County); } if (info.DeliveryAddress != Info.DeliveryAddress) { AddXMOrderInfoOperatingRecord("修改收货人信息-地址", info.DeliveryAddress, Info.DeliveryAddress); } }
public bool GetPlanBillResult(List <XMOrderInfoProductDetails> list, XMOrderInfo Info, XMSpareAddress SpareAddress, int WarehouseID, int type) { ManufacturersCodeRecord = ""; bool complete = true; HozestERP.BusinessLogic.ManageProject.XMDelivery delivery = ToInsertDelivery(Info, SpareAddress, type); delivery.XM_Delivery_Details = new List <XMDeliveryDetails>(); foreach (var info in list) { var exist1 = base.XMInventoryInfoService.GetXMInventoryInfoByParm(info.TManufacturersCode, WarehouseID);//库存管理中的数据 if (type == 1 || type == 2) { var exist = base.XMXLMInventoryService.GetXMXLMInventoryListByParm(WarehouseID, info.TManufacturersCode, ""); if ((canXMLProject && exist.Count > 0 && exist[0].Inventory >= info.ProductNum) || (!canXMLProject && exist1 != null && exist1.StockNumber >= info.ProductNum)) { if (delivery.Shipper == 0) { var product = base.XMProductDetailsService.GetXMProductListByTManufacturersCode(info.TManufacturersCode); if (product != null && product.Count > 0) { delivery.Shipper = product[0].Shipper; } } if (delivery.OrderRemarks == Info.CustomerServiceRemark && !string.IsNullOrEmpty(info.SpareRemarks)) { delivery.OrderRemarks = info.SpareRemarks; } delivery.XM_Delivery_Details.Add(GetDeliveryDetails(info, Info.OrderCode, WarehouseID)); //减喜临门当日库存 if (canXMLProject) { InventoryList.Add((int)exist[0].Inventory - (int)info.ProductNum); XLMInventoryList.Add(exist[0]); } else { InventoryList.Add((int)exist1.StockNumber - (int)info.ProductNum); XMInventoryInfoList.Add(exist1); } } else { complete = false; ManufacturersCodeRecord += "产品编码:" + info.TManufacturersCode + ","; } } if (type == 3 || type == 4) //乳胶枕,U型枕,无备用地址 { var exist = base.XMXLMInventoryService.GetXMXLMInventoryListByParm(693, info.TManufacturersCode, ""); //南方仓库 if ((canXMLProject && exist.Count > 0 && exist[0].Inventory >= info.ProductNum) || (!canXMLProject && exist1 != null && exist1.StockNumber >= info.ProductNum)) { if (delivery.Shipper == 0) { var product = base.XMProductDetailsService.GetXMProductListByTManufacturersCode(info.TManufacturersCode); if (product != null && product.Count > 0) { delivery.Shipper = product[0].Shipper; } } if (delivery.OrderRemarks == Info.CustomerServiceRemark && !string.IsNullOrEmpty(info.SpareRemarks)) { delivery.OrderRemarks = info.SpareRemarks; } delivery.XM_Delivery_Details.Add(GetDeliveryDetails(info, Info.OrderCode, 693)); //减喜临门当日库存 if (canXMLProject) { InventoryList.Add((int)exist[0].Inventory - (int)info.ProductNum); XLMInventoryList.Add(exist[0]); } else { InventoryList.Add((int)exist1.StockNumber - (int)info.ProductNum); XMInventoryInfoList.Add(exist1); } } else { complete = false; ManufacturersCodeRecord += "产品编码:" + info.TManufacturersCode + ","; } } } if (complete == true && delivery.XM_Delivery_Details != null && delivery.XM_Delivery_Details.Count > 0) { DeliveryList.Add(delivery); } return(complete); }
/// <summary> /// 保存暂支申请信息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSave_Click(object sender, EventArgs e) { if (Page.IsValid) { using (TransactionScope scope = new TransactionScope()) { try { var hfScalpingId = this.hfScalpingId.Value; var hfPlatformTypeId = this.hfPlatformTypeId.Value; var hfNickId = this.hfNickId.Value; var txtOrderCode = this.txtOrderCode.Text.Trim(); var hidOrderCode = this.hidOrderCode.Value; var txtWantID = this.txtWantID.Text.Trim(); var txtProductName = this.txtProductName.Text.Trim(); var txtSalePrice = this.txtSalePrice.Text.Trim(); var txtFee = this.txtFee.Text.Trim(); //var txtDeduction = this.txtDeduction.Text.Trim() ; //var ddType= this.ddType.SelectedValue; //var txtLeader = this.txtLeader.SelectSingleCustomer.CustomerID; decimal Deduction = 0; if (Convert.ToInt32(hfNickId) > 0 && Convert.ToInt32(hfPlatformTypeId) > 0) { int ProjectId = 0; //根据店铺Id查询 取项目Id var XMNick = base.XMNickService.GetXMNickByID(Convert.ToInt32(hfNickId)); if (XMNick != null) { if (XMNick.ProjectId != null) { ProjectId = XMNick.ProjectId.Value; } } //根据项目Id 平台类型查询 扣点 var xMDeductionSetUp = base.XMDeductionSetUpService.GetXMDeductionSetUpByProjectAndPlatformTypeId(ProjectId, 475, Convert.ToInt32(hfPlatformTypeId)); if (xMDeductionSetUp != null) { //计算扣点 if (xMDeductionSetUp.Deduction != null) { decimal DeductionD = xMDeductionSetUp.Deduction.Value / 100; Deduction = Convert.ToDecimal(txtSalePrice) * DeductionD;//扣点 } } else { base.ShowMessage("请设置平台扣点!"); return; } } //根据订单号查询 刷单记录信息 var XMScalpingByOrderCode = base.XMScalpingService.GetXMScalpingByOrderCode(txtOrderCode); // 根据订单号查询 订单信息 var xMOrderInfo = base.XMOrderInfoService.GetXMOrderByOrderCode(txtOrderCode); XMOrderInfo xMOrderInfoNow = new XMOrderInfo(); var XMOrderInfoAppList = IoC.Resolve <IXMOrderInfoAppService>().GetXMOrderInfoAppList(); List <XMOrderInfoApp> xMorderInfoApp = new List <XMOrderInfoApp>(); int count = 0;//返回记录条数 if (xMOrderInfo == null) { #region 各平台订单号同步 int TMInsertCount = 0; int TMUpdateCount = 0; int JDInsertCount = 0; int JDUpdateCount = 0; int TMCDInsertCount = 0; int TMCDUpdateCount = 0; int VPHInsertCount = 0; int VPHUpdateCount = 0; int YHDInsertCount = 0; int YHDUpdateCount = 0; int SuningInsertCount = 0; int SuningUpdateCount = 0; for (int i = 0; i < xMorderInfoApp.Count; i++) { if (xMorderInfoApp[i].PlatformTypeId == 251 || xMorderInfoApp[i].PlatformTypeId == 382)// || xMorderInfoApp[i].PlatformTypeId == 310) { HozestERP.BusinessLogic.JDsingleServiceReference.JDsingleOrderGetSoapClient webserver = new HozestERP.BusinessLogic.JDsingleServiceReference.JDsingleOrderGetSoapClient(); HozestERP.BusinessLogic.JDsingleServiceReference.OrderInfo orderInfo = webserver.WebGetJDOrderInfo(txtOrderCode, xMorderInfoApp[i].AppKey, xMorderInfoApp[i].AppSecret, xMorderInfoApp[i].ServerUrl, xMorderInfoApp[i].AccessToken); if (orderInfo != null) { IoC.Resolve <IXMOrderInfoAPIService>().getOrderInfoJD(orderInfo, ref JDInsertCount, ref JDUpdateCount, xMorderInfoApp[i]); } } else if (xMorderInfoApp[i].PlatformTypeId == 250 || xMorderInfoApp[i].PlatformTypeId == 381) { Trade trade = IoC.Resolve <IXMOrderInfoAPIService>().GetTrade(Convert.ToInt64(txtOrderCode), xMorderInfoApp[i]); if (trade != null) { if (xMorderInfoApp[i].PlatformTypeId == 250) { IoC.Resolve <IXMOrderInfoAPIService>().getTradeTM(trade, ref TMInsertCount, ref TMUpdateCount, xMorderInfoApp[i]); } else if (xMorderInfoApp[i].PlatformTypeId == 381) { IoC.Resolve <IXMOrderInfoAPIService>().getTradeTM(trade, ref TMCDInsertCount, ref TMCDUpdateCount, xMorderInfoApp[i]); } } } //一号店 else if (xMorderInfoApp[i].PlatformTypeId == 375) { IoC.Resolve <IXMOrderInfoAPIService>().getOrderYHD(txtOrderCode, ref YHDInsertCount, ref YHDUpdateCount, xMorderInfoApp[i]); } //苏宁易购 else if (xMorderInfoApp[i].PlatformTypeId == 383) { IoC.Resolve <IXMOrderInfoAPIService>().getOrderSuning(txtOrderCode, ref SuningInsertCount, ref SuningUpdateCount, xMorderInfoApp[i]); } } if (xMorderInfoApp.Count > 0 && xMorderInfoApp[0].PlatformTypeId == 259) { string payDateStart = Convert.ToDateTime(DateTime.Now).AddDays(-30).ToString("yyyy-MM-dd HH:mm:ss"); string payDateEnd = Convert.ToDateTime(DateTime.Now).AddHours(-1).ToString("yyyy-MM-dd HH:mm:ss"); IoC.Resolve <IXMOrderInfoAPIService>().getOrderVPH(payDateStart, payDateEnd, txtOrderCode, ref VPHInsertCount, ref VPHUpdateCount, xMorderInfoApp[0]); } #endregion //同步个平台 返回的记录条数 count = JDInsertCount + JDUpdateCount + TMInsertCount + TMUpdateCount + VPHInsertCount + VPHUpdateCount + YHDInsertCount + YHDUpdateCount + TMCDInsertCount + TMCDUpdateCount + SuningInsertCount + SuningUpdateCount; } if (count > 0) { // 修改订单表是否刷单状态 (订单存在IsScalping=true) 并判断订单是否存在 xMOrderInfoNow = IoC.Resolve <IXMOrderInfoService>().GetXMOrderByOrderCode(txtOrderCode); } else { xMOrderInfoNow = xMOrderInfo; } if (xMOrderInfoNow == null) { base.ShowMessage(txtOrderCode + "订单号有误,请确认!"); return; } var xMScalping = base.XMScalpingService.GetXMScalpingByID(this.ScalpingId); if (xMScalping == null) { if (XMScalpingByOrderCode.Count > 0) { base.ShowMessage(txtOrderCode + "订单号已存在!"); return; } XMScalping xMScalpingNew = new XMScalping(); int scalpingId = 0; int.TryParse(this.hfScalpingId.Value, out scalpingId); var scalping = base.XMScalpingApplicationService.GetXMScalpingApplicationByScalpingId(scalpingId); if (scalping == null) { this.hfScalpingId.Value = ""; this.txtScalpingCode.Value = ""; this.hfNickId.Value = ""; this.txtNickName.Text = ""; this.hfPlatformTypeId.Value = ""; this.txtPlatformType.Text = ""; this.Master.ShowMessage("刷单单号有误."); ScriptManager.RegisterStartupScript(this.txtScalpingCode, this.Page.GetType(), "ScalpingAdd", "autoCompleteBindScalpingAdd()", true); return; } xMScalpingNew.ScalpingApplication = Convert.ToInt32(hfScalpingId); xMScalpingNew.PlatformTypeId = Convert.ToInt32(hfPlatformTypeId); xMScalpingNew.NickId = Convert.ToInt32(hfNickId); //xMScalpingNew.Type = ddType; xMScalpingNew.OrderCode = txtOrderCode; xMScalpingNew.OrderInfoCreateDate = xMOrderInfoNow.OrderInfoCreateDate; xMScalpingNew.WantID = txtWantID; xMScalpingNew.ProductName = txtProductName; xMScalpingNew.SalePrice = Convert.ToDecimal(txtSalePrice); xMScalpingNew.Fee = Convert.ToDecimal(txtFee); xMScalpingNew.Deduction = Deduction; //xMScalpingNew.Leader = Convert.ToInt32(txtLeader); xMScalpingNew.IsAbnormal = false; xMScalpingNew.IsEnable = false; xMScalpingNew.CreateID = HozestERPContext.Current.User.CustomerID; xMScalpingNew.CreateDate = DateTime.Now; xMScalpingNew.UpdateID = HozestERPContext.Current.User.CustomerID; xMScalpingNew.UpdateDate = DateTime.Now; #region 修改订单表是否刷单状态 (订单存在IsScalping=true) // var xMOrderInfo = base.XMOrderInfoService.GetXMOrderByOrderCode(txtOrderCode); if (xMOrderInfoNow != null) { xMOrderInfoNow.IsScalping = true; xMOrderInfoNow.UpdateID = HozestERPContext.Current.User.CustomerID; xMOrderInfoNow.UpdateDate = DateTime.Now; base.XMOrderInfoService.UpdateXMOrderInfo(xMOrderInfoNow); } #endregion base.XMScalpingService.InsertXMScalping(xMScalpingNew); //base.ShowMessage("保存成功"); this.Master.JsWrite("alert('保存成功.');window.PopClose();", ""); scope.Complete(); } else { if (XMScalpingByOrderCode.Count > 0) { if (!txtOrderCode.Equals(hidOrderCode)) { base.ShowMessage(txtOrderCode + "订单号已存在!"); return; } } int scalpingId = 0; int.TryParse(this.hfScalpingId.Value, out scalpingId); var scalping = base.XMScalpingApplicationService.GetXMScalpingApplicationByScalpingId(scalpingId); if (scalping == null) { this.hfScalpingId.Value = ""; this.txtScalpingCode.Value = ""; this.hfNickId.Value = ""; this.txtNickName.Text = ""; this.hfPlatformTypeId.Value = ""; this.txtPlatformType.Text = ""; this.Master.ShowMessage("刷单单号有误."); ScriptManager.RegisterStartupScript(this.txtScalpingCode, this.Page.GetType(), "ScalpingAdd", "autoCompleteBindScalpingAdd()", true); return; } xMScalping.ScalpingApplication = Convert.ToInt32(hfScalpingId); xMScalping.PlatformTypeId = Convert.ToInt32(hfPlatformTypeId); xMScalping.NickId = Convert.ToInt32(hfNickId); //xMScalping.Type = ddType; xMScalping.OrderCode = txtOrderCode; xMScalping.WantID = txtWantID; xMScalping.ProductName = txtProductName; xMScalping.SalePrice = Convert.ToDecimal(txtSalePrice); xMScalping.Fee = Convert.ToDecimal(txtFee); xMScalping.Deduction = Deduction; //xMScalping.Leader = Convert.ToInt32(txtLeader); xMScalping.IsAbnormal = false; xMScalping.UpdateID = HozestERPContext.Current.User.CustomerID; xMScalping.UpdateDate = DateTime.Now; #region 修改订单表是否刷单状态 (订单存在IsScalping=true) //var xMOrderInfo = base.XMOrderInfoService.GetXMOrderByOrderCode(txtOrderCode); if (xMOrderInfoNow != null) { xMOrderInfoNow.IsScalping = true; xMOrderInfoNow.UpdateID = HozestERPContext.Current.User.CustomerID; xMOrderInfoNow.UpdateDate = DateTime.Now; base.XMOrderInfoService.UpdateXMOrderInfo(xMOrderInfoNow); } #endregion base.XMScalpingService.UpdateXMScalping(xMScalping); //base.ShowMessage("保存成功"); this.Master.JsWrite("alert('保存成功.');window.PopClose();", ""); scope.Complete(); } } catch (Exception err) { this.ProcessException(err); } } } }
protected void btnSave_Click(object sender, EventArgs e) { string area = ""; DateTime date = DateTime.Now; string AppointDeliveryTime = this.txtAppointDeliveryTime.Value.Trim(); string FullName = this.txtFullName.Text.Trim(); string Mobile = this.txtMobile.Text.Trim(); string Tel = this.txtTel.Text.Trim(); string DeliveryAddress = this.txtDeliveryAddress.Text.Trim(); //string DeliveryAddressSpare = this.txtDeliveryAddressSpare.Text.Trim(); var OrderInfo = base.XMOrderInfoService.GetXMOrderInfoByOrderCode(OrderCode); if (OrderInfo != null) { XMOrderInfo record = GetXMOrderInfoValue(OrderInfo); if (DateTime.TryParse(AppointDeliveryTime, out date)) { OrderInfo.AppointDeliveryTime = DateTime.Parse(AppointDeliveryTime); } else if (string.IsNullOrEmpty(AppointDeliveryTime)) { OrderInfo.AppointDeliveryTime = null; } OrderInfo.FullName = FullName; OrderInfo.Mobile = Mobile; OrderInfo.Tel = Tel; //OrderInfo.DeliveryAddressSpare = DeliveryAddressSpare; if (this.ddlProvince.SelectedValue != "-1") { var info = base.AreaCodeService.GetAreaByNumberID(this.ddlProvince.SelectedValue); OrderInfo.Province = this.ddlProvince.SelectedItem.Text.Trim(); if (this.ddlCity.SelectedValue != "-2" && this.ddlCity.SelectedValue != "-3" && this.ddlCity.SelectedValue != "-4") { OrderInfo.Province += info.CityType; } area += OrderInfo.Province; } if (this.ddlCity.SelectedValue == "-2" || this.ddlCity.SelectedValue == "-3" || this.ddlCity.SelectedValue == "-4") { OrderInfo.City = OrderInfo.Province; if (this.ddlCity.SelectedValue == "-3" || this.ddlCity.SelectedValue == "-4") { OrderInfo.City += "市"; } area += OrderInfo.City; } else if (this.ddlCity.SelectedValue != "-1" && this.ddlCity.SelectedValue != "-2" && this.ddlCity.SelectedValue != "-3" && this.ddlCity.SelectedValue != "-4" && this.ddlCity.SelectedValue != "") { var info = base.AreaCodeService.GetAreaByNumberID(this.ddlCity.SelectedValue); OrderInfo.City = this.ddlCity.SelectedItem.Text.Trim() + info.CityType; area += OrderInfo.City; } if (this.ddlCounty.SelectedValue != "-1" && this.ddlCounty.SelectedValue != "") { var info = base.AreaCodeService.GetAreaByNumberID(this.ddlCounty.SelectedValue); OrderInfo.County = this.ddlCounty.SelectedItem.Text.Trim() + info.CityType; area += OrderInfo.County; } OrderInfo.DeliveryAddress = area + DeliveryAddress; OrderInfo.UpdateID = HozestERPContext.Current.User.CustomerID; OrderInfo.UpdateDate = DateTime.Now; GetOrderInfoDifference(record, OrderInfo); base.XMOrderInfoService.UpdateXMOrderInfo(OrderInfo); base.ShowMessage("保存成功!"); } }
public void binddata() { #region 加载快递单模板 this.lblMSG.Text = ""; string ydgs = "EMS"; if (Rad_EMS.Checked) { ydgs = "EMS"; } else if (Rad_ZTO.Checked) { ydgs = "ZTO"; } else if (Rad_STO.Checked) { ydgs = "STO"; } else if (this.Rad_YTO.Checked) { ydgs = "YTO"; } Session["CompanyCode"] = ydgs; ///读取模板信息 Encoding code = Encoding.GetEncoding("gb2312"); StringBuilder divHtml = new StringBuilder(); StringBuilder htmls = new StringBuilder(); StreamReader sr = new StreamReader(new Page().Server.MapPath("/auth/" + ydgs.ToString() + ".html"), code); string line; while ((line = sr.ReadLine()) != null) { divHtml.Append(line); } sr.Close(); #endregion //string[] status = new string[3]; //status[0] = "FINISHED_L"; //status[1] = "TRADE_FINISHED"; //status[2] = "ORDERS_HAVE_AUDITED"; string status = "FINISHED_L,TRADE_FINISHED,ORDERS_HAVE_AUDITED"; //订单列表 //List<XMOrderInfo> orderInfoList = new List<XMOrderInfo>(); //发货单列表 List <HozestERP.BusinessLogic.ManageProject.XMDelivery> xMDeliveryList = new List <HozestERP.BusinessLogic.ManageProject.XMDelivery>(); //从发货单管理中取数据源 if (PrintTypeId == "Delivery") { #region 新 从发货单管理中取数据源 if (ids != "") { int[] sts = new int[ids.Split(',').Length]; for (int i = 0; i < ids.Split(',').Length; i++) { string Id = ids.Split(',')[i]; sts[i] = Convert.ToInt32(Id); } xMDeliveryList = base.XMDeliveryService.GetXMDeliveryById(sts); //List<string> OrderCodes = xMDeliveryList.Select(q => q.OrderCode).Distinct().ToList(); //orderInfoList = base.XMOrderInfoService.GetXMOrderInfoByOrderCodeList(OrderCodes);//订单信息 } //去掉重复的发货单 List <HozestERP.BusinessLogic.ManageProject.XMDelivery> temp = xMDeliveryList.Distinct().ToList(); this.lblcount.Text = temp.Count().ToString() + "个订单"; this.lblcount.ForeColor = Color.Red; Int64 aa = 0; if (txtStartCode.Text != string.Empty && txtEndCode.Text != string.Empty) //面单号不允许为空 { if (Int64.TryParse(txtStartCode.Text, out aa) && Int64.TryParse(txtEndCode.Text, out aa)) //判断输入的面单号是否数字 { Int64 len = Int64.Parse(txtEndCode.Text) - Int64.Parse(txtStartCode.Text); if (len >= 0) { if (temp.Count() == len + 1) { } else { this.lblMSG.Text = "面单数量和发货单数量不符,请确认!"; this.lblMSG.ForeColor = Color.Red; return; } } else { this.lblMSG.Text = "请正确输入打印的面单号码!"; this.lblMSG.ForeColor = Color.Red; return; } } else { this.lblMSG.Text = "请正确输入打印的面单号码!"; this.lblMSG.ForeColor = Color.Red; return; } } else { this.lblMSG.Text = "请正确输入打印的面单号码!"; this.lblMSG.ForeColor = Color.Red; return; } //List<XMOrderInfo> temp = orderInfoList.Distinct(new Comparer()).ToList<XMOrderInfo>(); #region 相同地址订单合并 //foreach (var o in temp) //{ // foreach (var p in orderInfoList) // { // string xaddress = (o.DeliveryAddressSpare == null || o.DeliveryAddressSpare == string.Empty) ? o.DeliveryAddress : o.DeliveryAddressSpare; // string yaddress = (p.DeliveryAddressSpare == null || p.DeliveryAddressSpare == string.Empty) ? p.DeliveryAddress : p.DeliveryAddressSpare; // if (xaddress == yaddress) // { // //if (p.Specifications.IndexOf(o.Specifications) == -1 && p.Specifications != "")//判断是否已包含 // // o.Specifications += ",|," + p.Specifications;//尺寸合并 // if (p.CustomerServiceRemark.IndexOf(o.CustomerServiceRemark) == -1 && p.CustomerServiceRemark != "")//判断是否已包含 // o.CustomerServiceRemark += ",|," + p.CustomerServiceRemark;//客服备注合并 // if (p.Remark.IndexOf(o.Remark) == -1 && p.Remark != "")//判断是否已包含 // o.Remark += ",|," + p.Remark;//备注合并 // } // } //} #endregion if (temp != null && temp.Count > 0) { foreach (var item in temp) { //根据发货单 的订单号查询订单信息 XMOrderInfo xmorderinfo = base.XMOrderInfoService.GetXMOrderByOrderCode(item.OrderCode); //根据发货单 Id 查询明细信息 List <XMDeliveryDetails> deliverDetailsList = base.XMDeliveryDetailsService.GetXMDeliveryDetailsByDeliveryId(item.Id); List <XMDeliveryDetails_Result> deliverDetailsListGroupy = deliverDetailsList.GroupBy(g => new { g.PlatformMerchantCode, g.PrdouctName, g.Specifications }). Select(group => new XMDeliveryDetails_Result() { PlatformMerchantCode = group.Key.PlatformMerchantCode, PrdouctName = group.Key.PrdouctName, Specifications = group.Key.Specifications, ProductNum = group.Sum(l => l.ProductNum) }).ToList(); //赠品信息 string displayRemark = ""; if (deliverDetailsListGroupy != null && deliverDetailsListGroupy.Count > 0) { foreach (var DetailsList in deliverDetailsListGroupy) { displayRemark += DetailsList.PrdouctName + "(" + DetailsList.Specifications + ")" + "*" + DetailsList.ProductNum + "+"; } if (!string.IsNullOrEmpty(displayRemark)) { displayRemark = displayRemark.Substring(0, displayRemark.Length - 1); } } string fapiao = ""; if (xmorderinfo.CustomerServiceRemark.IndexOf("发票") > -1) { fapiao = "发票"; } if (fapiao != "") { displayRemark = displayRemark + " " + fapiao; } StringBuilder htmltext = new StringBuilder(); htmltext.Append(divHtml); string strtel = "0574-55712472/0574-55712170"; #region 存在收货地址修改(淘宝订单原始订单收货地址) var customerInfo = HozestERPContext.Current.User.SCustomerInfo; htmltext = htmltext.Replace("$fahuoren$", xmorderinfo.NickName); htmltext = htmltext.Replace("$xingming$", xmorderinfo.FullName.ToString()); if (xmorderinfo.Mobile.ToString() != "") { htmltext = htmltext.Replace("$dianhua$", xmorderinfo.Mobile.ToString()); } else { htmltext = htmltext.Replace("$dianhua$", xmorderinfo.Tel.ToString()); } htmltext = htmltext.Replace("$danwei$", xmorderinfo.WantID.ToString() + " " + xmorderinfo.OrderCode); //CustomerServiceRemark //赠品更地址 string Address = ""; string s = ""; if (xmorderinfo.CustomerServiceRemark != "") { if (xmorderinfo.CustomerServiceRemark.IndexOf("更改赠品地址") > -1) { s = xmorderinfo.CustomerServiceRemark.Substring(xmorderinfo.CustomerServiceRemark.IndexOf("更改赠品地址") + 6).Trim(); } int f = s.IndexOf("/"); if (f > -1) { Address = s.Substring(0, f).Trim(); } } if (Address != "") { htmltext = htmltext.Replace("$dizhi$", Address); } else { if (xmorderinfo.DeliveryAddressSpare == "" || xmorderinfo.DeliveryAddressSpare == "NULL" || xmorderinfo.DeliveryAddressSpare == null) { htmltext = htmltext.Replace("$dizhi$", xmorderinfo.DeliveryAddress.ToString()); } else { htmltext = htmltext.Replace("$dizhi$", xmorderinfo.DeliveryAddressSpare.ToString()); } } if (Rad_EMS.Checked) { htmltext = htmltext.Replace("$youbian$", "315502"); htmltext = htmltext.Replace("$richuo$", DateTime.Now.ToString("yyyy.MM.dd.HH")); } #endregion #region 提取备注 //string allRemark = item.Remark + "/" + item.CustomerServiceRemark; //string[] remarklist = allRemark.Split('/'); //int remarkcount = remarklist.Count(); //string displayRemark = ""; //for (int i = 0; i < remarklist.Count(); i++) //{ // string contact = remarklist[i].ToString(); // if (contact.IndexOf("赠品") >= 0 || contact.IndexOf("发票") >= 0) // { // string displayRemarkReplace = remarklist[i].Replace("赠品:", ""); // displayRemarkReplace = displayRemarkReplace.Replace("赠品:", ""); // displayRemarkReplace = displayRemarkReplace.Replace("赠品", ""); // if (displayRemark.IndexOf(remarklist[i].ToString()) == -1) // displayRemark += displayRemarkReplace.ToString() + ","; // } //} #endregion htmltext = htmltext.Replace("$fahuodianhua$", strtel); htmltext = htmltext.Replace("$neijian$", displayRemark); htmltext = htmltext.Replace("$shijian$", DateTime.Now.ToString("yyyy MM dd HH:mm")); htmls.Append(htmltext); div_dy.InnerHtml = htmls.ToString(); } } #endregion } else if (PrintTypeId == "Empty") { #region 刷单打印 //订单列表 List <XMOrderInfo> orderInfoList = new List <XMOrderInfo>(); if (ids != "") { int[] sts = new int[ids.Split(',').Length]; for (int i = 0; i < ids.Split(',').Length; i++) { string Id = ids.Split(',')[i]; sts[i] = Convert.ToInt32(Id); } orderInfoList = base.XMScalpingService.GetXMOrderinfoShudan(sts); } this.lblcount.Text = orderInfoList.Count().ToString() + "个订单"; this.lblcount.ForeColor = Color.Red; #region 相同地址订单合并 List <XMOrderInfo> temp = orderInfoList.Distinct(new Comparer()).ToList <XMOrderInfo>(); foreach (var o in temp) { foreach (var p in orderInfoList) { string xaddress = (o.DeliveryAddressSpare == null || o.DeliveryAddressSpare == string.Empty) ? o.DeliveryAddress : o.DeliveryAddressSpare; string yaddress = (p.DeliveryAddressSpare == null || p.DeliveryAddressSpare == string.Empty) ? p.DeliveryAddress : p.DeliveryAddressSpare; if (xaddress == yaddress) { //if (p.Specifications.IndexOf(o.Specifications) == -1 && p.Specifications != "")//判断是否已包含 // o.Specifications += ",|," + p.Specifications;//尺寸合并 if (p.CustomerServiceRemark.IndexOf(o.CustomerServiceRemark) == -1 && p.CustomerServiceRemark != "") //判断是否已包含 { o.CustomerServiceRemark += ",|," + p.CustomerServiceRemark; //客服备注合并 } } } } #endregion if (temp != null && temp.Count > 0) { foreach (var item in temp) { StringBuilder htmltext = new StringBuilder(); htmltext.Append(divHtml); string strtel = "0574-55712472"; #region 存在收货地址修改(淘宝订单原始订单收货地址) var customerInfo = HozestERPContext.Current.User.SCustomerInfo; htmltext = htmltext.Replace("$fahuoren$", item.NickName); htmltext = htmltext.Replace("$xingming$", item.FullName.ToString()); if (item.Mobile.ToString() != "") { htmltext = htmltext.Replace("$dianhua$", item.Mobile.ToString()); } else { htmltext = htmltext.Replace("$dianhua$", item.Tel.ToString()); } htmltext = htmltext.Replace("$danwei$", item.WantID.ToString() + " " + item.OrderCode); //赠品更地址 string Address = ""; string s = ""; if (item.CustomerServiceRemark != "") { if (item.CustomerServiceRemark.IndexOf("更改赠品地址") > -1) { s = item.CustomerServiceRemark.Substring(item.CustomerServiceRemark.IndexOf("更改赠品地址") + 6).Trim(); } int f = s.IndexOf("/"); if (f > -1) { Address = s.Substring(0, f).Trim(); } } if (Address != "") { htmltext = htmltext.Replace("$dizhi$", Address); } else { if (item.DeliveryAddressSpare == "" || item.DeliveryAddressSpare == null) { htmltext = htmltext.Replace("$dizhi$", item.DeliveryAddress.ToString()); } else { htmltext = htmltext.Replace("$dizhi$", item.DeliveryAddressSpare.ToString()); } } if (Rad_EMS.Checked) { htmltext = htmltext.Replace("$youbian$", "315502"); htmltext = htmltext.Replace("$richuo$", DateTime.Now.ToString("yyyy.MM.dd.HH")); } #endregion #region 提取备注 string allRemark = item.CustomerServiceRemark; string[] remarklist = allRemark.Split('/'); int remarkcount = remarklist.Count(); string displayRemark = ""; for (int i = 0; i < remarklist.Count(); i++) { string contact = remarklist[i].ToString(); if (contact.IndexOf("赠品") >= 0 || contact.IndexOf("发票") >= 0) { string displayRemarkReplace = remarklist[i].Replace("赠品:", ""); displayRemarkReplace = displayRemarkReplace.Replace("赠品:", ""); displayRemarkReplace = displayRemarkReplace.Replace("赠品", ""); if (displayRemark.IndexOf(remarklist[i].ToString()) == -1) { displayRemark += displayRemarkReplace.ToString() + ","; } } } #endregion htmltext = htmltext.Replace("$fahuodianhua$", strtel); htmltext = htmltext.Replace("$neijian$", displayRemark); htmltext = htmltext.Replace("$shijian$", DateTime.Now.ToString("yyyy MM dd HH:mm")); htmls.Append(htmltext); div_dy.InnerHtml = htmls.ToString(); } } #endregion } }
/// <summary> /// 打印快递单 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void but_qrdy_Click(object sender, EventArgs e) { #region 加载快递单模板 string StartCode = ""; string ydgs = "EMS"; if (Rad_EMS.Checked) { ydgs = "EMS"; } else if (Rad_ZTO.Checked) { ydgs = "ZTO"; } else if (Rad_STO.Checked) { ydgs = "STO"; } Session["CompanyCode"] = ydgs; ///读取模板信息 Encoding code = Encoding.GetEncoding("gb2312"); StringBuilder divHtml = new StringBuilder(); StringBuilder htmls = new StringBuilder(); StreamReader sr = new StreamReader(new Page().Server.MapPath("/auth/" + ydgs.ToString() + ".html"), code); string line; while ((line = sr.ReadLine()) != null) { divHtml.Append(line); } sr.Close(); #endregion //string[] status = new string[3]; //status[0] = "FINISHED_L"; //status[1] = "TRADE_FINISHED"; //status[2] = "ORDERS_HAVE_AUDITED"; string status = "FINISHED_L,TRADE_FINISHED,ORDERS_HAVE_AUDITED"; if (PrintTypeId == "Delivery") { #region //打印批次 int PrintBatch = 0; //取发货单表中 打印批次倒序最后条 var xMDeliveryListByPrintBatch = base.XMDeliveryService.GetXMDeliveryList().OrderByDescending(p => p.PrintBatch).FirstOrDefault(); if (xMDeliveryListByPrintBatch != null) { if (xMDeliveryListByPrintBatch.PrintBatch != null) { PrintBatch = xMDeliveryListByPrintBatch.PrintBatch.Value; } } //发货单列表 List <HozestERP.BusinessLogic.ManageProject.XMDelivery> xMDeliveryList = new List <HozestERP.BusinessLogic.ManageProject.XMDelivery>(); if (ids != "") { int[] sts = new int[ids.Split(',').Length]; for (int i = 0; i < ids.Split(',').Length; i++) { string Id = ids.Split(',')[i]; sts[i] = Convert.ToInt32(Id); } xMDeliveryList = base.XMDeliveryService.GetXMDeliveryById(sts); } this.lblcount.Text = xMDeliveryList.Count().ToString() + "个订单"; this.lblcount.ForeColor = Color.Red; Int64 aa = 0; if (txtStartCode.Text != string.Empty && txtEndCode.Text != string.Empty) //面单号不允许为空 { if (Int64.TryParse(txtStartCode.Text, out aa) && Int64.TryParse(txtEndCode.Text, out aa)) //判断输入的面单号是否数字 { Int64 len = Int64.Parse(txtEndCode.Text) - Int64.Parse(txtStartCode.Text); if (len >= 0) { if (xMDeliveryList.Count() == len + 1) { StartCode = txtStartCode.Text; } else { this.lblMSG.Text = "面单数量和发货单数量不符,请确认!"; this.lblMSG.ForeColor = Color.Red; return; } } else { this.lblMSG.Text = "请正确输入打印的面单号码"; this.lblMSG.ForeColor = Color.Red; return; } } else { this.lblMSG.Text = "请正确输入打印的面单号码"; this.lblMSG.ForeColor = Color.Red; return; } } else { this.lblMSG.Text = "请正确输入打印的面单号码"; this.lblMSG.ForeColor = Color.Red; return; } Int64 cc = 0;//目前第几个订单 if (xMDeliveryList != null && xMDeliveryList.Count > 0) { foreach (var item in xMDeliveryList) { //根据发货单 的订单号查询订单信息 XMOrderInfo xmorderinfo = base.XMOrderInfoService.GetXMOrderByOrderCode(item.OrderCode); //根据发货单 Id 查询明细信息 List <XMDeliveryDetails> deliverDetailsList = base.XMDeliveryDetailsService.GetXMDeliveryDetailsByDeliveryId(item.Id); List <XMDeliveryDetails_Result> deliverDetailsListGroupy = deliverDetailsList.GroupBy(g => new { g.PlatformMerchantCode, g.PrdouctName, g.Specifications }). Select(group => new XMDeliveryDetails_Result() { PlatformMerchantCode = group.Key.PlatformMerchantCode, PrdouctName = group.Key.PrdouctName, Specifications = group.Key.Specifications, ProductNum = group.Sum(l => l.ProductNum) }).ToList(); //赠品信息 string displayRemark = ""; if (deliverDetailsListGroupy != null && deliverDetailsListGroupy.Count > 0) { foreach (var DetailsList in deliverDetailsListGroupy) { displayRemark += DetailsList.PrdouctName + "(" + DetailsList.Specifications + ")" + "*" + DetailsList.ProductNum + "+"; } if (!string.IsNullOrEmpty(displayRemark)) { displayRemark = displayRemark.Substring(0, displayRemark.Length - 1); } } string fapiao = ""; if (xmorderinfo.CustomerServiceRemark.IndexOf("发票") > -1) { fapiao = "发票"; } if (fapiao != "") { displayRemark = displayRemark + " " + fapiao; } StringBuilder htmltext = new StringBuilder(); htmltext.Append(divHtml); string strtel = "0574-55712472/0574-55712170"; #region 存在收货地址修改(淘宝订单原始订单收货地址) var customerInfo = HozestERPContext.Current.User.SCustomerInfo; htmltext = htmltext.Replace("$fahuoren$", xmorderinfo.NickName); htmltext = htmltext.Replace("$xingming$", xmorderinfo.FullName.ToString()); if (xmorderinfo.Mobile.ToString() != "") { htmltext = htmltext.Replace("$dianhua$", xmorderinfo.Mobile.ToString()); } else { htmltext = htmltext.Replace("$dianhua$", xmorderinfo.Tel.ToString()); } htmltext = htmltext.Replace("$danwei$", xmorderinfo.WantID.ToString() + " " + xmorderinfo.OrderCode); if (xmorderinfo.DeliveryAddressSpare == "" || xmorderinfo.DeliveryAddressSpare == "NULL" || xmorderinfo.DeliveryAddressSpare == null) { htmltext = htmltext.Replace("$dizhi$", xmorderinfo.DeliveryAddress.ToString()); } else { htmltext = htmltext.Replace("$dizhi$", xmorderinfo.DeliveryAddressSpare.ToString()); } if (Rad_EMS.Checked) { htmltext = htmltext.Replace("$youbian$", "315502"); htmltext = htmltext.Replace("$richuo$", DateTime.Now.ToString("yyyy.MM.dd.HH")); } #endregion htmltext = htmltext.Replace("$fahuodianhua$", strtel); htmltext = htmltext.Replace("$neijian$", displayRemark); htmltext = htmltext.Replace("$shijian$", DateTime.Now.ToString("yyyy MM dd HH:mm")); htmls.Append(htmltext); //var xMOrderInfo = base.XMOrderInfoService.GetXMOrderInfoByID(xmorderinfo.ID); //xMOrderInfo.IsSentGifts = true; //base.XMOrderInfoService.UpdateXMOrderInfo(xMOrderInfo); //根据Id查询发货单 var xmDelivery = base.XMDeliveryService.GetXMDeliveryById(item.Id); xmDelivery.LogisticsId = 482;//默认申通快递单号 xmDelivery.LogisticsNumber = (Int64.Parse(StartCode) + cc).ToString(); int PrintQuantity = 0; if (xmDelivery.PrintQuantity != null) { PrintQuantity = xmDelivery.PrintQuantity.Value; } xmDelivery.PrintQuantity = PrintQuantity + 1;//打印次数 if (xmDelivery.PrintBatch == 0) { xmDelivery.PrintBatch = PrintBatch + 1; //打印批次 } xmDelivery.PrintDateTime = DateTime.Now; //打印时间 xmDelivery.IsDelivery = true; base.XMDeliveryService.UpdateXMDelivery(xmDelivery); cc++; } ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "dyscript_yd", "window.print();", true); } #endregion } else if (PrintTypeId == "Empty") { #region List <XMOrderInfo> orderInfoList = new List <XMOrderInfo>(); if (ids != "") { int[] sts = new int[ids.Split(',').Length]; for (int i = 0; i < ids.Split(',').Length; i++) { string Id = ids.Split(',')[i]; sts[i] = Convert.ToInt32(Id); } orderInfoList = base.XMScalpingService.GetXMOrderinfoShudan(sts); } this.lblcount.Text = orderInfoList.Count().ToString() + "个订单"; this.lblcount.ForeColor = Color.Red; #region 相同地址订单合并 List <XMOrderInfo> temp = orderInfoList.Distinct(new Comparer()).ToList <XMOrderInfo>(); foreach (var o in temp) { foreach (var p in orderInfoList) { string xaddress = (o.DeliveryAddressSpare == null || o.DeliveryAddressSpare == string.Empty) ? o.DeliveryAddress : o.DeliveryAddressSpare; string yaddress = (p.DeliveryAddressSpare == null || p.DeliveryAddressSpare == string.Empty) ? p.DeliveryAddress : p.DeliveryAddressSpare; if (xaddress == yaddress) { //if (p.Specifications.IndexOf(o.Specifications) == -1 && p.Specifications != "")//判断是否已包含 // o.Specifications += ",|," + p.Specifications;//尺寸合并 if (p.CustomerServiceRemark.IndexOf(o.CustomerServiceRemark) == -1 && p.CustomerServiceRemark != "") //判断是否已包含 { o.CustomerServiceRemark += ",|," + p.CustomerServiceRemark; //客服备注合并 } } } } #endregion if (orderInfoList != null && orderInfoList.Count > 0) { foreach (var item in orderInfoList) { StringBuilder htmltext = new StringBuilder(); htmltext.Append(divHtml); string strtel = "0574-55712472"; #region 存在收货地址修改(淘宝订单原始订单收货地址) var customerInfo = HozestERPContext.Current.User.SCustomerInfo; htmltext = htmltext.Replace("$fahuoren$", item.NickName); htmltext = htmltext.Replace("$xingming$", item.FullName.ToString()); if (item.Mobile.ToString() != "") { htmltext = htmltext.Replace("$dianhua$", item.Mobile.ToString()); } else { htmltext = htmltext.Replace("$dianhua$", item.Tel.ToString()); } htmltext = htmltext.Replace("$danwei$", item.WantID.ToString() + " " + item.OrderCode); if (item.DeliveryAddressSpare == "" || item.DeliveryAddressSpare == null) { htmltext = htmltext.Replace("$dizhi$", item.DeliveryAddress.ToString()); } else { htmltext = htmltext.Replace("$dizhi$", item.DeliveryAddressSpare.ToString()); } if (Rad_EMS.Checked) { htmltext = htmltext.Replace("$youbian$", "315502"); htmltext = htmltext.Replace("$richuo$", DateTime.Now.ToString("yyyy.MM.dd.HH")); } #endregion htmltext = htmltext.Replace("$fahuodianhua$", strtel); #region 提取备注 string allRemark = item.CustomerServiceRemark; string[] remarklist = allRemark.Split('/'); int remarkcount = remarklist.Count(); string displayRemark = ""; for (int i = 0; i < remarklist.Count(); i++) { if (remarklist[i].IndexOf("赠品") >= 0 || remarklist[i].IndexOf("发票") >= 0) { string displayRemarkReplace = remarklist[i].Replace("赠品:", ""); displayRemarkReplace = displayRemarkReplace.Replace("赠品:", ""); displayRemarkReplace = displayRemarkReplace.Replace("赠品", ""); if (displayRemark.IndexOf(remarklist[i].ToString()) == -1) { displayRemark += displayRemarkReplace.ToString() + ","; } } } #endregion htmltext = htmltext.Replace("$neijian$", displayRemark); htmltext = htmltext.Replace("$shijian$", DateTime.Now.ToString("yyyy MM dd HH:mm")); htmls.Append(htmltext); var xMOrderInfo = base.XMOrderInfoService.GetXMOrderInfoByID(item.ID); xMOrderInfo.IsSentGifts = true; base.XMOrderInfoService.UpdateXMOrderInfo(xMOrderInfo); } ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "dyscript_yd", "window.print();", true); } #endregion } }
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; } }