public ISlideCollection _plus_jp_yangguangcheng_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) { var tp = new Presentation(str); var temp = tp.Slides; var page1 = temp[0]; IAutoShape text0_1 = (IAutoShape)page1.Shapes[0]; text0_1.TextFrame.Text = string.Format(text0_1.TextFrame.Text, item.bamc); DataTable dt1_0 = new DataTable(); dt1_0.Columns.Add(Base_Config_Jzgj.项目名称); dt1_0.Columns.Add(Base_Config_Jzgj.业态); dt1_0.Columns.Add(Base_Config_Rgsj.周_本周到访量); dt1_0.Columns.Add(Base_Config_Rgsj.本周_本周到访量); dt1_0.Columns.Add(Base_Config_Jzgj.竞争格局_主力面积区间); dt1_0.Columns.Add(Base_Config_Rgsj.本周_新开套数); dt1_0.Columns.Add(Base_Config_Cjba.本周_备案套数); dt1_0.Columns.Add(Base_Config_Cjba.本周_建面均价); dt1_0.Columns.Add(Base_Config_Rgsj.本周_认购套数); dt1_0.Columns.Add(Base_Config_Rgsj.本周_认购建面均价); dt1_0.Columns.Add(Base_Config_Rgsj.本周_优惠); dt1_0.Columns.Add("认购库存套数"); dt1_0.Columns.Add("本周动态"); dt1_0.Columns.Add(Base_Config_Rgsj.本周_活动); dt1_0.Columns.Add(Base_Config_Rgsj.本周_营销动作); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt1_0 = GET_JPXM_BX_1(dt1_0, item.jpxmlb); Office_Tables.SetJP_YANGGUANGCHENG_Table(page1, dt1_0, 1, null, null); t.AddClone(page1); foreach (var jpitem in item.jpxmlb) { var tp1 = new Presentation(str); var temp1 = tp1.Slides; var page2 = temp1[1]; IAutoShape text1_1 = (IAutoShape)page2.Shapes[0]; text1_1.TextFrame.Text = string.Format(text1_1.TextFrame.Text, string.Join(",", jpitem.lpcs)); t.AddClone(page2); } } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_wanhua_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) { var tp = new Presentation(str); var temp = tp.Slides; #region 竞品分布 var page1 = temp[0]; IAutoShape text1 = (IAutoShape)page1.Shapes[1]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, item.bamc); #endregion t.AddClone(page1); #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_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.本周_活动); IAutoShape text2 = (IAutoShape)page2.Shapes[1]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc); #endregion if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_WanHua_JPBX_Table(page2, dt, 2, null, null); t.AddClone(page2); } foreach (var page3 in _plus_jp_dyt_tgtp(item)) { t.AddClone(page3); } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public void Create_zb1() { if (dqrw != null) { Aspose_Crack.SlideCrack(); DataTable dt = Dal.CJGL_DataProvider.GET_CJLB_BB(dqrw.mbid); Presentation p1 = SlideFactory.GetInstance().ppt; p1.Slides.RemoveAt(0); Base_date.init_zb(dqrw.nf, dqrw.zc); Cache_param_zb.ini_zb(dqrw.mbid, dqrw.nf, dqrw.zc); Base_Log.Log("开始任务"); try { foreach (DataRow row in dt.Rows) { Base_Log.Log("第" + row["cjbh"].ints().ToString() + "号插件"); Type type = Type.GetType(row["cjclass"].ToString()); // var obj = System.Activator.CreateInstance(type); // 创建实例 MethodInfo method = type.GetMethod(row["cjmethod"].ToString(), new Type[] { typeof(string), typeof(int) }); // 获取方法信息 object[] parameters = new object[] { row["cjdz"], row["cjbh"].ints() }; var slide = method.Invoke(obj, parameters); if (slide != null && ((SlideCollection)slide).Count > 0) { foreach (var item in (SlideCollection)slide) { if (item != null) { p1.Slides.AddClone(item); } } // 调用方法,参数为空 } } string path = "E:\\zb\\" + dqrw.mbid + "\\" + dqrw.nf + "\\" + dqrw.zc + "\\"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string filename = path + Base.Base_date.bz + ".pptx"; p1.Save(filename, Aspose.Slides.Export.SaveFormat.Pptx); if (!new Dal.RWGL_DataProvider().SET_RWZT(dqrw.mbid, dqrw.nf, dqrw.zc, RW_ZT.完成可下载, filename)) { Base_Log.Log("创建文件成功,插入数据失败"); } dqrw.zt = Models.Enums.ZX_ZT.生成完毕; } catch (Exception e) { Base_Log.Log("插件生成报错:" + e.Message); dqrw.zt = Models.Enums.ZX_ZT.生成完毕; } } else { Base_Log.Log("没有当前任务"); } }
public ISlideCollection _plus_jp_zhaoshangyiyunwan_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) { var tp = new Presentation(str); var temp = tp.Slides; if (item.ytcs == null || item.ytcs[0] != "商铺") { var page2 = temp[1]; DataTable dt = new DataTable(); 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.本周_认购套内均价环比); 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, Base_date.GET_ZCMC(Base_date.bn, Base_date.bz)); dt = GET_JPBA_BX(dt, item); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_ZeKe_JPBX_Table(page2, dt, 0, null, null, null); t.AddClone(page2); } } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_junfeng_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) { var tp = new Presentation(str); var temp = tp.Slides; var page = temp[0]; IAutoShape text1 = (IAutoShape)page.Shapes[0]; text1.TextFrame.Text = string.Format(text1.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_Jzgj.业态); dt.Columns.Add(Base_Config_Jzgj.竞争格局_主力面积区间); // 主力套内面积区间 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.本周_活动); //本周表现及近期动作 if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); } Office_Tables.SetJP_JUNFENG_Table(page, dt, 1, null, null); t.AddClone(page); } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_xianggangzhidi_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) { var tp = new Presentation(str); var temp = tp.Slides; #region 格局统计 var page = 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("ssz_rgts"); //上上周_备案套数 dt.Columns.Add("ssz_rgtnjj"); //上上周_套内均价 dt.Columns.Add("ssz_tjzj"); //上上周_套内均价 dt.Columns.Add("sssz_rgts"); //上上上周_备案套数 dt.Columns.Add("sssz_rgtnjj"); //上上上周_套内均价 dt.Columns.Add("sssz_tjzj"); //上上上周_套内均价 dt.Columns.Add(Base_Config_Rgsj.本周_变化原因); #endregion if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_XiangGangZhiDi_JPBX_Table(page, dt, 1, null, null); t.AddClone(page); } } return(t); } catch (Exception e) { Base_Log.Log(e.StackTrace); return(null); } }
public void execute_rw() { try { if (rwlb != null && rwlb.Count > 0) { if (dqrw == null || dqrw.zt == Models.Enums.ZX_ZT.生成完毕) { dqrw = rwlb.FirstOrDefault(); lock (s_lock) { rwlb.Remove(dqrw); } } } if (dqrw != null) { if (dqrw.zt == Models.Enums.ZX_ZT.未开始) { try { Base_Log.Log("执行任务开始:"); dqrw.zt = Models.Enums.ZX_ZT.生成中; Thread th = new Thread(new ThreadStart(Create_zb1)); th.Start(); } catch (Exception) { if (keys == null) { keys = new List <string>(); } keys.Add(dqrw.key); dqrw.zt = Models.Enums.ZX_ZT.生成完毕; } } else if (dqrw.zt == Models.Enums.ZX_ZT.生成完毕) { if (keys == null) { keys = new List <string>(); } keys.Add(dqrw.key); dqrw = null; } } } catch (Exception e) { throw; } }
public bool par(string str, string key) { var par = str.Split(','); if (par.Length == 3) { TemplateManage.add_rw(str, key); Base_Log.Log("任务已经加入队列"); return(true); } else { return(false); } }
public string Create_zb(int mbid, int year, int zc) { Aspose_Crack.SlideCrack(); DataTable dt = Dal.CJGL_DataProvider.GET_CJLB_BB(mbid); Presentation p1 = SlideFactory.GetInstance().ppt; p1.Slides.RemoveAt(0); Base_date.init_zb(year, zc); Cache_param_zb.ini_zb(mbid, year, zc); Base_Log.Log("开始任务"); try { foreach (DataRow row in dt.Rows) { Base_Log.Log("第" + row["cjbh"].ints().ToString() + "号插件"); Type type = Type.GetType(row["cjclass"].ToString()); // var obj = System.Activator.CreateInstance(type); // 创建实例 MethodInfo method = type.GetMethod(row["cjmethod"].ToString(), new Type[] { typeof(string), typeof(int) }); // 获取方法信息 object[] parameters = new object[] { row["cjdz"], row["cjbh"].ints() }; var slide = method.Invoke(obj, parameters); if (slide != null && ((SlideCollection)slide).Count > 0) { foreach (var item in (SlideCollection)slide) { if (item != null) { p1.Slides.AddClone(item); } } // 调用方法,参数为空 } } string path = "E:\\zb\\" + mbid + "\\" + year + "\\" + zc + "\\"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string filename = path + Base.Base_date.bz + ".pptx"; p1.Save(filename, Aspose.Slides.Export.SaveFormat.Pptx); return(filename); } catch (Exception e) { Base_Log.Log("插件生成报错:" + e.Message); } return(null); }
public ISlideCollection _plus_jp_yangguang100aerle_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) { var tp = new Presentation(str); var temp = tp.Slides; var page1 = temp[0]; IAutoShape text0_1 = (IAutoShape)page1.Shapes[1]; text0_1.TextFrame.Text = string.Format(text0_1.TextFrame.Text, item.bamc, item.ytcs[0]); var page2 = temp[1]; DataTable dt2_0 = new DataTable(); dt2_0.Columns.Add(Base_Config_Jzgj.项目名称); dt2_0.Columns.Add(Base_Config_Rgsj.本周_新开套数); dt2_0.Columns.Add(Base_Config_Rgsj.本周_新开销售套数); dt2_0.Columns.Add(Base_Config_Rgsj.本周_新开建面均价); dt2_0.Columns.Add(Base_Config_Rgsj.本周_本周来电); dt2_0.Columns.Add(Base_Config_Rgsj.本周_本周到访量); dt2_0.Columns.Add(Base_Config_Cjba.周_备案套数); dt2_0.Columns.Add(Base_Config_Cjba.周_建面均价); dt2_0.Columns.Add(Base_Config_Cjba.周_套均总价); dt2_0.Columns.Add(Base_Config_Cjba.周_建筑面积); dt2_0.Columns.Add(Base_Config_Cjba.周_成交金额); dt2_0.Columns.Add(Base_Config_Rgsj.周_认购套数); dt2_0.Columns.Add(Base_Config_Rgsj.周_认购建面均价); dt2_0.Columns.Add(Base_Config_Rgsj.周_认购金额); dt2_0.Columns.Add(Base_Config_Cjba.本周_备案套数); dt2_0.Columns.Add(Base_Config_Cjba.本周_建面均价); dt2_0.Columns.Add(Base_Config_Cjba.本周_套均总价); dt2_0.Columns.Add(Base_Config_Cjba.本周_建筑面积); dt2_0.Columns.Add(Base_Config_Cjba.本周_成交金额); dt2_0.Columns.Add(Base_Config_Rgsj.本周_认购套数); dt2_0.Columns.Add(Base_Config_Rgsj.本周_认购建面均价); dt2_0.Columns.Add(Base_Config_Rgsj.本周_认购金额); dt2_0.Columns.Add("剩余套数"); dt2_0.Columns.Add(Base_Config_Rgsj.本周_变化原因); dt2_0 = GET_JPBA_BX(dt2_0, item); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { IAutoShape text2 = (IAutoShape)page2.Shapes[1]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc, item.ytcs[0]); dt2_0 = GET_JPXM_BX(dt2_0, item.jpxmlb); Office_Tables.SetJP_CHONGQING18TI_Table(page2, dt2_0, 2, null, null); t.AddClone(page2); } var page3 = temp[2]; IAutoShape text3 = (IAutoShape)page3.Shapes[1]; text3.TextFrame.Text = string.Format(text3.TextFrame.Text, item.bamc, item.ytcs[0]); DataTable dt1 = new DataTable(); dt1.Columns.Add(Base_Config_Jzgj.项目名称); dt1.Columns.Add(Base_Config_Rgsj.本周_优惠); dt1.Columns.Add(Base_Config_Rgsj.本周_活动); dt1.Columns.Add(Base_Config_Rgsj.本周_优惠); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt1 = GET_JPXM_BX(dt1, item.jpxmlb); Office_Tables.SetTable(page3, dt1, 2, null, null); } t.AddClone(page3); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { foreach (var jpitem in item.jpxmlb) { var tp1 = new Presentation(str); var temp1 = tp1.Slides; var page4 = temp1[3]; DataTable dttemp = Cache_data_cjjl.jbz.Select("zc>=" + (Base_date.bz - 3)).CopyToDataTable(); var data = from a in dttemp.AsEnumerable() where a["lpmc"].ToString() == jpitem.lpcs[0] && a["yt"].ToString() == jpitem.ytcs[0] group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, zcmc = s.Key.zcmc, ts = s.Sum(m => m["ts"].ints()), jmjj = s.Sum(m => m["cjje"].longs()) / s.Sum(m => m["jzmj"].doubls()) }; DataTable dt4_0 = new DataTable(); dt4_0.Columns.Add("周次名称"); dt4_0.Columns.Add("精装成交套数"); dt4_0.Columns.Add("精装成交均价"); foreach (var tempitem in data) { DataRow dr = dt4_0.NewRow(); dr["周次名称"] = tempitem.zcmc; dr["精装成交套数"] = tempitem.ts; dr["精装成交均价"] = tempitem.jmjj.je_y(); dt4_0.Rows.Add(dr); } IAutoShape text4_0 = (IAutoShape)page4.Shapes[0]; text4_0.TextFrame.Text = string.Format(text4_0.TextFrame.Text, item.bamc, item.ytcs[0]); IAutoShape text4_1 = (IAutoShape)page4.Shapes[1]; text4_1.TextFrame.Text = string.Format(text4_1.TextFrame.Text, jpitem.lpcs[0], jpitem.ytcs[0]); //无法将类型为“Aspose.Slides.OleObjectFrame”的对象强制转换为类型“Aspose.Slides.Charts.IChart”。 //Office_Charts.Chart_gxfx(pag4, dt4_0, 2); t.AddClone(page4); var pag5 = temp1[4]; IAutoShape text5_0 = (IAutoShape)pag5.Shapes[1]; text5_0.TextFrame.Text = string.Format(text5_0.TextFrame.Text, item.bamc, item.ytcs[0]); IAutoShape text5_1 = (IAutoShape)pag5.Shapes[2]; text5_1.TextFrame.Text = string.Format(text5_1.TextFrame.Text, jpitem.lpcs[0], jpitem.ytcs[0]); t.AddClone(pag5); } } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
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 _plus_jp_lvdi_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) { var tp = new Presentation(str); var temp = tp.Slides; if (item.ytcs[0] != "商务") { #region 格局统计 var page1 = temp[0]; DataTable dt = new 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("bzcl"); dt.Columns.Add(); dt.Columns.Add("bybajmjj"); dt.Columns.Add(Base_Config_Rgsj.本周_营销动作); IAutoShape text2 = (IAutoShape)page1.Shapes[0]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc); #endregion if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_LVDI_PUTONG_Table(page1, dt, 1, null, null); t.AddClone(page1); } foreach (var page3 in _plus_jp_dyt_tgtp(item)) { t.AddClone(page3); } } else { #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_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_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.本周_营销动作); 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_LVDI_PUTONG_Table(page2, dt, 1, null, null); t.AddClone(page2); } #endregion } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_qidixiexin_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) { var query = from a in item.jpxmlb group a by new { jzgjid = a.jzgjid } into m select new { jzgjid = m.Key.jzgjid, }; List <List <JP_JPXM_INFO> > list = new List <List <JP_JPXM_INFO> >(); foreach (var jzgjid in query) { List <JP_JPXM_INFO> jpxm = item.jpxmlb.Where(m => m.jzgjid == jzgjid.jzgjid).ToList(); list.Add(jpxm); } foreach (var jpxmlb in list) { var tp = new Presentation(str); var temp = tp.Slides; var page1 = temp[0]; IAutoShape text1 = (IAutoShape)page1.Shapes[0]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, item.bamc); DataTable dt_jpbasj = new DataTable(); dt_jpbasj.Columns.Add(Base_Config_Jzgj.项目名称); dt_jpbasj.Columns.Add(Base_Config_Jzgj.业态); dt_jpbasj.Columns.Add(Base_Config_Rgsj.周_新开套数); dt_jpbasj.Columns.Add(Base_Config_Rgsj.周_认购套数); dt_jpbasj.Columns.Add(Base_Config_Rgsj.周_主力建面区间); dt_jpbasj.Columns.Add(Base_Config_Rgsj.周_认购建面均价); dt_jpbasj.Columns.Add(Base_Config_Rgsj.本周_新开套数); dt_jpbasj.Columns.Add(Base_Config_Rgsj.本周_认购套数); dt_jpbasj.Columns.Add(Base_Config_Rgsj.本周_主力建面区间); dt_jpbasj.Columns.Add(Base_Config_Rgsj.本周_认购建面均价); dt_jpbasj.Columns.Add("本周存量"); dt_jpbasj.Columns.Add("本月认购套数"); dt_jpbasj.Columns.Add("本月建面均价"); dt_jpbasj.Columns.Add(Base_Config_Rgsj.本周_营销动作); dt_jpbasj.Columns.Add(Base_Config_Rgsj.本周_本周到访量); dt_jpbasj.Columns.Add(Base_Config_Rgsj.本周_下周加推预计); dt_jpbasj.Columns.Add("加推套数建面均价"); if (jpxmlb.Count > 0) { //获取竞品项目数据 dt_jpbasj = GET_JPXM_BX_RG(dt_jpbasj, jpxmlb); Office_Tables.SetJP_QIDIXIEXIN_1_Table(page1, dt_jpbasj, 1, null, null); t.AddClone(page1); } } var tp1 = new Presentation(str); var temp1 = tp1.Slides; var page2 = temp1[1]; IAutoShape text2 = (IAutoShape)page2.Shapes[0]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc); DataTable dt_2 = new DataTable(); dt_2.Columns.Add(Base_Config_Jzgj.业态); dt_2.Columns.Add("推出库存"); dt_2.Columns.Add("推出区划周期"); dt_2.Columns.Add("未推库存"); dt_2.Columns.Add("中期库存"); dt_2.Columns.Add("中期去化周期"); var jpyt = from a in item.jpxmlb group a by new { ytcs = a.ytcs.Join() } into m select new { yt = m.Key.ytcs, }; foreach (var yt in jpyt) { DataRow dr = dt_2.NewRow(); dr[Base_Config_Jzgj.业态] = yt.yt; dt_2.Rows.Add(dr); } Office_Tables.SetJP_QIDIXIEXIN_2_Table(page2, dt_2, 1, null, null); t.AddClone(page2); } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_zeke_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) { var tp = new Presentation(str); var temp = tp.Slides; #region 竞品分布 foreach (var page1 in _plus_jp_dyt_jzgj(item)) { t.AddClone(page1); } #endregion #region 格局统计 if (item.ytcs == null || item.ytcs[0] != "商铺") { 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_Cjba.周_备案套数); 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_Cjba.本周_备案套数); 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.本周_套内均价环比); dt.Columns.Add(Base_Config_Rgsj.本周_变化原因); IAutoShape text2 = (IAutoShape)page2.Shapes[2]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc, item.ytcs != null ? item.ytcs[0] : ""); dt = GET_JPBA_BX(dt, item); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_ZeKe_JPBX_Table(page2, dt, 0, null, null, null); t.AddClone(page2); } } else { var page2 = temp[2]; 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_Cjba.周_备案套数); dt.Columns.Add(Base_Config_Cjba.周_建筑面积); dt.Columns.Add(Base_Config_Cjba.周_套内均价); dt.Columns.Add(Base_Config_Cjba.本周_备案套数); 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.本周_变化原因); IAutoShape text2 = (IAutoShape)page2.Shapes[2]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc, "商铺"); dt = GET_JPBA_BX(dt, item); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_ZeKe_JPBX_Table(page2, dt, 0, null, null, "商铺"); t.AddClone(page2); } #endregion foreach (var page3 in _plus_jp_dyt_tgtp(item)) { t.AddClone(page3); } } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_ruian_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) { var tp = new Presentation(str); var temp = tp.Slides; var page = temp[0]; IAutoShape text = (IAutoShape)page.Shapes[2]; text.TextFrame.Text = string.Format(text.TextFrame.Text, item.bamc, item.ytcs[0]); System.Data.DataTable dt = new System.Data.DataTable(); dt.Columns.Add("qy"); dt.Columns.Add("lpmc"); dt.Columns.Add("yt"); dt.Columns.Add("xkts"); dt.Columns.Add("xkxsts"); dt.Columns.Add("xktnjj"); dt.Columns.Add("szbats"); dt.Columns.Add("szbatnjj"); dt.Columns.Add("szrgts"); dt.Columns.Add("szrgtnjj"); dt.Columns.Add("bzbats"); dt.Columns.Add("bzbatnjj"); dt.Columns.Add("bzrgts"); dt.Columns.Add("bzrgtnjj"); dt.Columns.Add("thb"); dt.Columns.Add("jghb"); dt.Columns.Add("bhyy"); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_RUIAN_JPBX_Table(page, dt.AsEnumerable().OrderBy(m => m["qy"]).CopyToDataTable(), 4, null, null); t.AddClone(page); } var page1 = temp[1]; IAutoShape text1 = (IAutoShape)page1.Shapes[1]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, item.bamc, item.ytcs[0]); System.Data.DataTable dt1 = new System.Data.DataTable(); dt1.Columns.Add("xm"); dt1.Columns.Add("yh"); dt1.Columns.Add("yxdz"); dt1.Columns.Add("xzjtyj"); dt1.Columns.Add("bkfs"); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_JQDZ(dt1, item.jpxmlb); Office_Tables.SetJP_RUIAN_JQHD_Table(page1, dt, 3, null, null); t.AddClone(page1); } } foreach (var item in _plus_jp_dyt_tgtp(cjbh)) { if (item != null) { t.AddClone(item); } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
/// <summary> /// 大业态循环 /// </summary> /// <param name="str"></param> /// <param name="cjbh"></param> /// <returns></returns> public ISlideCollection _plus_jp_jiazhaoye_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); #region P2 foreach (var item in param) { var tp = new Presentation(str); var temp = tp.Slides; var page = temp[0]; IAutoShape text1 = (IAutoShape)page.Shapes[0]; text1.TextFrame.Text = string.Format(text1.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_Jzgj.业态); 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_Cjba.周_建面均价); 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_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.本周_认购套内均价环比); 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_JiaZhaoYe_Table(page, dt, 3, null, null); t.AddClone(page); } #endregion #region P3 foreach (var item in _plus_jp_dyt_tgtp(cjbh)) { if (item != null) { t.AddClone(item); } } #endregion return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_huguanghuiguan_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) { var query = from a in item.jpxmlb group a by new { jzgjid = a.jzgjid } into m select new { jzgjid = m.Key.jzgjid, }; List <List <JP_JPXM_INFO> > list = new List <List <JP_JPXM_INFO> >(); foreach (var jzgjid in query) { List <JP_JPXM_INFO> jpxm = item.jpxmlb.Where(m => m.jzgjid == jzgjid.jzgjid).ToList(); list.Add(jpxm); } var tp = new Presentation(str); var temp = tp.Slides; var page1 = temp[0]; IAutoShape text0_1 = (IAutoShape)page1.Shapes[2]; text0_1.TextFrame.Text = string.Format(text0_1.TextFrame.Text, item.bamc, item.ytcs[0]); var page2 = temp[1]; DataTable dt2_0 = new DataTable(); dt2_0.Columns.Add(Base_Config_Jzgj.竞争格局_主力面积区间); dt2_0.Columns.Add(Base_Config_TJXM.区域); dt2_0.Columns.Add(Base_Config_Jzgj.项目名称); dt2_0.Columns.Add(Base_Config_Rgsj.本周_新开套数); dt2_0.Columns.Add(Base_Config_Rgsj.本周_新开销售套数); dt2_0.Columns.Add(Base_Config_Rgsj.周_本周到访量); dt2_0.Columns.Add(Base_Config_Rgsj.周_本周来电); dt2_0.Columns.Add(Base_Config_Rgsj.周_认购套数); dt2_0.Columns.Add(Base_Config_Rgsj.周_认购建面均价); dt2_0.Columns.Add(Base_Config_Rgsj.本周_本周到访量); dt2_0.Columns.Add(Base_Config_Rgsj.本周_本周来电); dt2_0.Columns.Add(Base_Config_Rgsj.本周_认购套数); dt2_0.Columns.Add(Base_Config_Rgsj.本周_认购建面均价); dt2_0.Columns.Add(Base_Config_Rgsj.本周_优惠); dt2_0.Columns.Add("总结"); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt2_0 = GET_JPXM_BX(dt2_0, item.jpxmlb); Office_Tables.SetJP_CHONGQING18TI_Table(page2, dt2_0, 0, null, null); t.AddClone(page2); } if (item.jpxmlb != null && item.jpxmlb.Count > 0) { foreach (var jpitem in item.jpxmlb) { var tp1 = new Presentation(str); var temp1 = tp1.Slides; var page4 = temp1[3]; DataTable dttemp = Cache_data_cjjl.jbz.Select("zc>=" + (Base_date.bz - 3)).CopyToDataTable(); var data = from a in dttemp.AsEnumerable() where a["lpmc"].ToString() == jpitem.lpcs[0] && a["yt"].ToString() == jpitem.ytcs[0] group a by new { zc = a["zc"], zcmc = a["zcmc"] } into s select new { zc = s.Key.zc, zcmc = s.Key.zcmc, ts = s.Sum(m => m["ts"].ints()), jmjj = s.Sum(m => m["cjje"].longs()) / s.Sum(m => m["jzmj"].doubls()) }; DataTable dt4_0 = new DataTable(); dt4_0.Columns.Add("周次名称"); dt4_0.Columns.Add("精装成交套数"); dt4_0.Columns.Add("精装成交均价"); foreach (var tempitem in data) { DataRow dr = dt4_0.NewRow(); dr["周次名称"] = tempitem.zcmc; dr["精装成交套数"] = tempitem.ts; dr["精装成交均价"] = tempitem.jmjj.je_y(); dt4_0.Rows.Add(dr); } IAutoShape text4_0 = (IAutoShape)page4.Shapes[0]; text4_0.TextFrame.Text = string.Format(text4_0.TextFrame.Text, item.bamc, item.ytcs[0]); IAutoShape text4_1 = (IAutoShape)page4.Shapes[1]; text4_1.TextFrame.Text = string.Format(text4_1.TextFrame.Text, jpitem.lpcs[0], jpitem.ytcs[0]); //无法将类型为“Aspose.Slides.OleObjectFrame”的对象强制转换为类型“Aspose.Slides.Charts.IChart”。 //Office_Charts.Chart_gxfx(pag4, dt4_0, 2); t.AddClone(page4); var pag5 = temp1[4]; IAutoShape text5_0 = (IAutoShape)pag5.Shapes[1]; text5_0.TextFrame.Text = string.Format(text5_0.TextFrame.Text, item.bamc, item.ytcs[0]); IAutoShape text5_1 = (IAutoShape)pag5.Shapes[2]; text5_1.TextFrame.Text = string.Format(text5_1.TextFrame.Text, jpitem.lpcs[0], jpitem.ytcs[0]); t.AddClone(pag5); } } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_rongchuang_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); #region foreach (var item in param) { var tp = new Presentation(str); var temp = tp.Slides; if (item.ytcs.Contains("商业")) { var page = temp[1]; IAutoShape text1 = (IAutoShape)page.Shapes[0]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, item.bamc, item.ytcs[0]); 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_Cjba.周_备案套数); //上周认购套数 dt.Columns.Add(Base_Config_Cjba.周_建筑面积); //上周认购套内均价 dt.Columns.Add(Base_Config_Cjba.周_成交金额); //上周认购套数 dt.Columns.Add(Base_Config_Cjba.周_建面均价); //上周认购套内均价 dt.Columns.Add(Base_Config_Cjba.本周_备案套数); //上周认购套数 dt.Columns.Add(Base_Config_Cjba.本周_建筑面积); //上周认购套内均价 dt.Columns.Add(Base_Config_Cjba.本周_成交金额); //上周认购套数 dt.Columns.Add(Base_Config_Cjba.本周_建面均价); //上周认购套内均价 dt.Columns.Add("备注"); //上周认购套内均价 dt = GET_JPBA_BX(dt, item); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_RONGCHUANG_2_Table(page, dt, 1, null, null); t.AddClone(page); } } else if (item.ytcs.Contains("车库")) { var page = temp[2]; IAutoShape text1 = (IAutoShape)page.Shapes[0]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, item.bamc, item.ytcs[0]); 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_Cjba.周_备案套数); //上周认购套数 dt.Columns.Add(Base_Config_Cjba.周_建筑面积); //上周认购套内均价 dt.Columns.Add(Base_Config_Cjba.周_成交金额); //上周认购套数 dt.Columns.Add(Base_Config_Cjba.周_套均总价); //上周认购套内均价 dt.Columns.Add(Base_Config_Cjba.本周_备案套数); //上周认购套数 dt.Columns.Add(Base_Config_Cjba.本周_建筑面积); //上周认购套内均价 dt.Columns.Add(Base_Config_Cjba.本周_成交金额); //上周认购套数 dt.Columns.Add(Base_Config_Cjba.本周_套均总价); //上周认购套内均价 dt = GET_JPBA_BX(dt, item); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_RONGCHUANG_3_Table(page, dt, 1, null, null); t.AddClone(page); } } else { var page = temp[0]; IAutoShape text1 = (IAutoShape)page.Shapes[0]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, item.bamc, item.ytcs[0]); 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_Jzgj.竞争格局_主力面积区间); dt.Columns.Add("总面积段"); 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("备注"); //变化原因 dt.Columns.Add(Base_Config_Rgsj.本周_营销动作); dt.Columns.Add(Base_Config_Rgsj.本周_优惠); dt = GET_JPBA_BX(dt, item); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_RONGCHUANG_1_Table(page, dt, 1, null, null); t.AddClone(page); } } } #endregion #region P3 foreach (var item in _plus_jp_dyt_tgtp(cjbh)) { if (item != null) { t.AddClone(item); } } #endregion return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_hejingfutai_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) { 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("sybats"); dt.Columns.Add("sybajj"); 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); } }
/// <summary> /// 差别十分巨大,无法重用 /// </summary> /// <param name="str"></param> /// <param name="cjbh"></param> /// <returns></returns> public ISlideCollection _plus_jp_langshi_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 jbzzs(str)) { t.AddClone(item); } foreach (var item in param) { var tp = new Presentation(str); var temp = tp.Slides; #region 竞品分布 var page1 = temp[9]; #endregion t.AddClone(page1); #region 格局统计 var page2 = temp[10]; IAutoShape text1 = (IAutoShape)page2.Shapes[2]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, item.bamc); DataTable dt = new 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("bz" + 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("heji"); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_Langshi_JPBX_Table(page2, dt, 5, null, null); } #endregion t.AddClone(page2); #region 近期动作 var page3 = temp[11]; DataTable dt1 = new DataTable(); dt1.Columns.Add(Base_Config_Jzgj.竞争格局名称); dt1.Columns.Add(Base_Config_Jzgj.项目名称); dt1.Columns.Add(Base_Config_Jzgj.业态); dt1.Columns.Add(Base_Config_Rgsj.本周_优惠); dt1.Columns.Add(Base_Config_Rgsj.本周_活动); dt1.Columns.Add(Base_Config_Rgsj.本周_营销动作); dt1.Columns.Add("bkfsjcxqk"); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt1 = GET_JPXM_BX(dt1, item.jpxmlb); Office_Tables.SetTable(page3, dt1, 2, null, null); } #endregion t.AddClone(page3); } return(t); } catch (Exception e) { Base_Log.Log("插件:" + cjbh + "生成报错*****" + e.Message); return(null); } }
public ISlideCollection _plus_jp_jinghuijianbao_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) { var tp = new Presentation(str); var temp = tp.Slides; var page1 = temp[0]; IAutoShape text1 = (IAutoShape)page1.Shapes[0]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, string.Join(",", item.ytcs[0])); DataTable dt_jpbasj = new DataTable(); dt_jpbasj.Columns.Add(Base_Config_Jzgj.业态); dt_jpbasj.Columns.Add(Base_Config_Jzgj.项目名称); dt_jpbasj.Columns.Add(Base_Config_Cjba.周_备案套数); dt_jpbasj.Columns.Add("上上上周实际销售套数"); dt_jpbasj.Columns.Add(Base_Config_Cjba.周_备案套数); dt_jpbasj.Columns.Add("上上周实际销售套数"); dt_jpbasj.Columns.Add(Base_Config_Cjba.周_备案套数); dt_jpbasj.Columns.Add("上周实际销售套数"); dt_jpbasj.Columns.Add(Base_Config_Cjba.本周_备案套数); dt_jpbasj.Columns.Add("本周实际销售套数"); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { //获取竞品项目数据 dt_jpbasj = GET_JPXM_BX(dt_jpbasj, item.jpxmlb); Office_Tables.SetJP_JINHUIJIANBAO_Table(page1, dt_jpbasj, 1, null, null); t.AddClone(page1); } var page2 = temp[1]; IAutoShape text2 = (IAutoShape)page2.Shapes[0]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc, item.ytcs[0]); DataTable dt_2 = new DataTable(); dt_2.Columns.Add(Base_Config_Jzgj.业态); dt_2.Columns.Add(Base_Config_Jzgj.项目名称); dt_2.Columns.Add("在售楼栋"); dt_2.Columns.Add("面积区间"); dt_2.Columns.Add(Base_Config_Jzgj.竞争格局_主力面积区间); dt_2.Columns.Add(Base_Config_Cjba.本周_备案套数); dt_2.Columns.Add(Base_Config_Cjba.本周_建面均价); dt_2.Columns.Add("总价范围"); dt_2.Columns.Add("主力总价"); dt_2.Columns.Add(Base_Config_Rgsj.本周_营销动作); //获取本案数据 if (item.jpxmlb != null && item.jpxmlb.Count > 0) { //获取竞品项目数据 dt_2 = GET_JPXM_BX_RG(dt_2, item.jpxmlb); Office_Tables.SetJP_JINHUIJIANBAO_1_Table(page2, dt_2, 1, null, null); t.AddClone(page2); } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_jinkeshichangzhoubao_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) { var tp = new Presentation(str); var temp = tp.Slides; if (item.ytcs.IsNotNull() && item.ytcs.Contains("商铺")) { var page1 = temp[1]; IAutoShape text1 = (IAutoShape)page1.Shapes[0]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, item.bamc); DataTable dt = new DataTable(); dt.Columns.Add(Base_Config_Jzgj.项目名称); dt.Columns.Add(Base_Config_Jzgj.业态); dt.Columns.Add(Base_Config_Cjba_Qn.全年_累计成交金额); dt.Columns.Add(Base_Config_Cjba.周_备案套数); dt.Columns.Add(Base_Config_Cjba.周_套内面积); dt.Columns.Add(Base_Config_Cjba.周_套内均价); dt.Columns.Add(Base_Config_Cjba.周_成交金额); dt.Columns.Add(Base_Config_Cjba.本周_备案套数); dt.Columns.Add(Base_Config_Cjba.本周_套内面积); dt.Columns.Add(Base_Config_Cjba.本周_套内均价); dt.Columns.Add(Base_Config_Cjba.本周_成交金额); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { //获取竞品项目数据 dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_JINKESHICHANGZHOUBAO_2_Table(page1, dt, 1, null, null); t.AddClone(page1); } } else { var page1 = temp[0]; IAutoShape text1 = (IAutoShape)page1.Shapes[0]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, item.bamc); DataTable dt = new DataTable(); dt.Columns.Add(Base_Config_Jzgj.项目名称); dt.Columns.Add(Base_Config_Jzgj.业态); dt.Columns.Add("可售存量"); dt.Columns.Add(Base_Config_Cjba_Qn.全年_累计成交建面); dt.Columns.Add(Base_Config_Cjba_Qn.全年_累计成交金额); dt.Columns.Add(Base_Config_Cjba_Qn.全年_累计套内均价); dt.Columns.Add(Base_Config_Cjba.周_备案套数); dt.Columns.Add(Base_Config_Cjba.周_套内面积); dt.Columns.Add(Base_Config_Cjba.周_套内均价); dt.Columns.Add(Base_Config_Cjba.周_成交金额); dt.Columns.Add(Base_Config_Cjba.本周_备案套数); dt.Columns.Add(Base_Config_Cjba.本周_套内面积); dt.Columns.Add(Base_Config_Cjba.本周_套内均价); dt.Columns.Add(Base_Config_Cjba.本周_成交金额); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { //获取竞品项目数据 dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_JINKESHICHANGZHOUBAO_1_Table(page1, dt, 1, null, null); t.AddClone(page1); } } } return(t); } catch (Exception e) { Base_Log.Log(e.StackTrace); return(null); } }
public ISlideCollection _plus_jp_beidaziyuan_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) { var tp = new Presentation(str); var temp = tp.Slides; if (item.qtcs != "住宅") { var page2 = temp[1]; #region 格局统计 DataTable dt = new DataTable(); dt.Columns.Add(Base_Config_Jzgj.项目名称); dt.Columns.Add(Base_Config_Jzgj.业态); dt.Columns.Add("在售楼栋");// dt.Columns.Add(Base_Config_Jzgj.竞争格局_主力面积区间); dt.Columns.Add(Base_Config_Rgsj.周_本周到访量); dt.Columns.Add(Base_Config_Cjba.周_备案套数); dt.Columns.Add(Base_Config_Rgsj.本周_本周到访量); dt.Columns.Add(Base_Config_Cjba.本周_备案套数); dt.Columns.Add(Base_Config_Cjba.本周_建面均价); dt.Columns.Add(Base_Config_Cjba_BY.本月_备案套数); dt.Columns.Add(Base_Config_Rgsj.本周_营销动作); IAutoShape text2 = (IAutoShape)page2.Shapes[0]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc); #endregion if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_BEIDAZIYUAN_PT_Table(page2, dt, 2, null, null); t.AddClone(page2); } } else { var page2 = temp[0]; #region 格局统计 DataTable dt = new DataTable(); dt.Columns.Add(Base_Config_Jzgj.项目名称); dt.Columns.Add(Base_Config_Jzgj.业态); dt.Columns.Add("在售楼栋");// 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("当月累计认购");//认购无时间字段,无法获取本月认购。 dt.Columns.Add("剩余套数"); dt.Columns.Add(Base_Config_Rgsj.本周_营销动作); IAutoShape text2 = (IAutoShape)page2.Shapes[0]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc); #endregion if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_BEIDAZIYUAN_PT_Table(page2, dt, 2, null, null); t.AddClone(page2); } } foreach (var page3 in _plus_jp_dyt_tgtp(item)) { t.AddClone(page3); } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); Base_Log.Log(e.StackTrace); return(null); } }
public System.Data.DataTable GET_JPXM_BX(System.Data.DataTable dt, List <JP_JPXM_INFO> jpxm) { foreach (var item in jpxm) { if (item.ytcs == null || item.ytcs.Length <= 0) { Base_Log.Log("业态参数为空!跳过!竞品项目ID:" + item.id); continue; } if (item.ytcs[0] == "别墅") { for (int i = 0; i < item.xfytcs.Length; i++) { //这里根据要求来设置(若不需要计算面积区间,这里需要注释) if (item.zlmjqj == null || item.zlmjqj.Length <= 0) { Base_Log.Log("主力面积区间为空!跳过!竞品项目ID:" + item.id); continue; } foreach (var mjitem in item.zlmjqj) { #region 计算主力面积区间 DataRow dr1 = dt.NewRow(); JP_JPXM_INFO jp = new JP_JPXM_INFO(); jp = item; jp.zlmjqj = new string[] { mjitem }; #endregion #region 数据准备 //竞品业态 var temp_rgsj_bz = Cache_data_rgsj.bz.AsEnumerable().Where(m => m["xm"].ToString() == item.lpcs[0] && m["yt"].ToString() == item.xfytcs[i]); var temp_rgsj_sz = Cache_data_rgsj.sz.AsEnumerable().Where(m => m["xm"].ToString() == item.lpcs[0] && m["yt"].ToString() == item.xfytcs[i]); //本周本案认购数据 var temp_ba_bz = temp_rgsj_bz.FirstOrDefault(); var temp_ba_sz = temp_rgsj_sz.FirstOrDefault(); #endregion dt.Rows.Add(GET_ROW(string.Join(",", item.ytcs), dr1, dt, temp_ba_bz, temp_ba_sz, null, null, jp)); } } } else if (item.ytcs[0] == "商务") { if (item.hxcs != null && item.hxcs.Length > 0) { for (int i = 0; i < item.hxcs.Length; i++) { //这里根据要求来设置(若不需要计算面积区间,这里需要注释) if (item.zlmjqj == null || item.zlmjqj.Length <= 0) { Base_Log.Log("主力面积区间为空!跳过!竞品项目ID:" + item.id); continue; } foreach (var mjitem in item.zlmjqj) { #region 计算主力面积区间 DataRow dr1 = dt.NewRow(); JP_JPXM_INFO jp = new JP_JPXM_INFO(); jp = item; jp.zlmjqj = new string[] { mjitem }; #endregion #region 数据准备 //竞品业态 var temp_rgsj_bz = Cache_data_rgsj.bz.AsEnumerable().Where(m => m["xm"].ToString() == item.lpcs[0] && m["yt"].ToString() == item.hxcs[i]); var temp_cjba_bz = Cache_data_cjjl.bz.AsEnumerable().Where(m => m["lpmc"].ToString() == item.lpcs[0] && m["hx"].ToString() == item.hxcs[i]); var temp_rgsj_sz = Cache_data_rgsj.sz.AsEnumerable().Where(m => m["xm"].ToString() == item.lpcs[0] && m["yt"].ToString() == item.hxcs[i]); var temp_cjba_sz = Cache_data_cjjl.bz.AsEnumerable().Where(m => m["lpmc"].ToString() == item.lpcs[0] && m["hx"].ToString() == item.hxcs[i]); var tempby = byba.AsEnumerable().Where(m => m["lpmc"].ToString() == item.lpcs[0] && m["yt"].ToString() == item.hxcs[i]); //本周本案认购数据 var temp_ba_bz = temp_rgsj_bz.FirstOrDefault(); var temp_ba_sz = temp_rgsj_sz.FirstOrDefault(); #endregion dt.Rows.Add(GET_ROW(item.hxcs[i], dr1, dt, temp_ba_bz, temp_ba_sz, temp_cjba_bz, temp_cjba_sz, tempby, jp)); } } } else if (item.xfytcs != null && item.xfytcs.Length > 0) { for (int i = 0; i < item.xfytcs.Length; i++) { //这里根据要求来设置(若不需要计算面积区间,这里需要注释) if (item.zlmjqj == null || item.zlmjqj.Length <= 0) { Base_Log.Log("主力面积区间为空!跳过!竞品项目ID:" + item.id); continue; } foreach (var mjitem in item.zlmjqj) { #region 计算主力面积区间 DataRow dr1 = dt.NewRow(); JP_JPXM_INFO jp = new JP_JPXM_INFO(); jp = item; jp.zlmjqj = new string[] { mjitem }; #endregion #region 数据准备 //竞品业态 var temp_rgsj_bz = Cache_data_rgsj.bz.AsEnumerable().Where(m => m["xm"].ToString() == item.lpcs[0] && m["yt"].ToString() == item.xfytcs[i]); var temp_cjba_bz = Cache_data_cjjl.bz.AsEnumerable().Where(m => m["lpmc"].ToString() == item.lpcs[0] && m["xfyt"].ToString() == item.xfytcs[i]); var temp_rgsj_sz = Cache_data_rgsj.sz.AsEnumerable().Where(m => m["xm"].ToString() == item.lpcs[0] && m["yt"].ToString() == item.xfytcs[i]); var temp_cjba_sz = Cache_data_cjjl.sz.AsEnumerable().Where(m => m["lpmc"].ToString() == item.lpcs[0] && m["xfyt"].ToString() == item.xfytcs[i]); var tempby = byba.AsEnumerable().Where(m => m["lpmc"].ToString() == item.lpcs[0] && m["xfyt"].ToString() == item.xfytcs[i]); //本周本案认购数据 var temp_ba_bz = temp_rgsj_bz.FirstOrDefault(); var temp_ba_sz = temp_rgsj_sz.FirstOrDefault(); #endregion dt.Rows.Add(GET_ROW(item.xfytcs[i], dr1, dt, temp_ba_bz, temp_ba_sz, temp_cjba_bz, temp_cjba_sz, tempby, jp)); } } } else { //这里根据要求来设置(若不需要计算面积区间,这里需要注释) if (item.zlmjqj == null || item.zlmjqj.Length <= 0) { Base_Log.Log("主力面积区间为空!跳过!竞品项目ID:" + item.id); continue; } foreach (var mjitem in item.zlmjqj) { #region 计算主力面积区间 DataRow dr1 = dt.NewRow(); JP_JPXM_INFO jp = new JP_JPXM_INFO(); jp = item; jp.zlmjqj = new string[] { mjitem }; #endregion #region 数据准备 //竞品业态 var temp_rgsj_bz = Cache_data_rgsj.bz.AsEnumerable().Where(m => m["xm"].ToString() == item.lpcs[0] && item.ytcs.Contains(m["yt"].ToString())); var temp_cjba_bz = Cache_data_cjjl.bz.AsEnumerable().Where(m => m["lpmc"].ToString() == item.lpcs[0] && item.ytcs.Contains(m["yt"].ToString())); var temp_rgsj_sz = Cache_data_rgsj.sz.AsEnumerable().Where(m => m["xm"].ToString() == item.lpcs[0] && item.ytcs.Contains(m["yt"].ToString())); var temp_cjba_sz = Cache_data_cjjl.sz.AsEnumerable().Where(m => m["lpmc"].ToString() == item.lpcs[0] && item.ytcs.Contains(m["yt"].ToString())); var tempby = byba.AsEnumerable().Where(m => m["lpmc"].ToString() == item.lpcs[0] && item.ytcs.Contains(m["yt"].ToString())); //本周本案认购数据 var temp_ba_bz = temp_rgsj_bz.FirstOrDefault(); var temp_ba_sz = temp_rgsj_sz.FirstOrDefault(); #endregion dt.Rows.Add(GET_ROW(string.Join(",", item.ytcs), dr1, dt, temp_ba_bz, temp_ba_sz, temp_cjba_bz, temp_cjba_sz, tempby, jp)); } } } else if (item.ytcs[0] == "商铺") { //这里根据要求来设置(若不需要计算面积区间,这里需要注释) if (item.zlmjqj == null || item.zlmjqj.Length <= 0) { Base_Log.Log("主力面积区间为空!跳过!竞品项目ID:" + item.id); continue; } foreach (var mjitem in item.zlmjqj) { #region 计算主力面积区间 DataRow dr1 = dt.NewRow(); JP_JPXM_INFO jp = new JP_JPXM_INFO(); jp = item; jp.zlmjqj = new string[] { mjitem }; #endregion #region 数据准备 //竞品业态 var temp_rgsj_bz = Cache_data_rgsj.bz.AsEnumerable().Where(m => m["xm"].ToString() == item.lpcs[0] && item.ytcs.Contains(m["yt"].ToString())); var temp_cjba_bz = Cache_data_cjjl.bz.AsEnumerable().Where(m => m["lpmc"].ToString() == item.lpcs[0] && item.ytcs.Contains(m["yt"].ToString())); var temp_rgsj_sz = Cache_data_rgsj.sz.AsEnumerable().Where(m => m["xm"].ToString() == item.lpcs[0] && item.ytcs.Contains(m["yt"].ToString())); var temp_cjba_sz = Cache_data_cjjl.sz.AsEnumerable().Where(m => m["lpmc"].ToString() == item.lpcs[0] && item.ytcs.Contains(m["yt"].ToString())); var tempby = byba.AsEnumerable().Where(m => m["lpmc"].ToString() == item.lpcs[0] && item.ytcs.Contains(m["yt"].ToString())); //本周本案认购数据 var temp_ba_bz = temp_rgsj_bz.FirstOrDefault(); var temp_ba_sz = temp_rgsj_sz.FirstOrDefault(); #endregion dt.Rows.Add(GET_ROW(string.Join(",", item.ytcs), dr1, dt, temp_ba_bz, temp_ba_sz, temp_cjba_bz, temp_cjba_sz, tempby, jp)); } } else { //这里根据要求来设置(若不需要计算面积区间,这里需要注释) if (item.zlmjqj == null || item.zlmjqj.Length <= 0) { Base_Log.Log("主力面积区间为空!跳过!竞品项目ID:" + item.id); continue; } foreach (var mjitem in item.zlmjqj) { #region 计算主力面积区间 DataRow dr1 = dt.NewRow(); JP_JPXM_INFO jp = new JP_JPXM_INFO(); jp = item; jp.zlmjqj = new string[] { mjitem }; #endregion #region 数据准备 //竞品业态 var temp_rgsj_bz = Cache_data_rgsj.bz.AsEnumerable().Where(m => m["xm"].ToString() == item.lpcs[0] && m["yt"].ToString() == item.ytcs[0]); var temp_rgsj_sz = Cache_data_rgsj.sz.AsEnumerable().Where(m => m["xm"].ToString() == item.lpcs[0] && m["yt"].ToString() == item.ytcs[0]); //本周本案认购数据 var temp_ba_bz = temp_rgsj_bz.FirstOrDefault(); var temp_ba_sz = temp_rgsj_sz.FirstOrDefault(); #endregion dt.Rows.Add(GET_ROW(string.Join(",", item.ytcs), dr1, dt, temp_ba_bz, temp_ba_sz, null, null, jp)); } } } return(dt); }
public ISlideCollection _plus_jp_huaqiaocheng_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); //#region P1 //foreach (var item in _plus_jp_dyt_jzgj(cjbh)) //{ // if (item != null) // t.AddClone(item); //} //#endregion foreach (var item in param) { var tp = new Presentation(str); var temp = tp.Slides; #region 竞品分布 foreach (var jpfb in _plus_jp_dyt_jzgj(item)) { t.AddClone(jpfb); } #endregion // t.AddClone(page1); #region 格局统计 var page1 = temp[0]; 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_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 text1 = (IAutoShape)page1.Shapes[4]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, item.bamc, item.ytcs[0]); dt = GET_JPXM_BX(dt, item.jpxmlb); #endregion if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_HuaQiaoCheng_Table(page1, dt, 2, null, null); t.AddClone(page1); } foreach (var page3 in _plus_jp_dyt_tgtp(item)) { t.AddClone(page3); } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_yangguang100ximalaya_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 _plus_jp_dyt_jzgj(cjbh)) { if (item != null) { t.AddClone(item); } } #region 竞争格局 foreach (var item in param) { var tp = new Presentation(str); var temp = tp.Slides; #region 格局图片 #endregion #region 格局统计 var page = temp[1]; IAutoShape text = (IAutoShape)page.Shapes[2]; text.TextFrame.Text = string.Format(text.TextFrame.Text, item.lpcs[0], item.ytcs[0]); 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_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_RUIAN_JPBX_Table(page, dt.AsEnumerable().OrderBy(m => m["jzgjmc"]).CopyToDataTable(), 4, null, null); t.AddClone(page); } #endregion #region 竞争格局 var page1 = temp[2]; IAutoShape text1 = (IAutoShape)page1.Shapes[1]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, item.lpcs[0], item.ytcs[0]); System.Data.DataTable dt1 = new System.Data.DataTable(); dt1.Columns.Add("xm"); dt1.Columns.Add("yt"); dt1.Columns.Add("yh"); dt1.Columns.Add("yxdz"); dt1.Columns.Add("xzjtyj"); dt1.Columns.Add("bkfs"); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_JQDZ(dt1, item.jpxmlb); Office_Tables.SetJP_RUIAN_JQHD_Table(page1, dt, 0, null, null); t.AddClone(page1); } #endregion #region 周度排名 ISlide sld1 = new Presentation(str).Slides[3]; t.AddClone(this._plus_jp_zdpm(sld1, item.bamc, new string[] { "高层" })); ISlide sld2 = new Presentation(str).Slides[3]; t.AddClone(this._plus_jp_zdpm(sld2, item.bamc, new string[] { "洋房", "别墅" })); ISlide sld3 = new Presentation(str).Slides[3]; t.AddClone(this._plus_jp_zdpm(sld3, item.bamc, new string[] { "商铺" })); #endregion } #endregion #region 推广图片 foreach (var item in _plus_jp_dyt_tgtp(cjbh)) { if (item != null) { t.AddClone(item); } } #endregion return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_shouchuang_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) { var tp = new Presentation(str); var temp = tp.Slides; #region 格局统计 DataTable dt = new DataTable(); if (item.ytcs[0] == "商铺" || item.ytcs[0] == "商务") { var page = temp[1]; dt.Columns.Add(Base_Config_Jzgj.竞争格局名称); 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_Cjba.周_备案套数); //上上上周_备案套数 dt.Columns.Add(Base_Config_Cjba.周_套内均价); //上上上周_套内均价 dt.Columns.Add(Base_Config_Cjba.周_备案套数); //上上周_备案套数 dt.Columns.Add(Base_Config_Cjba.周_套内均价); //上上周_套内均价 dt.Columns.Add(Base_Config_Cjba.周_备案套数); dt.Columns.Add(Base_Config_Cjba.周_建面均价); dt.Columns.Add(Base_Config_Cjba.本周_备案套数); dt.Columns.Add(Base_Config_Cjba.本周_建面均价); dt.Columns.Add(Base_Config_Rgsj.本周_变化原因); dt.Columns.Add(Base_Config_Rgsj.本周_营销动作); IAutoShape text2 = (IAutoShape)page.Shapes[0]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc, item.ytcs != null ? item.ytcs[0] : ""); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_ShouChuang_JPBX_swsp_Table(page, dt, 1, null, null); t.AddClone(page); } } else { var page = temp[0]; 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.周_认购套数); 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)page.Shapes[2]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc, item.ytcs != null ? item.ytcs[0] : ""); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_ShouChuang_JPBX_Table(page, dt, 1, null, null); t.AddClone(page); } } #endregion } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_nanquyingxiao_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 tp1 = new Presentation(str); var temp1 = tp1.Slides; #region 竞品首页 var page1 = temp1[0]; IAutoShape text1 = (IAutoShape)page1.Shapes[2]; text1.TextFrame.Text = string.Format(text1.TextFrame.Text, Base_date.GET_ZCMC(Base_date.bn, Base_date.bz)); #endregion t.AddClone(page1); #region 竞品分布 var page2 = temp1[1]; #endregion t.AddClone(page2); foreach (var item in param) { var tp = new Presentation(str); var temp = tp.Slides; t.AddClone(page2); var page3 = temp[3]; DataTable dt = new DataTable(); #region 格局统计 if (item.ytcs[0] == "商务" || item.ytcs[0] == "商铺") { 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.本周_变化原因); IAutoShape text2 = (IAutoShape)page2.Shapes[2]; 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_BiGuiYuan_JPBX_Table(page3, dt, 5, null, null); t.AddClone(page2); } } #endregion else { dt.Columns.Add(Base_Config_Jzgj.项目名称); dt.Columns.Add(Base_Config_Cjba.本周_建筑面积); dt.Columns.Add(Base_Config_Cjba.本周_建筑面积环比); dt.Columns.Add(Base_Config_Cjba.本周_备案套数); dt.Columns.Add(Base_Config_Cjba.本周_备案套数环比); dt.Columns.Add(Base_Config_Cjba.本周_建面均价); dt.Columns.Add(Base_Config_Cjba.本周_建面均价环比); dt.Columns.Add(Base_Config_Rgsj.本周_变化原因); IAutoShape text2 = (IAutoShape)page2.Shapes[2]; 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_BiGuiYuan_JPBX_Table(page3, dt, 5, null, null); t.AddClone(page2); } } } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
public ISlideCollection _plus_jp_zhaoshang_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) { var tp = new Presentation(str); var temp = tp.Slides; int[] index1 = { 1, 0 }; int[] index2 = { 2, 3 }; int[] index3 = { 4, 2, 1 }; int[] index4 = { 1, 0 }; Base_Log.Log("主团周度排名开始"); foreach (var qypm in ztzdpm(str, index1, index2, index3, index4, item.qycs[0])) { t.AddClone(qypm); } Base_Log.Log("主团周度排名结束"); #region 格局统计 Base_Log.Log("格局统计开始"); var page2 = temp[3]; 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_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.本周_变化原因); IAutoShape text2 = (IAutoShape)page2.Shapes[1]; text2.TextFrame.Text = string.Format(text2.TextFrame.Text, item.bamc, item.ytcs[0]); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt = GET_JPXM_BX(dt, item.jpxmlb); Office_Tables.SetJP_RUIAN_JPBX_Table(page2, dt, 2, null, null); t.AddClone(page2); } Base_Log.Log("格局统计结束"); Base_Log.Log("近期动作开始"); #endregion #region 近期动作 var page3 = temp[4]; IAutoShape text3 = (IAutoShape)page3.Shapes[0]; text3.TextFrame.Text = string.Format(text3.TextFrame.Text, item.bamc, item.ytcs[0]); DataTable dt1 = new DataTable(); dt1.Columns.Add(Base_Config_Jzgj.项目名称); dt1.Columns.Add(Base_Config_Rgsj.本周_优惠); dt1.Columns.Add(Base_Config_Rgsj.本周_营销动作); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt1 = GET_JPXM_BX(dt1, item.jpxmlb); Office_Tables.SetTable(page3, dt1, 1, null, null); } t.AddClone(page3); Base_Log.Log("近期动作开始"); #endregion } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }
//竞品分布 //组团周度排名 //组团业态周度排名 //组团近八周排名 //组团业态近近八周排名 public ISlideCollection _plus_jp_baoyi_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) { var tp = new Presentation(str); var temp = tp.Slides; var page2 = temp[1]; #region 本周主团项目排名 DataTable dt2 = new DataTable(); dt2.Columns.Add("排名"); dt2.Columns.Add("项目名称"); dt2.Columns.Add("成交套数"); dt2.Columns.Add("成交金额"); dt2.Columns.Add("建面体量"); dt2.Columns.Add("套内体量"); dt2.Columns.Add("建面均价"); dt2.Columns.Add("套内均价"); var data1 = (from a in Cache_data_cjjl.bz.AsEnumerable() where item.ztcs.Contains(a["zt"]) group a by new { lpmc = a["lpmc"] } into s select new { lpmc = s.Key.lpmc, ts = s.Sum(a => a["ts"].doubls()), cjje = s.Sum(a => a["cjje"].longs()), jmtl = s.Sum(a => a["jzmj"].doubls()), tntl = s.Sum(a => a["tnmj"].doubls()), }).OrderByDescending(m => m.cjje).Take(10).ToList(); for (int i = 0; i < data1.Count; i++) { DataRow dr2 = dt2.NewRow(); dr2["排名"] = i + 1; dr2["项目名称"] = data1[i].lpmc; dr2["成交套数"] = data1[i].ts; dr2["成交金额"] = data1[i].cjje.je_wy(); dr2["建面体量"] = data1[i].jmtl.mj_wf(); dr2["套内体量"] = data1[i].tntl.mj_wf(); dr2["建面均价"] = (data1[i].cjje / data1[i].jmtl).je_y(); dr2["套内均价"] = (data1[i].cjje / data1[i].tntl).je_y(); dt2.Rows.Add(dr2); } Office_Tables.SetTable(page2, dt2, 1, null, null); t.AddClone(page2); foreach (var yt in item.ytcs) { var tp1 = new Presentation(str); var temp1 = tp1.Slides; var page3 = temp1[1]; DataTable dt2_1 = new DataTable(); dt2_1.Columns.Add("排名"); dt2_1.Columns.Add("项目名称"); dt2_1.Columns.Add("成交套数"); dt2_1.Columns.Add("成交金额"); dt2_1.Columns.Add("建面体量"); dt2_1.Columns.Add("套内体量"); dt2_1.Columns.Add("建面均价"); dt2_1.Columns.Add("套内均价"); var data2_1 = (from a in Cache_data_cjjl.bz.AsEnumerable() where item.ztcs.Contains(a["zt"]) && a["yt"].ToString() == yt group a by new { lpmc = a["lpmc"] } into s select new { lpmc = s.Key.lpmc, ts = s.Sum(a => a["ts"].doubls()), cjje = s.Sum(a => a["cjje"].longs()), jmtl = s.Sum(a => a["jzmj"].doubls()), tntl = s.Sum(a => a["tnmj"].doubls()), }).OrderByDescending(m => m.cjje).ToList(); for (int i = 0; i < data2_1.Count; i++) { DataRow dr2_1 = dt2_1.NewRow(); dr2_1["排名"] = i + 1; dr2_1["项目名称"] = data2_1[i].lpmc; dr2_1["成交套数"] = data2_1[i].ts; dr2_1["成交金额"] = data2_1[i].cjje.je_wy(); dr2_1["建面体量"] = data2_1[i].jmtl.mj_wf(); dr2_1["套内体量"] = data2_1[i].tntl.mj_wf(); dr2_1["建面均价"] = (data2_1[i].cjje / data2_1[i].jmtl).je_y(); dr2_1["套内均价"] = (data2_1[i].cjje / data2_1[i].tntl).je_y(); dt2_1.Rows.Add(dr2_1); } Office_Tables.SetTable(page3, dt2_1, 1, null, null); t.AddClone(page3); } #endregion #region 组团近八周排名 int[] index1 = { 2, 3, 0, 1, 2 }; foreach (var ztpmitem in this.JBZ_ZT_PM(str, index1, item.ztcs)) { t.AddClone(ztpmitem); } int[] index2 = { 3, 3, 0, 1, 2 }; foreach (var ztytpmitem in this.JBZ_ZT_YT_PM(str, index2, item.ztcs, item.ytcs)) { t.AddClone(ztytpmitem); } #endregion #region 竞品表现 #region 认购 var page5 = temp[4]; DataTable dt5_0 = new DataTable(); dt5_0.Columns.Add(Base_Config_Jzgj.项目名称); dt5_0.Columns.Add(Base_Config_Jzgj.业态); dt5_0.Columns.Add(Base_Config_Rgsj.本周_新开套数); dt5_0.Columns.Add(Base_Config_Rgsj.本周_新开销售套数); dt5_0.Columns.Add(Base_Config_Rgsj.本周_新开建面均价); dt5_0.Columns.Add(Base_Config_Rgsj.本周_本周来电); dt5_0.Columns.Add(Base_Config_Rgsj.本周_本周到访量); dt5_0.Columns.Add(Base_Config_Rgsj.周_认购套数); dt5_0.Columns.Add(Base_Config_Rgsj.周_认购建面均价); dt5_0.Columns.Add(Base_Config_Rgsj.周_认购套数); dt5_0.Columns.Add(Base_Config_Rgsj.周_认购建面均价); dt5_0.Columns.Add(Base_Config_Rgsj.周_认购套数); dt5_0.Columns.Add(Base_Config_Rgsj.周_认购建面均价); dt5_0.Columns.Add(Base_Config_Rgsj.本周_认购套数); dt5_0.Columns.Add(Base_Config_Rgsj.本周_认购建面均价); dt5_0.Columns.Add("合计认购套数"); dt5_0.Columns.Add(Base_Config_Rgsj.本周_变化原因); IAutoShape text5_0 = (IAutoShape)page5.Shapes[0]; text5_0.TextFrame.Text = string.Format(text5_0.TextFrame.Text, item.bamc); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt5_0 = GET_JPXM_BX_RG(dt5_0, item.jpxmlb); Office_Tables.SetJP_baoyi_1_Table(page5, dt5_0, 1, null, null); t.AddClone(page5); } #endregion #region 备案 var page6 = temp[5]; DataTable dt6_0 = new DataTable(); dt6_0.Columns.Add(Base_Config_Jzgj.项目名称); dt6_0.Columns.Add(Base_Config_Jzgj.业态); dt6_0.Columns.Add(Base_Config_Jzgj.竞争格局_主力面积区间); dt6_0.Columns.Add("主力房型"); dt6_0.Columns.Add(Base_Config_Cjba.周_备案套数); dt6_0.Columns.Add(Base_Config_Cjba.周_建面均价); dt6_0.Columns.Add(Base_Config_Cjba.周_备案套数); dt6_0.Columns.Add(Base_Config_Cjba.周_建面均价); dt6_0.Columns.Add(Base_Config_Cjba.周_备案套数); dt6_0.Columns.Add(Base_Config_Cjba.周_建面均价); dt6_0.Columns.Add(Base_Config_Cjba.本周_备案套数); dt6_0.Columns.Add(Base_Config_Cjba.本周_建面均价); dt6_0.Columns.Add("合计认购套数"); dt6_0.Columns.Add("合计建面均价"); IAutoShape text6 = (IAutoShape)page6.Shapes[0]; text6.TextFrame.Text = string.Format(text6.TextFrame.Text, item.bamc); if (item.jpxmlb != null && item.jpxmlb.Count > 0) { dt6_0 = GET_JPXM_BX_BA(dt6_0, item.jpxmlb); Office_Tables.SetJP_baoyi_2_Table(page6, dt6_0, 1, null, null); t.AddClone(page6); } #endregion #endregion } return(t); } catch (Exception e) { Base_Log.Log(e.Message); return(null); } }