Ejemplo n.º 1
0
        /// <summary>
        /// CRM13_2報表(列印鈕)-彙總表
        /// </summary>
        /// <param name="ParameterList">變數清單</param>
        /// <param name="ReportOutputFormat">報表格式(PDF,EXCEL)</param>
        /// <param name="EOT">匯出Excel方式</param>           
        /// <returns>回傳查詢結果</returns>
        public DataTable CRM13_2(ArrayList ParameterList,
                                 string ReportOutputFormat,
                                 ref ReportList.ExcelOtherType EOT
                                 )
        {

            #region
            CRMModel.QueryCRMRecordReport BCO = new CRMModel.QueryCRMRecordReport(ConntionDB);

            DataTable Dt = null;

            Dt = BCO.PrintSum(ParameterList);

            if (Dt == null || Dt.Rows.Count == 0)
            {
                throw new Exception("查無資料");
            }

            return Dt;
            #endregion
        }
Ejemplo n.º 2
0
    /// <summary>
    /// BUTTON 列印
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void but_Print_Click(object sender, EventArgs e)
    {
        #region
        try
        {
            #region 設定 hid_PageStauts 狀態

            this.hid_PageStauts.Value = "open";

            #endregion

            #region 檢查必填欄位是否輸入

            string sb = "";
            sb = CheckPage();
            if (sb != "")
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "隨便寫", sb, true);
                return;
            }

            #endregion

            if (this.rdb_Report_Status.SelectedValue == "0")//CRM13_客服線上服務明細表(報表格式)
            {
                #region
                #region 從資料庫讀取資料


                #region 組SQL字串

                System.Text.StringBuilder srb_SQL = new System.Text.StringBuilder();

                srb_SQL.Append(@"
select M.BUSDATE, M.CHAN_NO || SC.name as CHAN_NO,
       D.ONLINE_NO || C.EXPLAIN as ONLINE_NOANDNAME,
       M.STORE || S.STORE_NAME as STOREANDNAME, S.Z_O, RV.ROUTE as ROUTE_ID,
       RV.STEP as ROUTE_STEP,M.DEAL_CONTENT
from   VDS_CRM_RECORD_MAIN M, VDS_CRM_RECORD_DETL D, VDS_STM_STORECHAN SC,
       VDS_STM_STORE_UNIQUE S, SYS_CODE_DETL C, VDS_STM_ROUTE_STORE_VIEW RV
where  M.ID = D.PID
and    M.CHAN_NO = SC.CODE
and    C.SCODE = D.ONLINE_NO
and    C.CATEGORY = 'C1'
and    S.STORE = M.STORE and S.CHAN_NO =M.CHAN_NO
and    S.CHAN_NO = RV.CHAN_NO and S.STORE = RV.STORE
and    RV.EFF_START <= sysdate 
and    nvl(RV.EFF_END,to_date('99991231','YYYYMMDD')) > sysdate
            ");

                srb_SQL.Append(ToMakeSQL().ToString());

                srb_SQL.Append(" order by M.BUSDATE,M.CHAN_NO,D.ONLINE_NO");
                #endregion

                ArrayList ParameterList = new ArrayList();

                ParameterList.Clear();
                ParameterList.Add(srb_SQL.ToString());
                ParameterList.Add(Session["UID"].ToString());
                ParameterList.Add("CRM13_客服線上服務明細表(報表格式)");

                DataTable dt_Return = new DataTable();

                BCO.QueryCRMRecordReport bco = new BCO.QueryCRMRecordReport(ConntionDB);
                dt_Return = bco.PrintDetail(ParameterList);

                #endregion

                if (dt_Return.Rows.Count == 0)
                {
                    ScriptManager.RegisterStartupScript(this.up_ErrorMsg, typeof(UpdatePanel), "隨便寫", "alert('查無資料');", true);
                    return;
                }
                else
                {
                    #region 利用CrystalReport列印報表

                    Show_Report2(dt_Return, "Detail");
                    Session["Rpt_Data_Detail" + PageTimeStamp.Value] = dt_Return;

                    #endregion
                }
                #endregion
            }
            else if (this.rdb_Report_Status.SelectedValue == "1")//CRM13_客服線上服務彙總表(報表格式)
            {
                #region
                #region 從資料庫讀取資料


                #region 組SQL字串

                System.Text.StringBuilder srb_SQL = new System.Text.StringBuilder();

                srb_SQL.Append(@"
select D.ONLINE_NO || C.EXPLAIN as ONLINE_NOANDNAME, count(1) as count
from   VDS_CRM_RECORD_MAIN M, VDS_CRM_RECORD_DETL D, SYS_CODE_DETL C,
       VDS_STM_STORE_UNIQUE S
where  M.ID = D.PID
and    M.STORE = S.STORE
and    D.ONLINE_NO = C.SCODE
and    C.CATEGORY = 'C1'
            ");

                srb_SQL.Append(ToMakeSQL().ToString());
                srb_SQL.Append(" group by D.ONLINE_NO || C.EXPLAIN");
                srb_SQL.Append(" order by D.ONLINE_NO || C.EXPLAIN ");

                #endregion

                ArrayList ParameterList = new ArrayList();

                ParameterList.Clear();
                ParameterList.Add(srb_SQL.ToString());
                ParameterList.Add(Session["UID"].ToString());
                ParameterList.Add("CRM13_客服線上服務彙總表(報表格式)");

                DataTable dt_Return = new DataTable();

                BCO.QueryCRMRecordReport bco = new BCO.QueryCRMRecordReport(ConntionDB);
                dt_Return = bco.PrintSum(ParameterList);

                #endregion

                if (dt_Return.Rows.Count == 0)
                {
                    ScriptManager.RegisterStartupScript(this.up_ErrorMsg, typeof(UpdatePanel), "隨便寫", "alert('查無資料');", true);
                    return;
                }
                else
                {
                    #region CrystalReport列印報表

                    Show_Report2(dt_Return, "Gather");
                    Session["Rpt_Data_Gather" + PageTimeStamp.Value] = dt_Return;

                    #endregion
                }
                #endregion
            }

            #region 設定 hid_PageStauts 狀態

            #endregion
        }
        catch (Exception ex)
        {
            WaringLogProcess(ex.Message);
            this.ErrorMsgLabel.Text = ex.Message;
        }
        #endregion
    }