Ejemplo n.º 1
0
 public DataTable SelectEmployeesByID(Guid activity_id, string activity_type)
 {
     DAO.ActivityRegistDAO myActivityRegistDAO = new ACMS.DAO.ActivityRegistDAO();
     return(myActivityRegistDAO.SelectEmployeesByID(activity_id, activity_type));
 }
Ejemplo n.º 2
0
    //匯出名單
    protected void lbtnExport_Click(object sender, EventArgs e)
    {
        try
        {
            string activity_id   = GridView1.DataKeys[((sender as LinkButton).NamingContainer as GridViewRow).RowIndex].Values[0].ToString();
            string activity_type = GridView1.DataKeys[((sender as LinkButton).NamingContainer as GridViewRow).RowIndex].Values[1].ToString();

            //「匯出名單」的功能需帶出「報名編號(團隊編號)、部門、工號、姓名、分機、e-mail與額外填寫欄位」等欄位資訊

            DataTable table = new DataTable();

            ACMS.DAO.ActivityRegistDAO myActivityRegistDAO = new ACMS.DAO.ActivityRegistDAO();
            table = myActivityRegistDAO.SelectEmployeesByID(new Guid(activity_id), activity_type);
            if (table.Rows.Count == 0)
            {
                clsMyObj.ShowMessage("沒有資料");
                return;
            }


            DataTable dt = new DataTable();


            dt.Columns.Add("報名編號", System.Type.GetType("System.String"));
            dt.Columns.Add("部門代號", System.Type.GetType("System.String"));
            dt.Columns.Add("部門", System.Type.GetType("System.String"));
            dt.Columns.Add("工號", System.Type.GetType("System.String"));
            dt.Columns.Add("姓名", System.Type.GetType("System.String"));
            dt.Columns.Add("分機", System.Type.GetType("System.String"));
            dt.Columns.Add("EMAIL", System.Type.GetType("System.String"));
            dt.Columns.Add("進度狀態", System.Type.GetType("System.String"));
            //=================================================================
            ACMS.DAO.CustomFieldValueDAO myCustFieldValueDAO = new ACMS.DAO.CustomFieldValueDAO();


            List <ACMS.VO.CustomFieldValueVO> myCustomFieldValueVOList;
            if (table.Rows[0]["activity_type"].ToString() == "2")
            {
                myCustomFieldValueVOList = myCustFieldValueDAO.SelectCustomFieldValue(new Guid(table.Rows[0]["id"].ToString()), table.Rows[0]["boss_id"].ToString());
                dt.Columns.Add("隊名", System.Type.GetType("System.String"));
            }
            else
            {
                myCustomFieldValueVOList = myCustFieldValueDAO.SelectCustomFieldValue(new Guid(table.Rows[0]["id"].ToString()), table.Rows[0]["emp_id"].ToString());
            }
            dt.Columns.Add("身份證_護照", System.Type.GetType("System.String"));
            ACMS.BO.CustomFieldItemBO        myCustFieldItemBO = new ACMS.BO.CustomFieldItemBO();
            List <ACMS.VO.CustomFieldItemVO> myFieldVOS;
            foreach (ACMS.VO.CustomFieldValueVO custFieldVO in myCustomFieldValueVOList)
            {
                if (custFieldVO.field_control.ToLower() == "textbox")
                {
                    dt.Columns.Add(custFieldVO.field_name, System.Type.GetType("System.String"));
                }

                if (custFieldVO.field_control.ToLower() == "textboxlist")
                {
                    myFieldVOS = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id);
                    foreach (ACMS.VO.CustomFieldItemVO myFieldvo in myFieldVOS)
                    {
                        dt.Columns.Add(custFieldVO.field_name + '_' + myFieldvo.field_item_name, System.Type.GetType("System.Decimal"));
                    }
                    dt.Columns.Add(custFieldVO.field_name + "合計", System.Type.GetType("System.Decimal"));
                }
                if (custFieldVO.field_control.ToLower() == "radiobuttonlist")
                {
                    // dt.Columns.Add(custFieldVO.field_name, System.Type.GetType("System.String"));
                    myFieldVOS = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id);
                    foreach (ACMS.VO.CustomFieldItemVO myFieldvo in myFieldVOS)
                    {
                        dt.Columns.Add(custFieldVO.field_name + '_' + myFieldvo.field_item_name, System.Type.GetType("System.String"));
                    }
                }
                if (custFieldVO.field_control.ToLower() == "checkboxlist")
                {
                    //dt.Columns.Add(custFieldVO.field_name, System.Type.GetType("System.String"));
                    myFieldVOS = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id);
                    foreach (ACMS.VO.CustomFieldItemVO myFieldvo in myFieldVOS)
                    {
                        dt.Columns.Add(custFieldVO.field_name + '_' + myFieldvo.field_item_name, System.Type.GetType("System.String"));
                    }
                }
            }


            // dt.Columns.Add("自訂欄位", System.Type.GetType("System.String"));

            string  teamName = "";
            int     seqno    = 0;
            int     seqno1   = 0;
            DataRow dtDr;
            foreach (DataRow dr in table.Rows)
            {
                dtDr = dt.NewRow();
                if (dr["activity_type"].ToString() == "2")
                {
                    if (teamName != dr["boss_id"].ToString().Trim())
                    {
                        seqno++;
                    }
                    if (seqno > int.Parse(dr["team_max"].ToString()))
                    {
                        seqno1++;
                    }
                }
                else
                {
                    seqno++;
                    if (seqno > int.Parse(dr["team_max"].ToString()))
                    {
                        seqno1++;
                    }
                }
                if (seqno1 > 0)
                {
                    dtDr["報名編號"] = "備取:" + seqno1.ToString();
                }
                else
                {
                    dtDr["報名編號"] = "正取:" + seqno.ToString();
                }
                dtDr["部門代號"]   = dr["DEPT_ID"].ToString();
                dtDr["部門"]     = dr["C_DEPT_NAME"].ToString();
                dtDr["工號"]     = dr["WORK_ID"].ToString();
                dtDr["姓名"]     = dr["NATIVE_NAME"].ToString();
                dtDr["分機"]     = dr["OFFICE_PHONE"].ToString();
                dtDr["EMAIL"]  = dr["OFFICE_MAIL"].ToString();
                dtDr["進度狀態"]   = dr["check_status"].ToString();
                dtDr["身份證_護照"] = dr["idno"].ToString();
                if (dr["activity_type"].ToString() == "2")
                {
                    if (dr["boss_id"].ToString() != teamName)
                    {
                        // dtDr["自訂欄位"] = GetCustomField(dr["id"].ToString(), dr["boss_id"].ToString());
                        GetCustomFieldNew(dr["id"].ToString(), dr["boss_id"].ToString(), ref dtDr);
                        dtDr["隊名"] = dr["team_name"].ToString().Trim();
                    }


                    teamName = dr["boss_id"].ToString().Trim();
                }
                else
                {
                    // dtDr["自訂欄位"] = GetCustomField(dr["id"].ToString(), dr["emp_id"].ToString());
                    GetCustomFieldNew(dr["id"].ToString(), dr["emp_id"].ToString(), ref dtDr);
                }
                dt.Rows.Add(dtDr);
            }

            if (table != null && table.Rows.Count > 0)
            {
                table.Columns[0].ColumnName = "員工編號";
                table.Columns[1].ColumnName = "員工姓名";
                table.Columns[2].ColumnName = "員工部門";

                // 產生 Excel 資料流。
                //MemoryStream ms = DataTableRenderToExcel.RenderDataTableToExcel(table) as MemoryStream;
                MemoryStream ms = DataTableRenderToExcel.RenderDataTableToExcel(dt) as MemoryStream;
                // 設定強制下載標頭。
                Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", Server.UrlEncode("RegistedList")));
                // 輸出檔案。
                Response.BinaryWrite(ms.ToArray());

                ms.Close();
                ms.Dispose();
            }
            else
            {
                clsMyObj.ShowMessage("沒有資料!");
            }
        }
        catch (Exception ex)
        {
            WriteErrorLog("ExportExcel", ex.Message, "0");
        }
    }
Ejemplo n.º 3
0
 public DataTable SelectEmployeesByID(Guid activity_id, string activity_type)
 {
     DAO.ActivityRegistDAO myActivityRegistDAO = new ACMS.DAO.ActivityRegistDAO();
     return myActivityRegistDAO.SelectEmployeesByID(activity_id, activity_type);
 }