public void slide20(ISlide slide) { // var a = from a in [email protected]() // group a by //Charts.SingleAxexchart(slide, Cache_data_cjjl.by., 2); var query = from t in [email protected]() group t by new { t1 = t.Field <string>("lpmc") } into m select new { lpmc = m.Key.t1, cjje = m.Sum(n => n.Field <long>("cjje")) }; DataTable dt = new DataTable(); dt.Columns.Add("lpmc"); dt.Columns.Add("cjje"); foreach (var item in query.OrderByDescending(m => m.cjje).Take(10).ToList()) { DataRow dr = dt.NewRow(); dr[0] = item.lpmc; dr[1] = item.cjje.je_yy(); dt.Rows.Add(dr); } Office_ChartStyle style = new Office_ChartStyle(); style.坐标方向 = Base_Config.坐标方向.纵向; style.文字位置 = Aspose.Slides.Charts.LegendDataLabelPosition.OutsideEnd; style.文字旋转方向 = TextVerticalType.Horizontal; style.是否显示文字 = true; Office_Charts.SingleAxexchart(slide, dt, 1, style); }
public void slide18(ISlide slide) { Office_ChartStyle style = new Office_ChartStyle(); style.坐标方向 = Base_Config.坐标方向.横向; style.文字位置 = Aspose.Slides.Charts.LegendDataLabelPosition.Center; style.文字旋转方向 = TextVerticalType.Vertical270; style.是否显示文字 = true; Office_Charts.SingleAxexchart(slide, Cache_Result_yb.jsjg_scjgfx, 2, style); IAutoShape itf = (IAutoShape)slide.Shapes[5]; itf.TextFrame.Paragraphs[0].Text = thread5(); itf.TextFrame.Paragraphs[1].Text = thread6(); ITextFrame tf = itf.TextFrame; foreach (var item in tf.Paragraphs) { IPortion port = item.Portions[0]; port.PortionFormat.LatinFont = new FontData("微软雅黑"); port.PortionFormat.FontBold = NullableBool.NotDefined; port.PortionFormat.FontHeight = 12; } }
public ISlideCollection _plus_jp_beimengzhidi_1(string str, int cjbh) { try { var param = Cache_param_zb._param_jp.Where(m => m.cjid == cjbh); var p = new Presentation(); var t = p.Slides; t.RemoveAt(0); foreach (var item in param) { #region 市场量价 if (item.qtcs == "市场量价") { var tp = new Presentation(str); var temp = tp.Slides; var page1 = temp[0]; #region 商品房 var jbz_cjba_spf = (from a in Cache_data_cjjl.jbz.AsEnumerable() where a["zt"].ToString() == item.ztcs[0] group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, zcmc = s.Key.zcmc, cjje = s.Sum(a => a["cjje"].longs()), jzmj = s.Sum(a => a["jzmj"].doubls()), }).OrderBy(m => m.zc).ToList(); var jbz_xzys_spf = (from a in Cache_data_xzys.jbz.AsEnumerable() where a["zt"].ToString() == item.ztcs[0] group a by new { zc = a["zc"] } into s select new { zc = s.Key.zc, xzgy = s.Sum(a => a["jzmj"].doubls()) + s.Sum(a => a["fzzmj"].doubls()), }).OrderBy(m => m.zc).ToList(); var temp_spf = (from a in jbz_cjba_spf join b in jbz_xzys_spf on a.zc equals b.zc into tempdata from tt in tempdata.DefaultIfEmpty() select new { zcmc = a.zcmc, xzgyl = tt == null ? 0 : tt.xzgy, //这里主要第二个集合有可能为空。需要判断 cjmj = a.jzmj, jmjj = a.cjje / a.jzmj }).ToList(); DataTable dt_spf = new DataTable(); dt_spf.Columns.Add("周次名称"); dt_spf.Columns.Add("供应体量(万方)"); dt_spf.Columns.Add("成交体量(万方)"); dt_spf.Columns.Add("建面均价"); foreach (var item_spf in temp_spf) { DataRow dr = dt_spf.NewRow(); dr["周次名称"] = item_spf.zcmc; dr["供应体量(万方)"] = item_spf.xzgyl.mj_wf(); dr["成交体量(万方)"] = item_spf.cjmj.mj_wf(); dr["建面均价"] = item_spf.jmjj.je_y(); dt_spf.Rows.Add(dr); } Office_Charts.Chart_gxfx(page1, dt_spf, 3); #endregion #region 商品住宅 var jbz_cjba_zz = (from a in Cache_data_cjjl.jbz.AsEnumerable() where a["zt"].ToString() == item.ztcs[0] && (a["yt"].ToString() == "别墅" || a["yt"].ToString() == "高层" || a["yt"].ToString() == "小高层" || a["yt"].ToString() == "洋房" || a["yt"].ToString() == "洋楼") group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, zcmc = s.Key.zcmc, cjje = s.Sum(a => a["cjje"].longs()), jzmj = s.Sum(a => a["jzmj"].doubls()), }).OrderBy(m => m.zc).ToList(); var jbz_xzys_zz = (from a in Cache_data_xzys.jbz.AsEnumerable() where a["zt"].ToString() == item.ztcs[0] && (a["tyyt"].ToString() == "别墅" || a["tyyt"].ToString() == "高层" || a["tyyt"].ToString() == "小高层" || a["tyyt"].ToString() == "洋房" || a["tyyt"].ToString() == "洋楼") group a by new { zc = a["zc"] } into s select new { zc = s.Key.zc, xzgy = s.Sum(a => a["jzmj"].doubls()), }).OrderBy(m => m.zc).ToList(); var temp_zz = (from a in jbz_cjba_zz join b in jbz_xzys_zz on a.zc equals b.zc into tempdata from tt in tempdata.DefaultIfEmpty() select new { zcmc = a.zcmc, xzgyl = tt == null ? 0 : tt.xzgy, //这里主要第二个集合有可能为空。需要判断 cjmj = a.jzmj, jmjj = a.cjje / a.jzmj }).ToList(); DataTable dt_zz = new DataTable(); dt_zz.Columns.Add("周次名称"); dt_zz.Columns.Add("供应体量(万方)"); dt_zz.Columns.Add("成交体量(万方)"); dt_zz.Columns.Add("建面均价"); foreach (var item_zz in temp_zz) { DataRow dr = dt_zz.NewRow(); dr["周次名称"] = item_zz.zcmc; dr["供应体量(万方)"] = item_zz.xzgyl.mj_wf(); dr["成交体量(万方)"] = item_zz.cjmj.mj_wf(); dr["建面均价"] = item_zz.jmjj.je_y(); dt_zz.Rows.Add(dr); } Office_Charts.Chart_gxfx(page1, dt_zz, 4); #endregion IAutoShape text0_1 = (IAutoShape)page1.Shapes[0]; text0_1.TextFrame.Text = string.Format(text0_1.TextFrame.Text, item.ztcs[0], temp_spf[temp_spf.Count - 1].xzgyl.mj_wf(), temp_spf[temp_spf.Count - 1].cjmj.mj_wf(), temp_spf[temp_spf.Count - 1].jmjj.je_y()); IAutoShape text0_2 = (IAutoShape)page1.Shapes[1]; text0_2.TextFrame.Text = string.Format(text0_2.TextFrame.Text, item.ztcs[0], temp_zz[temp_zz.Count - 1].xzgyl.mj_wf(), temp_zz[temp_zz.Count - 1].cjmj.mj_wf(), temp_zz[temp_zz.Count - 1].jmjj.je_y()); IAutoShape text0_3 = (IAutoShape)page1.Shapes[2]; text0_3.TextFrame.Text = string.Format(text0_3.TextFrame.Text, item.bamc); t.AddClone(page1); } #endregion else { var tp = new Presentation(str); var temp = tp.Slides; var page2 = temp[1]; IAutoShape text1_1 = (IAutoShape)page2.Shapes[0]; text1_1.TextFrame.Text = string.Format(text1_1.TextFrame.Text, item.bamc); IAutoShape text1_2 = (IAutoShape)page2.Shapes[2]; text1_2.TextFrame.Text = string.Format(text1_2.TextFrame.Text, item.bamc); #region 市场成交走势 #region 商务 if (item.ytcs[0] == "商务") { var jbz_cjba_sw = (from a in Cache_data_cjjl.jbz.AsEnumerable() where (a["yt"].ToString() == "商务" && a["xfyt"].ToString() == "商务公寓" && a["hx"].ToString() == "LOFT") group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, zcmc = s.Key.zcmc, cjje = s.Sum(a => a["cjje"].longs()), jzmj = s.Sum(a => a["jzmj"].doubls()), }).OrderBy(m => m.zc).ToList(); var jbz_xzys_sw = (from a in Cache_data_xzys.jbz.AsEnumerable() where a["wylx"].ToString() == "SOHO" || a["wylx"].ToString() == "LOFT" group a by new { zc = a["zc"] } into s select new { zc = s.Key.zc, xzgy = s.Sum(a => a["jzmj"].doubls()) + s.Sum(a => a["fzzmj"].doubls()), }).OrderBy(m => m.zc).ToList(); var temp_spf = (from a in jbz_cjba_sw join b in jbz_xzys_sw on a.zc equals b.zc into tempdata from tt in tempdata.DefaultIfEmpty() select new { zcmc = a.zcmc, xzgyl = tt == null ? 0 : tt.xzgy, //这里主要第二个集合有可能为空。需要判断 cjmj = a.jzmj, jmjj = a.cjje / a.jzmj }).ToList(); DataTable dt_spf = new DataTable(); dt_spf.Columns.Add("周次名称"); dt_spf.Columns.Add("供应体量(㎡)"); dt_spf.Columns.Add("成交体量(㎡)"); dt_spf.Columns.Add("建面均价(元/㎡)"); foreach (var item_spf in temp_spf) { DataRow dr = dt_spf.NewRow(); dr["周次名称"] = item_spf.zcmc; dr["供应体量(㎡)"] = item_spf.xzgyl.mj(); dr["成交体量(㎡)"] = item_spf.cjmj.mj(); dr["建面均价(元/㎡)"] = item_spf.jmjj.je_y(); dt_spf.Rows.Add(dr); } Office_Charts.Chart_gxfx(page2, dt_spf, 1); var bz_cjba_sw_pm = (from a in Cache_data_cjjl.jbz.AsEnumerable() where (a["yt"].ToString() == "商务" && a["xfyt"].ToString() == "商务公寓" && a["hx"].ToString() == "LOFT" && a["zc"].ints() == Base_date.bz && a["nf"].ints() == Base_date.bn) group a by new { lpmc = a["lpmc"], qy = a["qy"] } into s select new { lpmc = s.Key.lpmc, qy = s.Key.qy, cjts = s.Count(), jzmj = s.Sum(a => a["jzmj"].doubls()).mj(), cjje = s.Sum(a => a["cjje"].doubls()).je_wy(), jmjj = (s.Sum(a => a["cjje"].doubls()) / s.Sum(a => a["jzmj"].doubls())).je_y() }).OrderByDescending(m => m.cjje).Take(10).ToList(); DataTable pm_tb = new DataTable(); pm_tb.Columns.Add("排名"); pm_tb.Columns.Add("项目名称"); pm_tb.Columns.Add("区域"); pm_tb.Columns.Add("成交套数"); pm_tb.Columns.Add("成交面积"); pm_tb.Columns.Add("成交金额"); pm_tb.Columns.Add("成交建均"); for (int i = 0; i < bz_cjba_sw_pm.Count(); i++) { DataRow drss = pm_tb.NewRow(); drss["排名"] = i + 1; drss["项目名称"] = bz_cjba_sw_pm[i].lpmc; drss["区域"] = bz_cjba_sw_pm[i].qy; drss["成交套数"] = bz_cjba_sw_pm[i].cjts; drss["成交面积"] = bz_cjba_sw_pm[i].jzmj; drss["成交金额"] = bz_cjba_sw_pm[i].cjje; drss["成交建均"] = bz_cjba_sw_pm[i].jmjj; pm_tb.Rows.Add(drss); } Office_Tables.SetTable(page2, pm_tb, 3, null, null); t.AddClone(page2); } #endregion #region 商铺 else if (item.ytcs[0] == "商铺") { var jbz_cjba_spf = (from a in Cache_data_cjjl.jbz.AsEnumerable() where a["yt"].ToString() == item.ytcs[0] group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, zcmc = s.Key.zcmc, cjje = s.Sum(a => a["cjje"].longs()), jzmj = s.Sum(a => a["jzmj"].doubls()), }).OrderBy(m => m.zc).ToList(); var jbz_xzys_spf = (from a in Cache_data_xzys.jbz.AsEnumerable() where a["tyyt"].ToString() == item.ytcs[0] group a by new { zc = a["zc"] } into s select new { zc = s.Key.zc, xzgy = s.Sum(a => a["jzmj"].doubls()) + s.Sum(a => a["fzzmj"].doubls()), }).OrderBy(m => m.zc).ToList(); var temp_spf = (from a in jbz_cjba_spf join b in jbz_xzys_spf on a.zc equals b.zc into tempdata from tt in tempdata.DefaultIfEmpty() select new { zcmc = a.zcmc, xzgyl = tt == null ? 0 : tt.xzgy, //这里主要第二个集合有可能为空。需要判断 cjmj = a.jzmj, jmjj = a.cjje / a.jzmj }).ToList(); DataTable dt_spf = new DataTable(); dt_spf.Columns.Add("周次名称"); dt_spf.Columns.Add("供应体量(万方)"); dt_spf.Columns.Add("成交体量(万方)"); dt_spf.Columns.Add("建面均价"); foreach (var item_spf in temp_spf) { DataRow dr = dt_spf.NewRow(); dr["周次名称"] = item_spf.zcmc; dr["供应体量(万方)"] = item_spf.xzgyl.mj_wf(); dr["成交体量(万方)"] = item_spf.cjmj.mj_wf(); dr["建面均价"] = item_spf.jmjj.je_y(); dt_spf.Rows.Add(dr); } Office_Charts.Chart_gxfx(page2, dt_spf, 1); var bz_cjba_sw_pm = (from a in Cache_data_cjjl.jbz.AsEnumerable() where a["yt"].ToString() == item.ytcs[0] && a["zc"].ints() == Base_date.bz && a["nf"].ints() == Base_date.bn group a by new { lpmc = a["lpmc"], zt = a["zt"] } into s select new { lpmc = s.Key.lpmc, zt = s.Key.zt, cjts = s.Count(), jzmj = s.Sum(a => a["jzmj"].doubls()).mj(), cjje = s.Sum(a => a["cjje"].doubls()).je_wy(), jmjj = (s.Sum(a => a["cjje"].doubls()) / s.Sum(a => a["jzmj"].doubls())).je_y() }).OrderByDescending(m => m.cjje).Take(10).ToList(); DataTable pm_tb = new DataTable(); pm_tb.Columns.Add("排名"); pm_tb.Columns.Add("项目名称"); pm_tb.Columns.Add("区域"); pm_tb.Columns.Add("成交套数"); pm_tb.Columns.Add("成交面积"); pm_tb.Columns.Add("成交金额"); pm_tb.Columns.Add("成交建均"); for (int i = 0; i < bz_cjba_sw_pm.Count(); i++) { DataRow drss = pm_tb.NewRow(); drss["排名"] = i + 1; drss["项目名称"] = bz_cjba_sw_pm[i].lpmc; drss["区域"] = bz_cjba_sw_pm[i].zt; drss["成交套数"] = bz_cjba_sw_pm[i].cjts; drss["成交面积"] = bz_cjba_sw_pm[i].jzmj; drss["成交金额"] = bz_cjba_sw_pm[i].cjje; drss["成交建均"] = bz_cjba_sw_pm[i].jmjj; pm_tb.Rows.Add(drss); } Office_Tables.SetTable(page2, pm_tb, 3, null, null); t.AddClone(page2); } #endregion #endregion #region 典型竞争项目 var page3 = temp[2]; DataTable dt_jzxm = new DataTable(); dt_jzxm.Columns.Add(Base_Config_Jzgj.项目名称); dt_jzxm.Columns.Add(Base_Config_Jzgj.业态); dt_jzxm.Columns.Add(Base_Config_Jzgj.竞争格局_主力面积区间); dt_jzxm.Columns.Add(Base_Config_Cjba.本周_备案套数); dt_jzxm.Columns.Add(Base_Config_Cjba.本周_建面均价); dt_jzxm.Columns.Add(Base_Config_Cjba.本周_套均总价); dt_jzxm.Columns.Add("产品、配置及营销"); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { IAutoShape text2 = (IAutoShape)page3.Shapes[0]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc); dt_jzxm = GET_JPXM_BX(dt_jzxm, item.jpxmlb); Office_Tables.SetJP_BEIMENGZHIDI_JINGZHENGXIANGMU_Table(page3, dt_jzxm, 1, null, null); t.AddClone(page3); } #endregion } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection jbzzs(string str) { var p = new Presentation(); var t = p.Slides; t.RemoveAt(0); var tp = new Presentation(str); var temp = tp.Slides; string[] zt = { "蔡家", "礼嘉", "悦来", "中央公园" }; #region P1 var page1 = temp[0]; var dt1_1 = from a in Cache_data_xzys.jbz.AsEnumerable() where zt.Contains(a["zt"]) && a["tyyt"].ToString() == "高层" group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, xzgyl = s.Sum(m => m["jzmj"].doubls()) }; var dt1_2 = from a in Cache_data_cjjl.jbz.AsEnumerable() where zt.Contains(a["zt"]) && a["yt"].ToString() == "高层" group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, cjje = s.Sum(m => m["cjje"].longs()), jzmj = s.Sum(m => m["jzmj"].doubls()) }; DataTable dt1 = new DataTable(); dt1.Columns.Add("周次"); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 7), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 6), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 5), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 4), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 3), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 2), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 1), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz), typeof(double)); DataRow dr1 = dt1.NewRow(); DataRow dr2 = dt1.NewRow(); DataRow dr3 = dt1.NewRow(); dr1[0] = "供应体量"; dr2[0] = "成交体量"; dr3[0] = "建面均价"; for (int i = 0; i < 8; i++) { var xzys = dt1_1.FirstOrDefault(m => m.zc.ints() == (Base_date.bz - (7 - i))); var cjba = dt1_2.FirstOrDefault(m => m.zc.ints() == (Base_date.bz - (7 - i))); dr1[i + 1] = (xzys != null) ? xzys.xzgyl.mj_wf() : 0; dr2[i + 1] = cjba != null?cjba.jzmj.mj_wf() : 0; dr3[i + 1] = cjba != null ? (cjba.cjje / cjba.jzmj).je_y() : 0; if (i == 7) { IAutoShape text1 = (IAutoShape)page1.Shapes[2]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, (xzys != null) ? xzys.xzgyl.mj_wf():0, cjba != null ? cjba.jzmj.mj_wf() : 0, cjba != null ? (cjba.cjje / cjba.jzmj).je_y() : 0); } } dt1.Rows.Add(dr1); dt1.Rows.Add(dr2); dt1.Rows.Add(dr3); Office_Charts.Chart_jp_langshi_chart1(page1, dt1, 4); t.AddClone(page1); #endregion #region P2 var page2 = temp[1]; var dt2_1 = from a in Cache_data_xzys.jbz.AsEnumerable() where zt.Contains(a["zt"]) && a["tyyt"].ToString() == "洋房" group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, xzgyl = s.Sum(m => m["jzmj"].doubls()) }; var dt2_2 = from a in Cache_data_cjjl.jbz.AsEnumerable() where zt.Contains(a["zt"]) && a["yt"].ToString() == "洋房" group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, cjje = s.Sum(m => m["cjje"].longs()), jzmj = s.Sum(m => m["jzmj"].doubls()) }; DataTable dt2 = new DataTable(); dt2.Columns.Add("周次"); dt2.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 7), typeof(double)); dt2.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 6), typeof(double)); dt2.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 5), typeof(double)); dt2.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 4), typeof(double)); dt2.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 3), typeof(double)); dt2.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 2), typeof(double)); dt2.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 1), typeof(double)); dt2.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz), typeof(double)); DataRow dr2_1 = dt2.NewRow(); DataRow dr2_2 = dt2.NewRow(); DataRow dr2_3 = dt2.NewRow(); dr2_1[0] = "供应体量"; dr2_2[0] = "成交体量"; dr2_3[0] = "建面均价"; for (int i = 0; i < 8; i++) { var xzys = dt2_1.FirstOrDefault(m => m.zc.ints() == (Base_date.bz - (7 - i))); var cjba = dt2_2.FirstOrDefault(m => m.zc.ints() == (Base_date.bz - (7 - i))); dr2_1[i + 1] = (xzys != null) ? xzys.xzgyl.mj_wf() : 0; dr2_2[i + 1] = cjba != null?cjba.jzmj.mj_wf() : 0; dr2_3[i + 1] = cjba != null ? (cjba.cjje / cjba.jzmj).je_y() : 0; if (i == 7) { IAutoShape text1 = (IAutoShape)page2.Shapes[2]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, (xzys != null) ? xzys.xzgyl.mj_wf() : 0, cjba != null ? cjba.jzmj.mj_wf() : 0, cjba != null ? (cjba.cjje / cjba.jzmj).je_y() : 0); } } dt2.Rows.Add(dr2_1); dt2.Rows.Add(dr2_2); dt2.Rows.Add(dr2_3); Office_Charts.Chart_jp_langshi_chart1(page2, dt2, 4); t.AddClone(page2); #endregion #region P3 var page3 = temp[2]; var dt3_1 = from a in Cache_data_xzys.jbz.AsEnumerable() where zt.Contains(a["zt"]) && a["tyyt"].ToString() == "别墅" group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, xzgyl = s.Sum(m => m["jzmj"].doubls()) }; var dt3_2 = from a in Cache_data_cjjl.jbz.AsEnumerable() where zt.Contains(a["zt"]) && a["yt"].ToString() == "别墅" group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, cjje = s.Sum(m => m["cjje"].longs()), jzmj = s.Sum(m => m["jzmj"].doubls()) }; DataTable dt3 = new DataTable(); dt3.Columns.Add("周次"); dt3.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 7), typeof(double)); dt3.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 6), typeof(double)); dt3.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 5), typeof(double)); dt3.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 4), typeof(double)); dt3.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 3), typeof(double)); dt3.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 2), typeof(double)); dt3.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 1), typeof(double)); dt3.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz), typeof(double)); DataRow dr3_1 = dt3.NewRow(); DataRow dr3_2 = dt3.NewRow(); DataRow dr3_3 = dt3.NewRow(); dr3_1[0] = "供应体量"; dr3_2[0] = "成交体量"; dr3_3[0] = "建面均价"; for (int i = 0; i < 8; i++) { var xzys = dt3_1.FirstOrDefault(m => m.zc.ints() == (Base_date.bz - (7 - i))); var cjba = dt3_2.FirstOrDefault(m => m.zc.ints() == (Base_date.bz - (7 - i))); dr3_1[i + 1] = xzys != null?xzys.xzgyl.mj_wf() : 0; dr3_2[i + 1] = cjba != null?cjba.jzmj.mj_wf() : 0; dr3_3[i + 1] = cjba != null ? (cjba.cjje / cjba.jzmj).je_y() : 0; if (i == 7) { IAutoShape text1 = (IAutoShape)page3.Shapes[2]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, (xzys != null) ? xzys.xzgyl.mj_wf() : 0, cjba != null ? cjba.jzmj.mj_wf() : 0, cjba != null ? (cjba.cjje / cjba.jzmj).je_y() : 0); } } dt3.Rows.Add(dr3_1); dt3.Rows.Add(dr3_2); dt3.Rows.Add(dr3_3); Office_Charts.Chart_jp_langshi_chart1(page3, dt3, 4); t.AddClone(page3); #endregion #region P4 var page4 = temp[3]; var dt4_1 = from a in Cache_data_cjjl.bz.AsEnumerable() where zt.Contains(a["zt"]) && (a["yt"].ToString() == "别墅" || a["yt"].ToString() == "高层" || a["yt"].ToString() == "小高层" || a["yt"].ToString() == "洋房" || a["yt"].ToString() == "洋楼") group a by new { lpmc = a["lpmc"], zt = a["zt"] } into s select new { lpmc = s.Key.lpmc, zt = s.Key.zt, ts = s.Sum(m => m["ts"].ints()), cjje = s.Sum(m => m["cjje"].longs()), jzmj = s.Sum(m => m["jzmj"].doubls()), tnmj = s.Sum(m => m["tnmj"].doubls()) }; DataTable dt4 = new DataTable(); dt4.Columns.Add("pm"); dt4.Columns.Add("lpmc1"); dt4.Columns.Add("zt1"); dt4.Columns.Add("ts"); dt4.Columns.Add("lpmc2"); dt4.Columns.Add("zt2"); dt4.Columns.Add("jzmj"); dt4.Columns.Add("lpmc3"); dt4.Columns.Add("zt3"); dt4.Columns.Add("cjje"); var ts = dt4_1.OrderByDescending(m => m.ts).Take(5).ToList(); var cjmj = dt4_1.OrderByDescending(m => m.jzmj).Take(5).ToList(); var cjje = dt4_1.OrderByDescending(m => m.cjje).Take(5).ToList(); for (int i = 0; i < 5; i++) { DataRow dr = dt4.NewRow(); dr["pm"] = i + 1; if (ts != null && ts.Count > i) { dr["lpmc1"] = ts[i].lpmc; dr["zt1"] = ts[i].zt; dr["ts"] = ts[i].ts; } if (cjmj != null && cjmj.Count > i) { dr["lpmc2"] = cjmj[i].lpmc; dr["zt2"] = cjmj[i].zt; dr["jzmj"] = cjmj[i].jzmj.mj(); } if (cjje != null && cjje.Count > i) { dr["lpmc3"] = cjje[i].lpmc; dr["zt3"] = cjje[i].zt; dr["cjje"] = cjje[i].cjje.je_wy(); } dt4.Rows.Add(dr); if (i == 0) { IAutoShape text4 = (IAutoShape)page4.Shapes[2]; text4.TextFrame.Text = string.Format(text4.TextFrame.Text, ts[i].lpmc, cjmj[i].lpmc, cjje[i].lpmc); } } Office_Tables.SetChart(page4, dt4, 5, null, null); t.AddClone(page4); #endregion #region P5 var page5 = temp[4]; var dt5_1 = from a in Cache_data_cjjl.bz.AsEnumerable() where zt.Contains(a["zt"]) && (a["yt"].ToString() == "高层" || a["yt"].ToString() == "小高层") group a by new { lpmc = a["lpmc"], zt = a["zt"] } into s select new { lpmc = s.Key.lpmc, zt = s.Key.zt, ts = s.Sum(m => m["ts"].ints()), cjje = s.Sum(m => m["cjje"].longs()), jzmj = s.Sum(m => m["jzmj"].doubls()), tnmj = s.Sum(m => m["tnmj"].doubls()) }; DataTable dt5 = new DataTable(); dt5.Columns.Add("pm"); dt5.Columns.Add("lpmc"); dt5.Columns.Add("zt"); dt5.Columns.Add("ts"); dt5.Columns.Add("jzmj"); dt5.Columns.Add("cjje"); dt5.Columns.Add("jmjj"); dt5.Columns.Add("tnjj"); var dt5_1_1 = dt5_1.OrderByDescending(m => m.ts).Take(5).ToList(); for (int i = 0; i < 5; i++) { if (dt5_1_1 != null && dt5_1_1.Count > i) { DataRow dr = dt5.NewRow(); dr["pm"] = i + 1; dr["lpmc"] = dt5_1_1[i].lpmc; dr["zt"] = dt5_1_1[i].zt; dr["ts"] = dt5_1_1[i].ts; dr["jzmj"] = dt5_1_1[i].jzmj.mj(); dr["cjje"] = dt5_1_1[i].cjje.je_wy(); dr["jmjj"] = dt5_1_1[i].jzmj != 0 ? (dt5_1_1[i].cjje / dt5_1_1[i].jzmj).je_y() : 0; dr["tnjj"] = dt5_1_1[i].tnmj != 0 ? (dt5_1_1[i].cjje / dt5_1_1[i].tnmj).je_y() : 0; dt5.Rows.Add(dr); if (i == 0) { IAutoShape text5 = (IAutoShape)page5.Shapes[2]; text5.TextFrame.Text = string.Format(text5.TextFrame.Text, dt5_1_1[i].lpmc); } } else { break; } } Office_Tables.SetChart(page5, dt5, 5, null, null); t.AddClone(page5); #endregion #region P6 var page6 = temp[5]; var dt6_1 = from a in Cache_data_cjjl.bz.AsEnumerable() where zt.Contains(a["zt"]) && (a["yt"].ToString() == "洋房" || a["yt"].ToString() == "洋楼") group a by new { lpmc = a["lpmc"], zt = a["zt"] } into s select new { lpmc = s.Key.lpmc, zt = s.Key.zt, ts = s.Sum(m => m["ts"].ints()), cjje = s.Sum(m => m["cjje"].longs()), jzmj = s.Sum(m => m["jzmj"].doubls()), tnmj = s.Sum(m => m["tnmj"].doubls()) }; DataTable dt6 = new DataTable(); dt6.Columns.Add("pm"); dt6.Columns.Add("lpmc"); dt6.Columns.Add("zt"); dt6.Columns.Add("ts"); dt6.Columns.Add("jzmj"); dt6.Columns.Add("cjje"); dt6.Columns.Add("jmjj"); dt6.Columns.Add("tnjj"); var dt6_1_1 = dt6_1.OrderByDescending(m => m.ts).Take(5).ToList(); for (int i = 0; i < 5; i++) { if (dt6_1_1 != null && dt6_1_1.Count > i) { DataRow dr = dt6.NewRow(); dr["pm"] = i + 1; dr["lpmc"] = dt6_1_1[i].lpmc; dr["zt"] = dt6_1_1[i].zt; dr["ts"] = dt6_1_1[i].ts; dr["jzmj"] = dt6_1_1[i].jzmj.mj(); dr["cjje"] = dt6_1_1[i].cjje.je_wy(); dr["jmjj"] = dt6_1_1[i].jzmj != 0 ? (dt6_1_1[i].cjje / dt6_1_1[i].jzmj).je_y() : 0; dr["tnjj"] = dt6_1_1[i].tnmj != 0 ? (dt6_1_1[i].cjje / dt6_1_1[i].tnmj).je_y() : 0; dt6.Rows.Add(dr); if (i == 0) { IAutoShape text6 = (IAutoShape)page6.Shapes[5]; text6.TextFrame.Text = string.Format(text6.TextFrame.Text, dt6_1_1[i].lpmc); } } else { break; } } Office_Tables.SetChart(page6, dt6, 4, null, null); t.AddClone(page6); #endregion #region P7 var page7 = temp[6]; var dt7_1 = from a in Cache_data_cjjl.bz.AsEnumerable() where zt.Contains(a["zt"]) && (a["xfyt"].ToString() == "叠加别墅") group a by new { lpmc = a["lpmc"], zt = a["zt"] } into s select new { lpmc = s.Key.lpmc, zt = s.Key.zt, ts = s.Sum(m => m["ts"].ints()), cjje = s.Sum(m => m["cjje"].longs()), jzmj = s.Sum(m => m["jzmj"].doubls()), tnmj = s.Sum(m => m["tnmj"].doubls()) }; DataTable dt7 = new DataTable(); dt7.Columns.Add("pm"); dt7.Columns.Add("lpmc"); dt7.Columns.Add("zt"); dt7.Columns.Add("ts"); dt7.Columns.Add("jzmj"); dt7.Columns.Add("cjje"); dt7.Columns.Add("tjzj"); dt7.Columns.Add("jmjj"); dt7.Columns.Add("tnjj"); var dt7_1_1 = dt7_1.OrderByDescending(m => m.ts).Take(5).ToList(); for (int i = 0; i < 5; i++) { if (dt7_1_1 != null && dt7_1_1.Count > i) { DataRow dr = dt7.NewRow(); dr["pm"] = i + 1; dr["lpmc"] = dt7_1_1[i].lpmc; dr["zt"] = dt7_1_1[i].zt; dr["ts"] = dt7_1_1[i].ts; dr["jzmj"] = dt7_1_1[i].jzmj.mj(); dr["cjje"] = dt7_1_1[i].cjje.je_wy(); dr["tjzj"] = (dt7_1_1[i].cjje / dt7_1_1[i].ts).je_wy(); dr["jmjj"] = dt7_1_1[i].jzmj != 0 ? (dt7_1_1[i].cjje / dt7_1_1[i].jzmj).je_y() : 0; dr["tnjj"] = dt7_1_1[i].tnmj != 0 ? (dt7_1_1[i].cjje / dt7_1_1[i].tnmj).je_y() : 0; dt7.Rows.Add(dr); if (i == 0) { IAutoShape text7 = (IAutoShape)page7.Shapes[5]; text7.TextFrame.Text = string.Format(text7.TextFrame.Text, dt7_1_1[i].lpmc); } } else { break; } } Office_Tables.SetChart(page7, dt7, 4, null, null); t.AddClone(page7); #endregion #region P8 var page8 = temp[7]; var dt8_1 = from a in Cache_data_cjjl.bz.AsEnumerable() where zt.Contains(a["zt"]) && (a["xfyt"].ToString() == "联排别墅") group a by new { lpmc = a["lpmc"], zt = a["zt"] } into s select new { lpmc = s.Key.lpmc, zt = s.Key.zt, ts = s.Sum(m => m["ts"].ints()), cjje = s.Sum(m => m["cjje"].longs()), jzmj = s.Sum(m => m["jzmj"].doubls()), tnmj = s.Sum(m => m["tnmj"].doubls()) }; DataTable dt8 = new DataTable(); dt8.Columns.Add("pm"); dt8.Columns.Add("lpmc"); dt8.Columns.Add("zt"); dt8.Columns.Add("ts"); dt8.Columns.Add("jzmj"); dt8.Columns.Add("cjje"); dt8.Columns.Add("tjzj"); dt8.Columns.Add("jmjj"); dt8.Columns.Add("tnjj"); var dt8_1_1 = dt8_1.OrderByDescending(m => m.ts).Take(5).ToList(); for (int i = 0; i < 5; i++) { if (dt8_1_1 != null && dt8_1_1.Count > i) { DataRow dr = dt8.NewRow(); dr["pm"] = i + 1; dr["lpmc"] = dt8_1_1[i].lpmc; dr["zt"] = dt8_1_1[i].zt; dr["ts"] = dt8_1_1[i].ts; dr["jzmj"] = dt8_1_1[i].jzmj.mj(); dr["cjje"] = dt8_1_1[i].cjje.je_wy(); dr["tjzj"] = (dt8_1_1[i].cjje / dt8_1_1[i].ts).je_wy(); dr["jmjj"] = dt8_1_1[i].jzmj != 0 ? (dt8_1_1[i].cjje / dt8_1_1[i].jzmj).je_y() : 0; dr["tnjj"] = dt8_1_1[i].tnmj != 0 ? (dt8_1_1[i].cjje / dt8_1_1[i].tnmj).je_y() : 0; dt8.Rows.Add(dr); if (i == 0) { IAutoShape text8 = (IAutoShape)page8.Shapes[5]; text8.TextFrame.Text = string.Format(text8.TextFrame.Text, dt8_1_1[i].lpmc); } } else { break; } } Office_Tables.SetChart(page8, dt8, 4, null, null); t.AddClone(page8); #endregion #region P9 var page9 = temp[8]; var dt9_1_1 = from a in Cache_data_xzys.bz.AsEnumerable() where a["zt"].ToString() == "蔡家" && (a["tyyt"].ToString() == "高层" || a["tyyt"].ToString() == "洋房") group a by new { yt = a["tyyt"] } into s select new { yt = s.Key.yt, jzmj = s.Sum(m => m["jzmj"].doubls()) }; var dt9_1_2 = from a in Cache_data_xzys.bz.AsEnumerable() where a["zt"].ToString() == "蔡家" && (a["wylx"].ToString() == "联排别墅" || a["wylx"].ToString() == "叠加别墅") group a by new { yt = a["wylx"] } into s select new { yt = s.Key.yt, jzmj = s.Sum(m => m["jzmj"].doubls()) }; var dt9_2_1 = from a in Cache_data_cjjl.bz.AsEnumerable() where a["zt"].ToString() == "蔡家" && (a["yt"].ToString() == "高层" || a["yt"].ToString() == "小高层" || a["yt"].ToString() == "洋房" || a["yt"].ToString() == "洋楼") group a by new { yt = a["yt"] } into s select new { yt = s.Key.yt, ts = s.Sum(m => m["ts"].ints()), cjje = s.Sum(m => m["cjje"].longs()), jzmj = s.Sum(m => m["jzmj"].doubls()), tnmj = s.Sum(m => m["tnmj"].doubls()) }; var dt9_2_2 = from a in Cache_data_cjjl.bz.AsEnumerable() where a["zt"].ToString() == "蔡家" && (a["xfyt"].ToString() == "联排别墅" || a["xfyt"].ToString() == "叠加别墅") group a by new { yt = a["xfyt"] } into s select new { yt = s.Key.yt, ts = s.Sum(m => m["ts"].ints()), cjje = s.Sum(m => m["cjje"].longs()), jzmj = s.Sum(m => m["jzmj"].doubls()), tnmj = s.Sum(m => m["tnmj"].doubls()) }; var dt9_3_1 = from a in Cache_data_cjjl.sz.AsEnumerable() where a["zt"].ToString() == "蔡家" && (a["yt"].ToString() == "高层" || a["yt"].ToString() == "小高层" || a["yt"].ToString() == "洋房" || a["yt"].ToString() == "洋楼") group a by new { yt = a["yt"] } into s select new { yt = s.Key.yt, ts = s.Sum(m => m["ts"].ints()), cjje = s.Sum(m => m["cjje"].longs()), jzmj = s.Sum(m => m["jzmj"].doubls()), tnmj = s.Sum(m => m["tnmj"].doubls()) }; var dt9_3_2 = from a in Cache_data_cjjl.sz.AsEnumerable() where a["zt"].ToString() == "蔡家" && (a["xfyt"].ToString() == "联排别墅" || a["xfyt"].ToString() == "叠加别墅") group a by new { yt = a["xfyt"] } into s select new { yt = s.Key.yt, ts = s.Sum(m => m["ts"].ints()), cjje = s.Sum(m => m["cjje"].longs()), jzmj = s.Sum(m => m["jzmj"].doubls()), tnmj = s.Sum(m => m["tnmj"].doubls()) }; DataTable dt9 = new DataTable(); dt9.Columns.Add("yt"); dt9.Columns.Add("bzgyl"); dt9.Columns.Add("bzqhl"); dt9.Columns.Add("jmjj"); dt9.Columns.Add("hbjgzf"); DataRow dr9_1 = dt9.NewRow(); var gc_1 = dt9_1_1.FirstOrDefault(m => m.yt.ToString() == "高层"); var gc_2 = dt9_2_1.FirstOrDefault(m => m.yt.ToString() == "高层"); var gc_3 = dt9_3_1.FirstOrDefault(m => m.yt.ToString() == "高层"); dr9_1["yt"] = "高层"; dr9_1["bzgyl"] = gc_1 != null?gc_1.jzmj.mj_wf() : 0; dr9_1["bzqhl"] = gc_2 != null?gc_2.jzmj.mj_wf() : 0; dr9_1["jmjj"] = gc_2 != null ? (gc_2.cjje / gc_2.jzmj).je_y() : 0; dr9_1["hbjgzf"] = (gc_2 != null && gc_3 != null) ? ((gc_2.cjje / gc_2.jzmj - gc_3.cjje / gc_3.jzmj) / (gc_3.cjje / gc_3.jzmj)).ss_bfb() : ""; dt9.Rows.Add(dr9_1); DataRow dr9_2 = dt9.NewRow(); var yf_1 = dt9_1_1.FirstOrDefault(m => m.yt.ToString() == "洋房"); var yf_2 = dt9_2_1.FirstOrDefault(m => m.yt.ToString() == "洋房"); var yf_3 = dt9_3_1.FirstOrDefault(m => m.yt.ToString() == "洋房"); dr9_2["yt"] = "洋房"; dr9_2["bzgyl"] = yf_1 != null?yf_1.jzmj.mj_wf() : 0; dr9_2["bzqhl"] = yf_2 != null?yf_2.jzmj.mj_wf() : 0; dr9_2["jmjj"] = yf_2 != null ? (yf_2.cjje / yf_2.jzmj).je_y() : 0; dr9_2["hbjgzf"] = (yf_2 != null && yf_3 != null)?((yf_2.cjje / yf_2.jzmj - yf_3.cjje / yf_3.jzmj) / (yf_3.cjje / yf_3.jzmj)).ss_bfb():""; dt9.Rows.Add(dr9_2); DataRow dr9_3 = dt9.NewRow(); var lpbs_1 = dt9_1_2.FirstOrDefault(m => m.yt.ToString() == "联排别墅"); var lpbs_2 = dt9_2_2.FirstOrDefault(m => m.yt.ToString() == "联排别墅"); var lpbs_3 = dt9_3_2.FirstOrDefault(m => m.yt.ToString() == "联排别墅"); dr9_3["yt"] = "联排别墅"; dr9_3["bzgyl"] = lpbs_1 != null?lpbs_1.jzmj.mj_wf() : 0; dr9_3["bzqhl"] = lpbs_2 != null?lpbs_2.jzmj.mj_wf() : 0; dr9_3["jmjj"] = lpbs_2 != null ? (lpbs_2.cjje / lpbs_2.tnmj).je_y() : 0; dr9_3["hbjgzf"] = (lpbs_2 != null && lpbs_3 != null) ? ((lpbs_2.cjje / lpbs_2.tnmj - lpbs_3.cjje / lpbs_3.tnmj) / (lpbs_3.cjje / lpbs_3.tnmj)).ss_bfb() : ""; dt9.Rows.Add(dr9_3); DataRow dr9_4 = dt9.NewRow(); var djbs_1 = dt9_1_2.FirstOrDefault(m => m.yt.ToString() == "叠加别墅"); var djbs_2 = dt9_2_2.FirstOrDefault(m => m.yt.ToString() == "叠加别墅"); var djbs_3 = dt9_3_2.FirstOrDefault(m => m.yt.ToString() == "叠加别墅"); dr9_4["yt"] = "叠加别墅"; dr9_4["bzgyl"] = djbs_1 != null?djbs_1.jzmj.mj_wf() : 0; dr9_4["bzqhl"] = djbs_2 != null?djbs_2.jzmj.mj_wf() : 0; dr9_4["jmjj"] = djbs_2 != null ? (djbs_2.cjje / djbs_2.tnmj).je_y() : 0; dr9_4["hbjgzf"] = (djbs_2 != null && djbs_3 != null) ? ((djbs_2.cjje / djbs_2.tnmj - djbs_3.cjje / djbs_3.tnmj) / (djbs_3.cjje / djbs_3.tnmj)).ss_bfb() : ""; dt9.Rows.Add(dr9_4); DataRow dr9_5 = dt9.NewRow(); string[] yt = { "洋房", "洋楼", "高层", "小高层", "别墅" }; var hj_1 = Cache_data_xzys.bz.AsEnumerable().Where(m => yt.Contains(m["tyyt"]) && m["zt"].ToString() == "蔡家"); var hj_2 = Cache_data_cjjl.bz.AsEnumerable().Where(m => yt.Contains(m["yt"]) && m["zt"].ToString() == "蔡家"); var hj_3 = Cache_data_cjjl.sz.AsEnumerable().Where(m => yt.Contains(m["yt"]) && m["zt"].ToString() == "蔡家"); dr9_5["yt"] = "合计"; dr9_5["bzgyl"] = hj_1 != null?hj_1.Sum(m => m["jzmj"].doubls()).mj_wf() : 0; dr9_5["bzqhl"] = hj_2 != null?hj_2.Sum(m => m["jzmj"].doubls()).mj_wf() : 0; dr9_5["jmjj"] = hj_2 != null ? (hj_2.Sum(m => m["cjje"].doubls()) / hj_2.Sum(m => m["jzmj"].doubls())).je_y() : 0; dr9_5["hbjgzf"] = (hj_2 != null && hj_3 != null) ? ((hj_2.Sum(m => m["cjje"].doubls()) / hj_2.Sum(m => m["jzmj"].doubls()) - hj_3.Sum(m => m["cjje"].doubls()) / hj_3.Sum(m => m["jzmj"].doubls())) / (hj_3.Sum(m => m["cjje"].doubls()) / hj_3.Sum(m => m["jzmj"].doubls()))).ss_bfb() : ""; dt9.Rows.Add(dr9_5); Office_Tables.SetChart(page9, dt9, 5, null, null); t.AddClone(page9); #endregion return(t); }
public ISlideCollection jbzzs(string str) { var p = new Presentation(); var t = p.Slides; t.RemoveAt(0); var tp = new Presentation(str); var temp = tp.Slides; string[] zt = { "蔡家" }; #region P1 var page1 = temp[0]; IAutoShape text2 = (IAutoShape)page1.Shapes[0]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, string.Join("、", zt)); IAutoShape text3 = (IAutoShape)page1.Shapes[0]; text3.TextFrame.Text = string.Format(text3.TextFrame.Text, string.Join("、", zt)); var dt1_1 = from a in Cache_data_xzys.jbz.AsEnumerable() where zt.Contains(a["zt"]) group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, xzgyl = s.Sum(m => m["jzmj"].doubls()) + s.Sum(m => m["fzzmj"].doubls()) }; var dt1_2 = from a in Cache_data_cjjl.jbz.AsEnumerable() where zt.Contains(a["zt"]) group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, cjje = s.Sum(m => m["cjje"].longs()), jzmj = s.Sum(m => m["jzmj"].doubls()) }; DataTable dt1 = new DataTable(); dt1.Columns.Add("周次"); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 7), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 6), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 5), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 4), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 3), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 2), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz - 1), typeof(double)); dt1.Columns.Add(Base_date.GET_ZCMC(Base_date.bn, Base_date.bz), typeof(double)); DataRow dr1 = dt1.NewRow(); DataRow dr2 = dt1.NewRow(); DataRow dr3 = dt1.NewRow(); dr1[0] = "供应体量"; dr2[0] = "成交体量"; dr3[0] = "建面均价"; for (int i = 0; i < 8; i++) { var xzys = dt1_1.FirstOrDefault(m => m.zc.ints() == (Base_date.bz - (7 - i))); var cjba = dt1_2.FirstOrDefault(m => m.zc.ints() == (Base_date.bz - (7 - i))); dr1[i + 1] = (xzys != null) ? xzys.xzgyl.mj_wf() : 0; dr2[i + 1] = cjba != null?cjba.jzmj.mj_wf() : 0; dr3[i + 1] = cjba != null ? (cjba.cjje / cjba.jzmj).je_y() : 0; if (i == 7) { IAutoShape text1 = (IAutoShape)page1.Shapes[2]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, (xzys != null) ? xzys.xzgyl.mj_wf() : 0, cjba != null ? cjba.jzmj.mj_wf() : 0, cjba != null ? (cjba.cjje / cjba.jzmj).je_y() : 0); } } dt1.Rows.Add(dr1); dt1.Rows.Add(dr2); dt1.Rows.Add(dr3); Office_Charts.Chart_jp_langshi_chart1(page1, dt1, 4); t.AddClone(page1); #endregion return(t); }
public ISlideCollection _plus_jp_xuhuicheng_1(string str, int cjbh) { try { var param = Cache_param_zb._param_jp.Where(m => m.cjid == cjbh); var p = new Presentation(); var t = p.Slides; t.RemoveAt(0); var temp1_1 = new Presentation(str).Slides; var page1_1 = temp1_1[0]; string[] zt1_1 = { "大竹林", "照母山", "礼嘉" }; DataTable dt1_1 = JSZZTSCBX(zt1_1); Office_Charts.Chart_gxfx(page1_1, dt1_1, 1); t.AddClone(page1_1); var temp1_2 = new Presentation(str).Slides; var page1_2 = temp1_2[0]; string[] zt1_2 = { "巴南区" }; DataTable dt1_2 = JSZQYSCBX(zt1_2); Office_Charts.Chart_gxfx(page1_2, dt1_2, 1); t.AddClone(page1_2); foreach (var item in param) { if (string.IsNullOrEmpty(item.qtcs)) { var tp = new Presentation(str); var temp = tp.Slides; #region 持销项目销售 var page2 = temp[1]; DataTable dt = new DataTable(); dt.Columns.Add(Base_Config_Jzgj.业态); dt.Columns.Add(Base_Config_Jzgj.组团); dt.Columns.Add(Base_Config_Jzgj.项目名称); dt.Columns.Add(Base_Config_Rgsj.周_认购套数); dt.Columns.Add(Base_Config_Rgsj.周_认购套内均价); dt.Columns.Add(Base_Config_Rgsj.周_认购套数); dt.Columns.Add(Base_Config_Rgsj.周_认购套内均价); dt.Columns.Add(Base_Config_Rgsj.周_认购套数); dt.Columns.Add(Base_Config_Rgsj.周_认购套内均价); dt.Columns.Add(Base_Config_Rgsj.本周_认购套数); dt.Columns.Add(Base_Config_Rgsj.本周_认购套内均价); dt.Columns.Add(Base_Config_Rgsj.本周_变化原因); IAutoShape text2 = (IAutoShape)page2.Shapes[0]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_XUHUICHENG_CHIXUXIAOSHOUXIANGMU_Table(page2, dt, 1, null, null); t.AddClone(page2); } #endregion } else { var tp = new Presentation(str); var temp = tp.Slides; var page3 = temp[2]; t.AddClone(page3); var page4 = temp[3]; DataTable dt4 = new DataTable(); dt4.Columns.Add("kfs"); dt4.Columns.Add("hj"); dt4.Columns.Add("sssz_cjje"); dt4.Columns.Add("ssz_cjje"); dt4.Columns.Add("sz_cjje"); dt4.Columns.Add("bz_cjje"); dt4 = GET_JPXM_ZT_CJJE(dt4, item.jpxmlb); dt4 = GET_JPBA_CJJE(dt4, item); Office_Tables.SetJP_XUHUICHENG_XIAOSHOUE_Table(page4, dt4, 1, null, null); IAutoShape text4 = (IAutoShape)page4.Shapes[0]; text4.TextFrame.Text = string.Format(text4.TextFrame.Text, item.bamc); t.AddClone(page4); foreach (var item_jp in item.jpxmlb) { DataTable dt5 = new DataTable(); dt5.Columns.Add("kfs"); dt5.Columns.Add("hj"); dt5.Columns.Add("sssz"); dt5.Columns.Add("ssz"); dt5.Columns.Add("sz"); dt5.Columns.Add("bz"); dt5 = GET_JPXM_XF_CJJE(dt5, item_jp); var page5 = new Presentation(str).Slides[4]; Office_Tables.SetJP_XUHUICHENG_XIAOSHOUE_Table(page5, dt5, 0, null, null); IAutoShape text5 = (IAutoShape)page5.Shapes[1]; text5.TextFrame.Text = string.Format(text5.TextFrame.Text, item_jp.kfs); t.AddClone(page5); } } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public void slide17(ISlide slide) { Office_Charts.DoubleAxexchart(slide, Cache_Result_yb.jsjg_scgxfx, 3, 0, 1); Office_Charts.DoubleAxexchart(slide, Cache_Result_yb.jsjg_scgxfx_psb, 2, Aspose.Slides.Charts.ChartType.StackedBar); }
public ISlideCollection _plus_jp_jiangbeizuizhiye_1(string str, int cjbh) { try { var param = Cache_param_zb._param_jp.Where(m => m.cjid == cjbh); var p = new Presentation(); var t = p.Slides; t.RemoveAt(0); var pages = new Presentation(str).Slides; var jbz = pages[0]; #region 近8周江北区住宅市场环境 DataTable zzsc = new DataTable(); zzsc.Columns.Add("时间"); zzsc.Columns.Add("预售新增供应量(单位: 万㎡)"); zzsc.Columns.Add("成交量(单位: 万㎡)"); zzsc.Columns.Add("建面均价(元 /㎡)"); var jbz_cjba = (from a in Cache_data_cjjl.jbz.AsEnumerable() where a["qy"].ToString() == qy && (a["yt"].ToString() == "别墅" || a["yt"].ToString() == "高层" || a["yt"].ToString() == "小高层" || a["yt"].ToString() == "洋房" || a["yt"].ToString() == "洋楼") group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, zcmc = s.Key.zcmc, cjje = s.Sum(a => a["cjje"].longs()), jzmj = s.Sum(a => a["jzmj"].doubls()), }).OrderBy(m => m.zc).ToList(); var jbz_xzys = (from a in Cache_data_xzys.jbz.AsEnumerable() where a["qx1"].ToString() == qy && (a["tyyt"].ToString() == "别墅" || a["tyyt"].ToString() == "高层" || a["tyyt"].ToString() == "小高层" || a["tyyt"].ToString() == "洋房" || a["tyyt"].ToString() == "洋楼") group a by new { zc = a["zc"] } into s select new { zc = s.Key.zc, xzgy = s.Sum(a => a["jzmj"].doubls()), }).OrderBy(m => m.zc).ToList(); var temp6 = (from a in jbz_cjba join b in jbz_xzys on a.zc equals b.zc into temp from tt in temp.DefaultIfEmpty() select new { zcmc = a.zcmc, xzgyl = tt == null ? 0 : tt.xzgy, //这里主要第二个集合有可能为空。需要判断 cjmj = a.jzmj, jmjj = a.cjje / a.jzmj }).ToList(); for (int i = 0; i < temp6.Count(); i++) { DataRow dr = zzsc.NewRow(); dr[0] = temp6[i].zcmc; dr[1] = temp6[i].xzgyl.mj_wf(); dr[2] = temp6[i].cjmj.mj_wf(); dr[3] = temp6[i].jmjj.je_y(); zzsc.Rows.Add(dr); } Office_Charts.Chart_gxfx(jbz, zzsc, 1); t.AddClone(jbz); #endregion #region 江北区周度住宅排名 var temp_data_cj = from a in Cache_data_cjjl.bz.AsEnumerable() where a["qy"].ToString() == qy && (a["yt"].ToString() == "别墅" || a["yt"].ToString() == "高层" || a["yt"].ToString() == "小高层" || a["yt"].ToString() == "洋房" || a["yt"].ToString() == "洋楼") group a by new { lpmc = a["lpmc"] } into d select new { lpmc = d.Key.lpmc, cjts = d.Sum(m => m["ts"].ints()), cjtl = d.Sum(m => m["jzmj"].doubls()), cjje = d.Sum(m => m["cjje"].doubls()) }; var cjpm_ts = temp_data_cj.OrderByDescending(m => m.cjts).Take(10).ToList(); var cjpm_mj = temp_data_cj.OrderByDescending(m => m.cjtl).Take(10).ToList(); var cjpm_je = temp_data_cj.OrderByDescending(m => m.cjje).Take(10).ToList(); DataTable cjpm = new DataTable(); cjpm.Columns.Add("序号"); cjpm.Columns.Add("项目名称1"); cjpm.Columns.Add("套数"); cjpm.Columns.Add("项目名称2"); cjpm.Columns.Add("成交面积"); cjpm.Columns.Add("项目名称3"); cjpm.Columns.Add("成交金额"); for (int i = 0; i < 10; i++) { DataRow dr = cjpm.NewRow(); dr["序号"] = i + 1; if (cjpm_ts.Count() > i) { dr["项目名称1"] = cjpm_ts[i].lpmc; dr["套数"] = cjpm_ts[i].cjts; } else { dr["项目名称1"] = ""; dr["套数"] = ""; } if (cjpm_mj.Count() > i) { dr["项目名称2"] = cjpm_ts[i].lpmc; dr["成交面积"] = cjpm_mj[i].cjtl.ints(); } else { dr["项目名称2"] = ""; dr["成交面积"] = ""; } if (cjpm_je.Count() > i) { dr["项目名称3"] = cjpm_ts[i].lpmc; dr["成交金额"] = cjpm_je[i].cjje.je_wy(); } else { dr["项目名称3"] = ""; dr["成交金额"] = ""; } cjpm.Rows.Add(dr); } var cjpmp_temp = pages; var cjpmp_page = cjpmp_temp[1]; IAutoShape cjpmwz = (IAutoShape)cjpmp_page.Shapes[2]; cjpmwz.TextFrame.Text = string.Format(cjpmwz.TextFrame.Text, Base_date.GET_ZCMC(Base_date.bn, Base_date.bz)); Office_Tables.SetChart(cjpmp_page, cjpm, 4, null, null); t.AddClone(cjpmp_page); #endregion #region 竞品 foreach (var item in param) { var tp = new Presentation(str); var temp = tp.Slides; #region 格局统计 var page = temp[2]; IAutoShape text = (IAutoShape)page.Shapes[1]; text.TextFrame.Text = string.Format(text.TextFrame.Text, item.bamc); System.Data.DataTable dt = new System.Data.DataTable(); dt.Columns.Add(Base_Config_Jzgj.竞争格局名称); dt.Columns.Add(Base_Config_Jzgj.项目名称); dt.Columns.Add(Base_Config_Rgsj.本周_本周到访量); dt.Columns.Add(Base_Config_Rgsj.本周_本周来电); dt.Columns.Add(Base_Config_Rgsj.本周_新开套数); dt.Columns.Add(Base_Config_Rgsj.本周_新开销售套数); dt.Columns.Add(Base_Config_Rgsj.新开套内均价); dt.Columns.Add(Base_Config_Cjba.周_备案套数); dt.Columns.Add(Base_Config_Cjba.周_套内均价); dt.Columns.Add(Base_Config_Rgsj.周_认购套数); dt.Columns.Add(Base_Config_Rgsj.周_认购套内均价); dt.Columns.Add(Base_Config_Cjba.本周_备案套数); dt.Columns.Add(Base_Config_Cjba.本周_套内均价); dt.Columns.Add(Base_Config_Rgsj.本周_认购套数); dt.Columns.Add(Base_Config_Rgsj.本周_认购套内均价); dt.Columns.Add(Base_Config_Rgsj.本周_成交套数环比); dt.Columns.Add(Base_Config_Rgsj.本周_套内均价环比); dt.Columns.Add(Base_Config_Rgsj.本周_变化原因); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_JiangBeiZuiZhiYe_JPBX_Table(page, dt, 3, null, null); t.AddClone(page); } #endregion } #endregion return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }