Пример #1
0
    public void SetResultListGrid()
    {
        _iestterm_ref_id      = PageUtility.GetIntByValueDropDownList(ddlEstTermInfo);
        _iresult_input_method = (ddlResultMethod.Items.Count > 0) ? ddlResultMethod.SelectedValue : "";
        _ikpi_code            = txtKPICode.Text.Trim();
        _ikpi_name            = txtKPIName.Text.Trim();
        _iemp_name            = txtChamName.Text.Trim();
        _iest_dept_id         = (ddlEstDept.Items.Count > 0 && ddlEstDept.SelectedValue != "") ? int.Parse(ddlEstDept.SelectedValue.ToString()) : 0;
        _ilogin_id            = gUserInfo.Emp_Ref_ID;
        _iymd = PageUtility.GetByValueDropDownList(ddlEstTermMonth, "");

        MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info objBSC = new MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info();
        DataSet ds = objBSC.GetKpiListForApproval(_iestterm_ref_id
                                                  , _iresult_input_method
                                                  , _ikpi_code
                                                  , _ikpi_name
                                                  , _iemp_name
                                                  , _iest_dept_id
                                                  , _iymd
                                                  , PageUtility.GetByValueDropDownList(ddlKpiGroupRefID)
                                                  , _ilogin_id
                                                  );

        ugrdKpiResultList.DataSource = ds;
        ugrdKpiResultList.DataBind();
    }
Пример #2
0
    public void DoBinding()
    {
        bool isAdmin       = false;
        bool isTeamManager = false;

        if (User.IsInRole(ROLE_ADMIN))
        {
            isAdmin = true;
        }
        if (User.IsInRole(ROLE_TEAM_MANAGER))
        {
            isTeamManager = true;
        }

        lblRowCount.Text = "0 / 0";
        MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info objBSC = new MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info();
        DataSet dsResult = objBSC.GetMboListForResultInput(this.IESTTERM_REF_ID
                                                           , PageUtility.GetByValueDropDownList(ddlEstTermMonth)
                                                           , txtKPICode.Text.Trim()
                                                           , txtKPIName.Text.Trim()
                                                           , txtChamName.Text.Trim()
                                                           , PageUtility.GetIntByValueDropDownList(ddlEstDept)
                                                           , PageUtility.GetByValueDropDownList(ddlKpiGroupRefID)
                                                           , PageUtility.GetIntByValueDropDownList(ddlKpiCategoryTop)
                                                           , PageUtility.GetIntByValueDropDownList(ddlKpiCategoryMid)
                                                           , PageUtility.GetIntByValueDropDownList(ddlKpiCategoryLow)
                                                           , gUserInfo.Emp_Ref_ID
                                                           , isAdmin
                                                           , isTeamManager
                                                           , BizUtility.GetDeptID(gUserInfo.Emp_Ref_ID));

        ugrdKpiResultList.DataSource = dsResult;
        ugrdKpiResultList.DataBind();
    }
Пример #3
0
    private void DoBindingList()
    {
        MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info objBSC = new MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info();
        DataSet ds = objBSC.GetKpiListPerUser(this.IESTTERM_REF_ID
                                              , ""
                                              , txtKPICode.Text.Trim()
                                              , txtKPIName.Text.Trim()
                                              , ""
                                              , txtChamName.Text.Trim()
                                              , (ddlComDept.SelectedValue.Trim() == "") ? -1 : int.Parse(ddlComDept.SelectedValue)
                                              , PageUtility.GetByValueDropDownList(ddlKpiGroupRefID)
                                              , "Y"
                                              , int.Parse(gUserInfo.Emp_Ref_ID.ToString()));

        if (ds.Tables[0].Rows.Count > 0)
        {
            MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Group objGroup = new MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Group();
            DataTable dtExists = objGroup.GetGroupMapList(this.IESTTERM_REF_ID, 0);

            if (dtExists.Rows.Count > 0)
            {
                foreach (DataRow dr in dtExists.Rows)
                {
                    DataRow[] drExists = ds.Tables[0].Select("KPI_REF_ID = " + DataTypeUtility.GetToInt32(dr["KPI_REF_ID"]));
                    if (drExists.Length > 0)
                    {
                        drExists[0].Delete();
                    }
                }
            }
        }
        ugrdKpiList.Clear();
        ugrdKpiList.DataSource = ds;
        ugrdKpiList.DataBind();
    }
Пример #4
0
    private void DataBinding()
    {
        int    _iestterm_ref_id      = (ddlEstTermInfo.Items.Count > 0) ? int.Parse(ddlEstTermInfo.SelectedValue) : 0;
        string _iresult_input_method = "";
        string _ikpi_code            = "";
        string _ikpi_name            = "";
        string _iemp_name            = "";
        int    _iest_dept_id         = 0;
        int    _ilogin_id            = gUserInfo.Emp_Ref_ID;
        string _itmcode = (ddlMonthInfo.Items.Count > 0) ? ddlMonthInfo.SelectedValue : "";

        MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info objBSC = new MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info();
        DataSet ds = objBSC.GetKpiListForResultInput(_iestterm_ref_id
                                                     , _iresult_input_method
                                                     , _ikpi_code
                                                     , _ikpi_name
                                                     , _iemp_name
                                                     , _iest_dept_id
                                                     , _itmcode
                                                     , ""
                                                     , ""
                                                     , _ilogin_id);

        cntKpi    = 0;
        cntEstKpi = 0;
        cntCfmKpi = 0;

        ugrdKpiResultList.DataSource = ds;
        ugrdKpiResultList.DataBind();
    }
Пример #5
0
    /// <summary>
    /// 하위 KPI 리스트
    /// </summary>
    private void SetKpiChildGrid()
    {
        MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info objBSC = new MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info();
        DataSet rDs = objBSC.GetKpiChildList(this.IEstTermRefID, int.Parse(this.ITreeSelValue));

        ugrdChildKpiList.Clear();
        ugrdChildKpiList.DataSource = rDs;
        ugrdChildKpiList.DataBind();
    }
Пример #6
0
        /// <summary>
        /// 가중치 입력과 둥시에 확정
        /// </summary>
        public bool UpdateMBOWeight(int emp_ref_id, DataTable dt, bool is_confirm)
        {
            MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info objBSC = new MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info();


            bool rtnValue    = false;
            int  affectedRow = 0;

            IDbConnection conn = DbAgentHelper.CreateDbConnection();

            conn.Open();
            IDbTransaction trx = conn.BeginTransaction();

            try
            {
                rtnValue = base.UpdateMBOWeight(conn, trx, emp_ref_id, dt);

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    int estterm_ref_id = DataTypeUtility.GetToInt32(dt.Rows[i]["ESTTERM_REF_ID"]);
                    int kpi_ref_id     = DataTypeUtility.GetToInt32(dt.Rows[i]["KPI_REF_ID"]);

                    affectedRow += objBSC.ConfirmMBO(estterm_ref_id, kpi_ref_id, is_confirm);
                }

                if (rtnValue && affectedRow == dt.Rows.Count)
                {
                    trx.Commit();
                }
                else
                {
                    trx.Rollback();
                    rtnValue = false;
                }
            }
            catch
            {
                trx.Rollback();
                rtnValue = false;
            }
            finally
            {
                conn.Close();
            }
            return(rtnValue);
        }
Пример #7
0
    private void DoBinding()
    {
        MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info objBSC = new MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info();

        string app_ref_id = string.Empty;

        foreach (string app1 in GetRequest("AVL").Split(','))
        {
            app_ref_id += app1.Split(';').GetValue(0).ToString() + ",";
        }
        if (!app_ref_id.Equals(""))
        {
            app_ref_id = app_ref_id.Substring(0, app_ref_id.Length - 1);
        }
        DataSet ds = objBSC.GetKpiListForBatchApproval(app_ref_id, gUserInfo.Emp_Ref_ID);

        ugrdDraft.Clear();
        ugrdDraft.DataSource = ds;
        ugrdDraft.DataBind();
    }
Пример #8
0
    private void DoBinding()
    {
        if (ddlDraftTerm.Items.Count < 1)
        {
            ltrScript.Text = JSHelper.GetAlertScript("등록된 평가기간이 없습니다.");
            return;
        }

        MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info objBSC = new MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info();

        DataSet ds = objBSC.GetKpiListForBatchDraft(DataTypeUtility.GetToInt32(PageUtility.GetIntByValueDropDownList(ddlDraftTerm))
                                                    , ddlDraftResultType.SelectedValue
                                                    , PageUtility.GetByValueDropDownList(ddlDraftKpiType)
                                                    , "Y"
                                                    , gUserInfo.Emp_Ref_ID
                                                    , "");

        ugrdDraft.Clear();
        ugrdDraft.DataSource = ds;
        ugrdDraft.DataBind();
    }
Пример #9
0
    public void SetResultListGrid()
    {
        _iestterm_ref_id      = PageUtility.GetIntByValueDropDownList(ddlEstTermInfo);
        _iresult_input_method = (ddlResultMethod.Items.Count > 0) ? ddlResultMethod.SelectedValue : "";
        _ikpi_code            = txtKPICode.Text.Trim();
        _ikpi_name            = txtKPIName.Text.Trim();
        _iemp_name            = txtChamName.Text.Trim();
        //_iest_dept_id         = (ddlEstDept.Items.Count > 0 && ddlEstDept.SelectedValue != "") ? int.Parse(ddlEstDept.SelectedValue.ToString()) : 0;
        _iest_dept_id = PageUtility.GetIntByValueDropDownList(ddlEstDept);
        _ilogin_id    = gUserInfo.Emp_Ref_ID;
        _iymd         = PageUtility.GetByValueDropDownList(ddlEstTermMonth, ""); // (ddlEstTermMonth.Items.Count > 0) ? ddlEstTermMonth.SelectedValue : "";

        //2011.08.18 허성덕과장 요청으로 관리자권한자에게는 모든 MBO 실적보이도록
        int isAdmin = 0;

        if (User.IsInRole(ROLE_ADMIN))
        {
            isAdmin = 1;
        }

        MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info objBSC = new MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info();
        DataSet ds = objBSC.GetKpiListForResultInput(_iestterm_ref_id
                                                     , _iresult_input_method
                                                     , _ikpi_code
                                                     , _ikpi_name
                                                     , _iemp_name
                                                     , _iest_dept_id
                                                     , _iymd
                                                     , PageUtility.GetByValueDropDownList(ddlKpiGroupRefID)
                                                     , "Y"
                                                     , _ilogin_id
                                                     , isAdmin
                                                     );

        ugrdKpiResultList.DataSource = ds;
        ugrdKpiResultList.DataBind();

        //this.SetDraftImage(ugrdKpiResultList);
    }
Пример #10
0
    /// <summary>
    /// 기안, 재기안, 수정기안
    /// </summary>
    public void SetDraft()
    {
        string KPI_REF_ID            = Request["KPI_REF_ID"].ToString();
        string ymd                   = GetRequest("YMD", "");
        Biz_Com_Approval_Info objApp = new Biz_Com_Approval_Info();
        bool blnRtn                  = false;
        //결재완결처리 결재선이 하나인경우 완결처리
        string sAppStatus = (ugrdAppLine.Rows.Count == 1) ? Biz_Type.app_status_complete : Biz_Type.app_status_draft;

        //기안
        if (this.IDraft_Status == Biz_Type.app_draft_first)         //최초기안
        {
            if (GetRequest("KPI_REF_ID", "").Split(',').Length < 1)
            {
                ltrScript.Text = JSHelper.GetAlertScript("결재처리할 KPI코드를 확인하세요!");
                return;
            }

            IDbConnection conn = MicroBSC.Data.DbAgentHelper.CreateDbConnection();
            conn.Open();
            IDbTransaction trx = conn.BeginTransaction();

            string strTermid = GetRequest("ESTTERM_REF_ID");

            //현재 시점에 결재여부 재확인
            MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info objkpi = new MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info();

            DataSet dsKPI = new DataSet();
            if (this.IBiz_Type == Biz_Type.biz_type_kpi_docbatch)
            {
                dsKPI = objkpi.GetKpiListForBatchDraft(DataTypeUtility.GetToInt32(strTermid)
                                                       , "", "", "Y", gUserInfo.Emp_Ref_ID, GetRequest("KPI_REF_ID"));
            }
            else if (this.IBiz_Type == Biz_Type.biz_type_kpi_rstbatch)
            {
                dsKPI = objkpi.GetKpiResultListForBatchDraft(DataTypeUtility.GetToInt32(strTermid)
                                                             , ymd, "", "", "Y", gUserInfo.Emp_Ref_ID, GetRequest("KPI_REF_ID"));
            }
            else if (this.IBiz_Type == Biz_Type.biz_type_target_resultbatch)
            {
                dsKPI = objkpi.GetKpiResultListForBatchDraft(DataTypeUtility.GetToInt32(strTermid)
                                                             , ymd, "", "", "N", gUserInfo.Emp_Ref_ID, GetRequest("KPI_REF_ID"));
            }
            if (dsKPI.Tables[0].Rows.Count > 0)
            {
                if (dsKPI.Tables[0].Rows.Count != KPI_REF_ID.Split(',').Length)
                {
                    trx.Rollback();
                    conn.Close();
                    conn.Dispose();
                    this.IApp_Ref_Id = 0;
                    this.IVersion_No = 0;
                    ltrScript.Text   = JSHelper.GetAlertScript("결재대상 KPI상태를 확인하세요!", true);
                    return;
                }
                if (dsKPI.Tables[0].Select("APP_STATUS NOT IN('NFT', 'MFT', 'AFT', 'RFT')").Length > 0)
                {
                    trx.Rollback();
                    conn.Close();
                    conn.Dispose();
                    this.IApp_Ref_Id = 0;
                    this.IVersion_No = 0;
                    ltrScript.Text   = JSHelper.GetAlertScript("결재대상 KPI상태를 확인하세요!", true);
                    return;
                }
            }
            else
            {
                trx.Rollback();
                conn.Close();
                conn.Dispose();
                this.IApp_Ref_Id = 0;
                this.IVersion_No = 0;
                ltrScript.Text   = JSHelper.GetAlertScript("결재대상 KPI상태를 확인하세요!", true);
                return;
            }

            foreach (string strKpiRefId in KPI_REF_ID.Split(','))
            {
                blnRtn = false;
                try
                {
                    NameValueCollection nvc = new NameValueCollection();
                    nvc.Add("ESTTERM_REF_ID", strTermid);
                    nvc.Add("KPI_REF_ID", strKpiRefId);
                    nvc.Add("YMD", ymd);
                    string strTitle = "";
                    if (this.IBiz_Type == Biz_Type.biz_type_kpi_docbatch)
                    {
                        blnRtn = objApp.GetOriDocTitle(Biz_Type.biz_type_kpi_doc, nvc, out strTitle);
                    }
                    else if (this.IBiz_Type == Biz_Type.biz_type_kpi_rstbatch)
                    {
                        blnRtn = objApp.GetOriDocTitle(Biz_Type.biz_type_kpi_rst, nvc, out strTitle);
                    }
                    else if (this.IBiz_Type == Biz_Type.biz_type_target_resultbatch)
                    {
                        blnRtn = objApp.GetOriDocTitle(Biz_Type.biz_type_target_result, nvc, out strTitle);
                    }
                    if (blnRtn)
                    {
                        txtTitle.Text = strTitle;
                    }
                    else
                    {
                        trx.Rollback();
                        conn.Close();
                        conn.Dispose();
                        this.IApp_Ref_Id = 0;
                        this.IVersion_No = 0;
                        ltrScript.Text   = JSHelper.GetAlertScript("결재처리 중 결재원문을 알수 없습니다.", true);
                        return;
                    }

                    string queryURL = string.Empty;

                    string strFullPath = "";
                    string strPath     = "";
                    string strParam    = string.Empty;

                    if (this.IBiz_Type == Biz_Type.biz_type_kpi_docbatch)
                    {
                        strParam = "ESTTERM_REF_ID=" + strTermid + "&KPI_REF_ID=" + strKpiRefId + "&BIZ_TYPE=" + Biz_Type.biz_type_kpi_doc + "&APP_REF_ID=0&DRAFT_EMP_ID=" + gUserInfo.Emp_Ref_ID.ToString();
                        strPath  = Biz_Com_Approval_Info.GetDraftPagePath(Biz_Type.biz_type_kpi_doc);
                    }
                    else if (this.IBiz_Type == Biz_Type.biz_type_kpi_rstbatch)
                    {
                        strParam = "ESTTERM_REF_ID=" + strTermid + "&KPI_REF_ID=" + strKpiRefId + "&YMD=" + ymd + "&BIZ_TYPE=" + Biz_Type.biz_type_kpi_rst + "&APP_REF_ID=0&DRAFT_EMP_ID=" + gUserInfo.Emp_Ref_ID.ToString();
                        strPath  = Biz_Com_Approval_Info.GetDraftPagePath(Biz_Type.biz_type_kpi_rst);
                    }
                    else if (this.IBiz_Type == Biz_Type.biz_type_target_resultbatch)
                    {
                        strParam = "ESTTERM_REF_ID=" + strTermid + "&KPI_REF_ID=" + strKpiRefId + "&YMD=" + ymd + "&BIZ_TYPE=" + Biz_Type.biz_type_target_result + "&APP_REF_ID=0&DRAFT_EMP_ID=" + gUserInfo.Emp_Ref_ID.ToString();
                        strPath  = Biz_Com_Approval_Info.GetDraftPagePath(Biz_Type.biz_type_kpi_rst);
                    }


                    string strVPath = Request.ApplicationPath;
                    string strSHost = Request.Url.Host;
                    string strSPort = Request.Url.Port.ToString();
                    string strProto = Request.Url.Scheme;

                    strVPath = (strVPath == "/") ? "" : strVPath;

                    strFullPath = strProto + "://" + strSHost + ":" + strSPort + strVPath + strPath + "?" + strParam;

                    string strHtml = Server.HtmlDecode(Biz_Com_Approval_Info.GetHtmlSource(strFullPath));
                    string strPos  = "{^0^}";
                    int    iSPos   = strHtml.IndexOf(strPos) + strPos.Length;
                    int    iEPos   = strHtml.LastIndexOf(strPos);

                    divArea_M.InnerHtml = strHtml.Substring(iSPos, iEPos - iSPos);

                    NameValueCollection nvc2 = new NameValueCollection();
                    nvc2.Add("ESTTERM_REF_ID", strTermid);
                    nvc2.Add("KPI_REF_ID", strKpiRefId);
                    if (this.IBiz_Type == Biz_Type.biz_type_kpi_docbatch)
                    {
                        nvc2.Add("BIZ_TYPE", Biz_Type.biz_type_kpi_doc);
                    }
                    else if (this.IBiz_Type == Biz_Type.biz_type_kpi_rstbatch)
                    {
                        nvc2.Add("BIZ_TYPE", Biz_Type.biz_type_kpi_rst);
                        nvc2.Add("YMD", ymd);
                    }
                    else if (this.IBiz_Type == Biz_Type.biz_type_target_resultbatch)
                    {
                        nvc2.Add("BIZ_TYPE", Biz_Type.biz_type_target_result);
                        nvc2.Add("YMD", ymd);
                    }
                    nvc2.Add("APP_REF_ID", "0");
                    nvc2.Add("DRAFT_EMP_ID", gUserInfo.Emp_Ref_ID.ToString());

                    if (this.IBiz_Type == Biz_Type.biz_type_kpi_docbatch)
                    {
                        blnRtn = objApp.TxrDraftBatch(conn, trx, Server.HtmlEncode(divArea_M.InnerHtml)
                                                      , txtTitle.Text
                                                      , Biz_Type.biz_type_kpi_doc
                                                      , sAppStatus
                                                      , Biz_Type.app_draft_first
                                                      , ""
                                                      , gUserInfo.Emp_Ref_ID
                                                      , this.GetAPPLine(), nvc2);
                    }
                    else if (this.IBiz_Type == Biz_Type.biz_type_kpi_rstbatch)
                    {
                        blnRtn = objApp.TxrDraftBatch(conn, trx, Server.HtmlEncode(divArea_M.InnerHtml)
                                                      , txtTitle.Text
                                                      , Biz_Type.biz_type_kpi_rst
                                                      , sAppStatus
                                                      , Biz_Type.app_draft_first
                                                      , ""
                                                      , gUserInfo.Emp_Ref_ID
                                                      , this.GetAPPLine(), nvc2);
                    }
                    else if (this.IBiz_Type == Biz_Type.biz_type_target_resultbatch)
                    {
                        blnRtn = objApp.TxrDraftBatch(conn, trx, Server.HtmlEncode(divArea_M.InnerHtml)
                                                      , txtTitle.Text
                                                      , Biz_Type.biz_type_target_result
                                                      , sAppStatus
                                                      , Biz_Type.app_draft_first
                                                      , ""
                                                      , gUserInfo.Emp_Ref_ID
                                                      , this.GetAPPLine(), nvc2);
                    }



                    if (!blnRtn)
                    {
                        trx.Rollback();
                        conn.Close();
                        conn.Dispose();
                        this.IApp_Ref_Id = 0;
                        this.IVersion_No = 0;
                        ltrScript.Text   = JSHelper.GetAlertScript("결재 일괄처리 중 오류가 발생하였습니다.");
                        ltrScript.Text   = JSHelper.GetAlertOpenerControlCallBackScript(objApp.Transaction_Message, this.IAPP_CCB, true);
                        return;
                    }

                    this.IApp_Ref_Id = objApp.IApp_Ref_Id;
                    this.IVersion_No = objApp.IVersion_No;
                    if (this.IHISTORY_YN == "Y")
                    {
                        DoInsertUpdateReason();
                    }
                }
                catch
                {
                    trx.Rollback();
                    conn.Close();
                    conn.Dispose();
                    this.IApp_Ref_Id = 0;
                    this.IVersion_No = 0;
                    ltrScript.Text   = JSHelper.GetAlertScript("결재 일괄처리 중 오류가 발생하였습니다.");
                    ltrScript.Text   = JSHelper.GetAlertOpenerControlCallBackScript(objApp.Transaction_Message, this.IAPP_CCB, true);
                    return;
                }
            }

            trx.Commit();
            conn.Close();
            conn.Dispose();

            try
            {
                bool bRtn = this.SendMailBatch(false);
            }
            catch
            {
            }

            ltrScript.Text = JSHelper.GetAlertOpenerControlCallBackScript(objApp.Transaction_Message, this.IAPP_CCB, true);
        }
        else
        {
            ltrScript.Text = JSHelper.GetAlertScript("결재형식이 올바르지 않습니다!");
            return;
        }
    }
Пример #11
0
    public bool SendMailBatch(bool isReturn)
    {
        if (PageUtility.GetAppConfig("Mail.UseDraftMailYN") == "N")
        {
            return(true);
        }

        string sC_EMP_MAIL = "";
        string sP_EMP_MAIL = "";
        string sN_EMP_MAIL = "";
        string sFile       = "Mail_Draft.htm";

        EmpInfos             objEmp = new EmpInfos(gUserInfo.Emp_Ref_ID);
        Biz_Com_Approval_Prc objPrc = new Biz_Com_Approval_Prc();
        bool bRtn = objPrc.GetSendMailUser(this.IApp_Ref_Id, this.IVersion_No, gUserInfo.Emp_Ref_ID, out sC_EMP_MAIL, out sP_EMP_MAIL, out sN_EMP_MAIL);

        if (!bRtn)
        {
            return(false);
        }

        if (isReturn && (!PageUtility.CheckMailAddress(sC_EMP_MAIL) || !PageUtility.CheckMailAddress(sN_EMP_MAIL)))
        {
            return(false);
        }

        if (!isReturn && (!PageUtility.CheckMailAddress(sC_EMP_MAIL) || !PageUtility.CheckMailAddress(sP_EMP_MAIL)))
        {
            return(false);
        }

        DataTable dtMailParam = new DataTable("PARAM");

        dtMailParam.Columns.Add("KEY", typeof(string));
        dtMailParam.Columns.Add("VAL", typeof(string));


        MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info objKPI = new MicroBSC.BSC.Biz.Biz_Bsc_Kpi_Info();
        DataTable dtKpi = new DataTable();

        if (this.IBiz_Type == Biz_Type.biz_type_kpi_docbatch)
        {
            dtKpi = objKPI.GetKpiListForBatchDraft(GetRequestByInt("ESTTERM_REF_ID"), "", "", "Y", gUserInfo.Emp_Ref_ID, GetRequest("KPI_REF_ID", "")).Tables[0];
        }
        else if (this.IBiz_Type == Biz_Type.biz_type_kpi_rstbatch)
        {
            dtKpi = objKPI.GetKpiResultListForBatchDraft(GetRequestByInt("ESTTERM_REF_ID"), GetRequest("YMD"), "", "", "Y", gUserInfo.Emp_Ref_ID, GetRequest("KPI_REF_ID")).Tables[0];
        }
        else if (this.IBiz_Type == Biz_Type.biz_type_target_resultbatch)
        {
            dtKpi = objKPI.GetKpiResultListForBatchDraft(GetRequestByInt("ESTTERM_REF_ID"), GetRequest("YMD"), "", "", "N", gUserInfo.Emp_Ref_ID, GetRequest("KPI_REF_ID")).Tables[0];
        }
        bool rtnValue = false;

        foreach (DataRow drKpi in dtKpi.Rows)
        {
            Biz_Com_Approval_Info objMst = new Biz_Com_Approval_Info(DataTypeUtility.GetToDecimal(drKpi["APP_REF_ID"]), 1);

            string strVPath = Request.ApplicationPath;
            string strSHost = Request.Url.Host;
            string strSPort = Request.Url.Port.ToString();
            string strProto = Request.Url.Scheme;
            strVPath = (strVPath == "/") ? "" : strVPath;

            string strFullPath = strProto + "://" + strSHost + ":" + strSPort + strVPath;

            DataRow dr = null;
            dr        = dtMailParam.NewRow();
            dr["KEY"] = "[SITE_URL]";
            dr["VAL"] = strFullPath;
            dtMailParam.Rows.Add(dr);

            dr        = dtMailParam.NewRow();
            dr["KEY"] = "[BIZ_TYPE]";
            dr["VAL"] = Biz_Com_Approval_Info.GetBizTypeName(Biz_Type.biz_type_kpi_doc);
            dtMailParam.Rows.Add(dr);

            dr        = dtMailParam.NewRow();
            dr["KEY"] = "[APP_CODE]";
            dr["VAL"] = objMst.IApp_Code;
            dtMailParam.Rows.Add(dr);

            dr        = dtMailParam.NewRow();
            dr["KEY"] = "[TITLE]";
            dr["VAL"] = objMst.ITitle;
            dtMailParam.Rows.Add(dr);

            dr        = dtMailParam.NewRow();
            dr["KEY"] = "[EMP_NAME]";
            dr["VAL"] = objEmp.Emp_Name;
            dtMailParam.Rows.Add(dr);

            dr        = dtMailParam.NewRow();
            dr["KEY"] = "[DEPT_NAME]";
            dr["VAL"] = objEmp.Dept_Name;
            dtMailParam.Rows.Add(dr);

            dr        = dtMailParam.NewRow();
            dr["KEY"] = "[TRX_DATE]";
            dr["VAL"] = objMst.IUpdate_Date.ToShortDateString();
            dtMailParam.Rows.Add(dr);

            dr        = dtMailParam.NewRow();
            dr["KEY"] = "[TODAY]";
            dr["VAL"] = DateTime.Now.ToString();
            dtMailParam.Rows.Add(dr);

            dr        = dtMailParam.NewRow();
            dr["KEY"] = "[DRAFT_TYPE]";
            dr["VAL"] = (isReturn) ? "반려" : "승인요청";
            dtMailParam.Rows.Add(dr);

            string sMailTitle = "";
            if (this.IBiz_Type == Biz_Type.biz_type_kpi_docbatch)
            {
                sMailTitle = "[성과관리 - " + Biz_Com_Approval_Info.GetBizTypeName(Biz_Type.biz_type_kpi_doc) + " 건 알림메일]";
            }
            else if (this.IBiz_Type == Biz_Type.biz_type_kpi_rstbatch)
            {
                sMailTitle = "[성과관리 - " + Biz_Com_Approval_Info.GetBizTypeName(Biz_Type.biz_type_kpi_rst) + " 건 알림메일]";
            }
            else if (this.IBiz_Type == Biz_Type.biz_type_target_resultbatch)
            {
                sMailTitle = "[성과관리 - " + Biz_Com_Approval_Info.GetBizTypeName(Biz_Type.biz_type_target_result) + " 건 알림메일]";
            }

            rtnValue = PageUtility.SendMail(dtMailParam, sC_EMP_MAIL, (isReturn) ? sN_EMP_MAIL : sP_EMP_MAIL, sMailTitle, sFile);
        }
        return(rtnValue);
    }