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("没有当前任务");
     }
 }
Beispiel #4
0
        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);
            }
        }
Beispiel #6
0
        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;
     }
 }
Beispiel #8
0
        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);
            }
        }
Beispiel #16
0
        /// <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);
            }
        }
Beispiel #20
0
        /// <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);
        }
Beispiel #25
0
        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);
            }
        }
Beispiel #28
0
        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);
            }
        }
Beispiel #29
0
        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);
            }
        }