using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using TradeModel; using TradeData; using System.Text; using System.Data; using System.Web.Script.Serialization; namespace TradeManageNew { /// /// TJ_CountServerNew 的摘要说明 /// [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] public class TJ_CountServerNew : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } #region 报表27 [WebMethod(EnableSession = true)] public string GetReportTable27(int PlatId, int ShopId, DateTime? SDate, DateTime? EDate, int StoreId) { var obj = new BaseService(); string CompanyId = Session["CompanyId"].ToString(); string tj = ""; if (StoreId > 0) { tj = " and b.StoreId=" + StoreId; } if (PlatId != 0) tj += " and a.PlatId =" + PlatId; if (ShopId != 0) tj += " and a.ShopId =" + ShopId; if (SDate != null) tj += " and a.OrderDate>='" + SDate.Value.ToString("yyyy-MM-dd") + "' "; if (EDate != null) tj += " and a.OrderDate<'" + EDate.Value.AddDays(1).ToString("yyyy-MM-dd") + "' "; string sql = @"select a.PlatOrderCode,a.TotalPrice,shopName=dbo.GetShopName(a.shopId),b.CountryName,SKU=dbo.getGoodsSKU(a.OrderId),a.MoneyCode,a.OrderDate,a.GoodsNum from DT_OrderInfo a inner join DT_OrderXXInfo b on a.OrderId=b.OrderId where a.State<3 " + tj; DataTable dt = obj.GetReportData(sql); return GetReport(dt, 38); } #endregion #region 报表 public string GetReport(DataTable dt, int ReportId) { PagesNew.Login(this.Session); var obj = new BaseService(); var rmd = BaseService.GetReportModel(ReportId); var rlist = obj.GetRepoartColsList(ReportId); if (rmd == null || rlist == null) return ""; StringBuilder html = new StringBuilder(); html.Append("序号"); foreach (var md in rlist) { html.Append("" + md.ColName + ""); } html.Append(""); if (dt != null) { DataRow row = null; for (int i = 0; i < dt.Rows.Count; i++) { html.Append("" + (i + 1).ToString() + ""); int rowindex = 1; foreach (var md in rlist) { if (dt.Columns.Contains(md.ColValue) == false) { html.Append(""); rowindex++; continue; } if (md.IsSum == 1 && i == 0) { if (row == null) row = dt.NewRow(); if (md.ColType == "int") { try { row[md.ColValue] = Convert.ToInt32(dt.Compute("sum(" + md.ColValue + ")", "" + md.ColValue + " is not null")); } catch { row[md.ColValue] = 0; } } else if (md.ColType == "dec") { try { row[md.ColValue] = Convert.ToDecimal(dt.Compute("sum(" + md.ColValue + ")", "" + md.ColValue + ">0")); } catch { row[md.ColValue] = 0; } } } if (dt.Rows[i][md.ColValue] != null && dt.Rows[i][md.ColValue].ToString() != "") { string csscolor = ""; if (md.ContionType == "=" && dt.Rows[i][md.ColValue].ToString() == md.SValue) { csscolor = md.ColColor; } else if (md.ContionType == ">" && Convert.ToDecimal(dt.Rows[i][md.ColValue]) > Convert.ToDecimal(md.SValue) && Convert.ToDecimal(dt.Rows[i][md.ColValue]) < Convert.ToDecimal(md.EValue)) { csscolor = md.ColColor; } else if (md.ContionType == ">=" && Convert.ToDecimal(dt.Rows[i][md.ColValue]) >= Convert.ToDecimal(md.SValue) && Convert.ToDecimal(dt.Rows[i][md.ColValue]) <= Convert.ToDecimal(md.EValue)) { csscolor = md.ColColor; } if (csscolor != "") csscolor = "style='color:" + csscolor + "'"; string datav = ""; if (md.ColType == "date1") datav = Convert.ToDateTime(dt.Rows[i][md.ColValue]).ToString("yyyy-MM-dd"); else if (md.ColType == "date2") datav = Convert.ToDateTime(dt.Rows[i][md.ColValue]).ToString("yyyy-MM-dd HH:mm"); else datav = dt.Rows[i][md.ColValue].ToString(); html.Append("" + datav + ""); } else html.Append(""); rowindex++; } html.Append(""); } int hj = 0; if (row != null) { html.Append("合计:"); foreach (var md in rlist) { if (dt.Columns.Contains(md.ColValue) == false) { html.Append(""); continue; } if (md.IsSum == 1 && row[md.ColValue] != null) { if (hj == 0) { hj = 1; html.Append("" + row[md.ColValue] + ""); } else html.Append("" + row[md.ColValue] + ""); } else html.Append(""); } html.Append(""); } } return html.ToString(); } #endregion #region 首页订单统计 [WebMethod(EnableSession = true)] public DT_OrderNum GetDefaultOrderCount1(List listshop, int Type, int Days) { PagesNew.Login(this.Session); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var obj = new DD_OrderData(); string Ids = ""; string[] categories = null; DT_OrderNum md = new DT_OrderNum(); var list = new List(); DateTime SDate = DateTime.Today.AddDays(-1 * Days); DateTime EDate = DateTime.Today; TimeSpan ts = EDate - SDate; int days = ts.Days + 1; List countlist = new List(); countlist = obj.GetDefaultCountListFromDay2(Type, Ids.Trim(','), SDate, EDate.AddDays(1), CompanyId); List countlist2 = new List(); List countlist3 = new List(); if (Type == 3) { countlist2 = obj.GetDefaultCountListFromDay2(4, Ids.Trim(','), SDate, EDate.AddDays(1), CompanyId); countlist3 = obj.GetDefaultCountListFromDay2(4, Ids.Trim(','), SDate.AddYears(-1), EDate.AddDays(1).AddYears(-1), CompanyId); } categories = new string[days]; if (days > 0) { for (int i = 0; i < days; i++) { categories[i] = (SDate.AddDays(i)).ToString("MM月dd日"); } } if (Type == 3) { var smd = new DT_OrderCountContent(); smd.Id = 0; smd.Name = "总销售额"; listshop.Insert(0, smd); var _smd = new DT_OrderCountContent(); _smd.Id = -1; _smd.Name = "去年总销售额"; listshop.Insert(0, _smd); } if (listshop != null && listshop.Count > 0) { for (int i = 0; i < listshop.Count; i++) { decimal[] data = new decimal[days]; if (days > 0) { for (int j = 0; j < days; j++) { if (listshop[i].Id == 0 && Type == 3) { if (countlist2 != null) { var countmd2 = countlist2.Find(n => n.OrderDate == SDate.AddDays(j).ToString("yyyy-MM-dd")); if (countmd2 != null) data[j] = countmd2.Price.Value; else data[j] = 0; } else data[j] = 0; } else if (listshop[i].Id == -1 && Type == 3) { if (countlist3 != null) { var countmd2 = countlist3.Find(n => n.OrderDate == SDate.AddYears(-1).AddDays(j).ToString("yyyy-MM-dd")); if (countmd2 != null) data[j] = countmd2.Price.Value; else data[j] = 0; } else data[j] = 0; } else { if (countlist != null) { var countmd = countlist.Find(n => n.PlatId == listshop[i].Id && n.OrderDate == SDate.AddDays(j).ToString("yyyy-MM-dd")); if (countmd != null && Type == 3) data[j] = countmd.Price.Value; else if (countmd != null) data[j] = countmd.Num.Value; else data[j] = 0; } else data[j] = 0; } } } var datamd = new DT_OrderCountData(); datamd.name = listshop[i].Name; datamd.data = data; list.Add(datamd); } } md.categories = categories; JavaScriptSerializer JsonConvert = new JavaScriptSerializer(); string postmessage = JsonConvert.Serialize(list); md.Data = postmessage; return md; } #endregion } }