示例#1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     ConnectionString = new DatabaseHelper().Command.Connection.ConnectionString;
     kytController    = new KYTController(UpdatePanel1);
     kytController.SetAllViewType(KYTViewType.Input);
     //ktxtDOC_NBR.Text = "BPM210200019";
     //ktxtFieldID.Text = "SHERATON_REPAIR";
     ktxtValue_Ori.ReadOnly = true;
     if (!Page.IsPostBack)
     {
     }
 }
    /// <summary>
    /// 顯示時欄位初始值
    /// </summary>
    /// <param name="versionField">欄位集合</param>
    public override void SetField(Ede.Uof.WKF.Design.VersionField versionField)
    {
        FieldOptional fieldOptional = versionField as FieldOptional;

        if (fieldOptional != null)
        {
            #region ==============屬性說明==============『』
            //fieldOptional.IsRequiredField『是否為必填欄位,如果是必填(True),如果不是必填(False)』
            //fieldOptional.DisplayOnly『是否為純顯示,如果是(True),如果不是(False),一般在觀看表單及列印表單時,屬性為True』
            //fieldOptional.HasAuthority『是否有填寫權限,如果有填寫權限(True),如果沒有填寫權限(False)』
            //fieldOptional.FieldValue『如果已有人填寫過欄位,則此屬性為記錄其內容』
            //fieldOptional.FieldDefault『如果欄位有預設值,則此屬性為記錄其內容』
            //fieldOptional.FieldModify『是否允許修改,如果允許(fieldOptional.FieldModify=FieldModifyType.yes),如果不允許(fieldOptional.FieldModify=FieldModifyType.no)』
            //fieldOptional.Modifier『如果欄位有被修改過,則Modifier的內容為EBUser,如果沒有被修改過,則會等於Null』
            #endregion

            //#region ==============如果沒有填寫權限時,就要顯示有填寫權限人員的清單,只要把以下註解拿掉即可==============
            //if (!fieldOptional.HasAuthority『是否有填寫權限)
            //{
            //    string strItemName = String.Empty;
            //    Ede.Uof.EIP.Organization.Util.UserSet userSet = ((FieldOptional)versionField).FieldControlData;

            //    for (int i = 0; i < userSet.Items.Count; i++)
            //    {
            //        if (i == userSet.Items.Count - 1)
            //        {
            //            strItemName += userSet.Items[i].Name;
            //        }
            //        else
            //        {
            //            strItemName += userSet.Items[i].Name + "、";
            //        }
            //    }

            //    lblHasNoAuthority.ToolTip = lblAuthorityMsg.Text + ":" + strItemName;
            //}
            //#endregion

            #region ==============如果有修改,要顯示修改者資訊==============
            if (fieldOptional.Modifier != null)
            {
                lblModifier.Visible   = true;
                lblModifier.ForeColor = System.Drawing.Color.Red;
                lblModifier.Text      = String.Format("( {0}:{1} )", this.lblMsgSigner.Text, fieldOptional.Modifier.Name);
            }
            #endregion

            this.FormFieldMode = fieldOptional.FieldMode; // 記住本次 FieldMode

            // 初始化kytcontroller
            kytController = new KYTController(UpdatePanel1);

            // 取得資料庫連通字串
            ConnectionString = new DatabaseHelper().Command.Connection.ConnectionString;
            service          = ConstructorCommonSettings.setSCSSServiceProxDefault();

            if (!Page.IsPostBack) // 網頁首次載入
            {
                if (!string.IsNullOrEmpty(fieldOptional.FieldValue))
                {
                    kytController.FieldValue = fieldOptional.FieldValue;
                }

                kytController.SetAllViewType(KYTViewType.ReadOnly);  // 設定所有KYT物件唯讀
                btnCheck.Visible = false;                            // 隱藏檢查

                ConstructorCommonSettings.setCommonSettings();       // 設定DebugLog初始值

                switch (fieldOptional.FieldMode)                     // 判斷FieldMode
                {
                case FieldMode.Applicant:                            // 起單或退回申請者
                case FieldMode.ReturnApplicant:
                    hidAPIResult.Value = "";                         // 清掉先前的旗標
                    kytController.SetAllViewType(KYTViewType.Input); // 設定所有KYT物件可輸入
                    ktxtAPPLICANTDEPT.ReadOnly = true;               // 部門唯讀
                    ktxtAPPLICANTDATE.ReadOnly = true;               // 申請日期唯讀
                    ktxtAPPLICANT.ReadOnly     = true;               // 申請人唯讀
                    btnCheck.Visible           = true;               // 顯示檢查
                    if (this.FormFieldMode == FieldMode.Applicant)   // 剛起單
                    {
                        //EBUser user = new UserUCO().GetEBUser(this.ApplicantGuid);
                        KYT_EBUser KUser = new KYT_UserPO().GetUserDetailByUserGuid(this.ApplicantGuid); // 人員
                        ktxtAPPLICANTDEPT.Text           = KUser.GroupName[0];                           // 部門名稱
                        hidAPPLICANTDEPT.Value           = KUser.GroupID[0];                             // 部門代碼
                        hidAPPLICANTDEPT_GROUPCODE.Value = KUser.GroupCode[0];
                        if (string.IsNullOrEmpty(hidAPPLICANTDEPT_GROUPCODE.Value))                      // 如果UOF沒有維護GROUP_CODE,就呼叫WS取得
                        {
                            List <SCSHR.net.azurewebsites.scsservices_beta.FilterItem> lsItems = new List <SCSHR.net.azurewebsites.scsservices_beta.FilterItem>();
                            SCSHR.net.azurewebsites.scsservices_beta.FilterItem        item    = new SCSHR.net.azurewebsites.scsservices_beta.FilterItem();
                            item.FieldName   = "SYS_VIEWID";
                            item.FilterValue = KUser.Account;
                            lsItems.Add(item);
                            //filters.SetValue(item, 0);
                            Exception ex         = null;
                            DataTable dtEmployee = service.BOFind("HUM0020100", "*", lsItems.ToArray(), out ex);
                            if (dtEmployee.Rows.Count > 0)
                            {
                                if (dtEmployee.Columns.Contains("TMP_DEPARTID"))
                                {
                                    hidAPPLICANTDEPT_GROUPCODE.Value = dtEmployee.Rows[0]["TMP_DEPARTID"].ToString();
                                }
                            }
                        }
                        ktxtAPPLICANTDATE.Text    = DateTime.Now.ToString("yyyy/MM/dd");                    // 申請日期
                        ktxtAPPLICANT.Text        = string.Format(@"{0} ({1})", KUser.Name, KUser.Account); // 申請人姓名
                        hidAPPLICANT.Value        = KUser.UserGUID;                                         // 申請人代碼
                        hidAPPLICANTAccount.Value = KUser.Account;                                          // 申請人帳號
                        string[] sAccount = hidAPPLICANTAccount.Value.Split('\\');
                        hidAPPLICANTAccount.Value = sAccount[sAccount.Length - 1];
                        hidAPPLICANTGuid.Value    = KUser.UserGUID;  // 申請人Guid


                        kddlFOPUNCH_REASON.DataSource     = getFOPUNCHType(SCSHRConfiguration.SCSSPunchTypeProgID, "SYS_ViewID,SYS_Name,SYS_EngName");
                        kddlFOPUNCH_REASON.DataValueField = "SYS_VIEWID";
                        kddlFOPUNCH_REASON.DataTextField  = "SYS_NAME";
                        kddlFOPUNCH_REASON.DataBind();
                    }
                    // 設定Picker是否能輸入
                    kdtpFOPUNCH_TIME.TextBoxReadOnly     = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdtpFOPUNCH_TIME_OFF.TextBoxReadOnly = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";

                    #region 綁定上班補卡狀態

                    if (!string.IsNullOrEmpty(SCSHRConfiguration.FOPUNCH_TYPE))
                    {
                        DataTable dtSource = new DataTable();
                        dtSource.Columns.Add(new DataColumn("VALUE", typeof(string)));
                        dtSource.Columns.Add(new DataColumn("TEXT", typeof(string)));
                        DataRow ndr = dtSource.NewRow();
                        ndr["TEXT"]  = "====請選擇====";
                        ndr["VALUE"] = "";
                        dtSource.Rows.Add(ndr);
                        foreach (string _type in SCSHRConfiguration.FOPUNCH_TYPE.Split(","))
                        {
                            string typeName = "";
                            switch (_type)
                            {
                            case "2":
                                typeName = "刷卡上班";
                                break;

                            case "0":
                                typeName = "加班上班(前)";
                                break;

                            case "4":
                                typeName = "加班上班(後)";
                                break;
                            }
                            //kddlFOPUNCHTYPE.Items.Add(new ListItem(typeName, _type));
                            DataRow _ndr = dtSource.NewRow();
                            _ndr["TEXT"]  = typeName;
                            _ndr["VALUE"] = _type;
                            dtSource.Rows.Add(_ndr);
                        }
                        kddlFOPUNCHTYPE.DataSource     = dtSource;
                        kddlFOPUNCHTYPE.DataTextField  = "TEXT";
                        kddlFOPUNCHTYPE.DataValueField = "VALUE";
                        kddlFOPUNCHTYPE.DataBind();
                        kddlFOPUNCHTYPE.BindDataOnly = true;
                    }

                    #endregion 綁定上班補卡狀態

                    #region 綁定下班補卡狀態

                    if (!string.IsNullOrEmpty(SCSHRConfiguration.FOPUNCH_OFF_TYPE))
                    {
                        DataTable dtSource = new DataTable();
                        dtSource.Columns.Add(new DataColumn("VALUE", typeof(string)));
                        dtSource.Columns.Add(new DataColumn("TEXT", typeof(string)));
                        DataRow ndr = dtSource.NewRow();
                        ndr["TEXT"]  = "====請選擇====";
                        ndr["VALUE"] = "";
                        dtSource.Rows.Add(ndr);
                        foreach (string _type in SCSHRConfiguration.FOPUNCH_OFF_TYPE.Split(","))
                        {
                            string typeName = "";
                            switch (_type)
                            {
                            case "3":
                                typeName = "刷卡下班";
                                break;

                            case "1":
                                typeName = "加班下班(前)";
                                break;

                            case "5":
                                typeName = "加班下班(後)";
                                break;
                            }
                            //kddlFOPUNCHTYPE_OFF.Items.Add(new ListItem(typeName, _type));
                            DataRow _ndr = dtSource.NewRow();
                            _ndr["TEXT"]  = typeName;
                            _ndr["VALUE"] = _type;
                            dtSource.Rows.Add(_ndr);
                        }
                        kddlFOPUNCHTYPE_OFF.DataSource     = dtSource;
                        kddlFOPUNCHTYPE_OFF.DataTextField  = "TEXT";
                        kddlFOPUNCHTYPE_OFF.DataValueField = "VALUE";
                        kddlFOPUNCHTYPE_OFF.DataBind();
                        kddlFOPUNCHTYPE_OFF.BindDataOnly = true;
                    }

                    #endregion 綁定下班補卡狀態
                    break;

                case FieldMode.Design:     // 表單設計階段
                    break;

                case FieldMode.Signin:     // 表單簽核
                    if (taskObj != null &&
                        taskObj.CurrentSite != null &&
                        taskObj.CurrentSite.SiteCode == "HR")
                    {
                        kddlFOPUNCHTYPE.ViewType     = KYTViewType.Input; // 補上班卡狀態
                        kddlFOPUNCHTYPE_OFF.ViewType = KYTViewType.Input; // 補下班卡狀態
                    }
                    break;

                case FieldMode.Print:    // 表單列印
                case FieldMode.Verify:   // Verify
                case FieldMode.View:     // 表單觀看
                    //kddlFOPUNCHTYPE_SelectedIndexChanged(kddlFOPUNCHTYPE, null);
                    //kddlFOPUNCHTYPE_OFF_SelectedIndexChanged(kddlFOPUNCHTYPE_OFF, null);
                    break;
                }
                ktxtSignResult.ViewType = KYTViewType.ReadOnly;
            }
            else // 如果網頁POSTBACK
            {
                JGlobalLibs.WebUtils.RequestHiddenFields(UpdatePanel1); // 取回HiddenField的值
                switch (fieldOptional.FieldMode) // 判斷FieldMode
                {
                case FieldMode.Applicant:        // 起單或退回申請者
                case FieldMode.ReturnApplicant:
                    // 設定Picker是否能輸入
                    kdtpFOPUNCH_TIME.ViewType            = KYTViewType.Input;
                    kdtpFOPUNCH_TIME_OFF.ViewType        = KYTViewType.Input;
                    kdtpFOPUNCH_TIME.TextBoxReadOnly     = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdtpFOPUNCH_TIME_OFF.TextBoxReadOnly = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    break;
                }
            }
        }
    }
示例#3
0
    /// <summary>
    /// 顯示時欄位初始值
    /// </summary>
    /// <param name="versionField">欄位集合</param>
    public override void SetField(Ede.Uof.WKF.Design.VersionField versionField)
    {
        FieldOptional fieldOptional = versionField as FieldOptional;

        if (fieldOptional != null)
        {
            #region ==============屬性說明==============『』
            //fieldOptional.IsRequiredField『是否為必填欄位,如果是必填(True),如果不是必填(False)』
            //fieldOptional.DisplayOnly『是否為純顯示,如果是(True),如果不是(False),一般在觀看表單及列印表單時,屬性為True』
            //fieldOptional.HasAuthority『是否有填寫權限,如果有填寫權限(True),如果沒有填寫權限(False)』
            //fieldOptional.FieldValue『如果已有人填寫過欄位,則此屬性為記錄其內容』
            //fieldOptional.FieldDefault『如果欄位有預設值,則此屬性為記錄其內容』
            //fieldOptional.FieldModify『是否允許修改,如果允許(fieldOptional.FieldModify=FieldModifyType.yes),如果不允許(fieldOptional.FieldModify=FieldModifyType.no)』
            //fieldOptional.Modifier『如果欄位有被修改過,則Modifier的內容為EBUser,如果沒有被修改過,則會等於Null』
            #endregion

            //#region ==============如果沒有填寫權限時,就要顯示有填寫權限人員的清單,只要把以下註解拿掉即可==============
            //if (!fieldOptional.HasAuthority『是否有填寫權限)
            //{
            //    string strItemName = String.Empty;
            //    Ede.Uof.EIP.Organization.Util.UserSet userSet = ((FieldOptional)versionField).FieldControlData;

            //    for (int i = 0; i < userSet.Items.Count; i++)
            //    {
            //        if (i == userSet.Items.Count - 1)
            //        {
            //            strItemName += userSet.Items[i].Name;
            //        }
            //        else
            //        {
            //            strItemName += userSet.Items[i].Name + "、";
            //        }
            //    }

            //    lblHasNoAuthority.ToolTip = lblAuthorityMsg.Text + ":" + strItemName;
            //}
            //#endregion

            #region ==============如果有修改,要顯示修改者資訊==============
            if (fieldOptional.Modifier != null)
            {
                lblModifier.Visible   = true;
                lblModifier.ForeColor = System.Drawing.Color.Red;
                lblModifier.Text      = String.Format("( {0}:{1} )", this.lblMsgSigner.Text, fieldOptional.Modifier.Name);
            }
            #endregion

            this.FormFieldMode = fieldOptional.FieldMode; // 記住本次 FieldMode

            // 初始化kytcontroller
            kytController = new KYTController(UpdatePanel1);

            // 取得資料庫連通字串
            ConnectionString = new DatabaseHelper().Command.Connection.ConnectionString;
            service          = ConstructorCommonSettings.setSCSSServiceProxDefault();


            if (!Page.IsPostBack) // 網頁首次載入
            {
                if (!string.IsNullOrEmpty(fieldOptional.FieldValue))
                {
                    kytController.FieldValue = fieldOptional.FieldValue;
                }

                kytController.SetAllViewType(KYTViewType.ReadOnly);  // 設定所有KYT物件唯讀
                ConstructorCommonSettings.setCommonSettings();       // 設定DebugLog初始值
                btnDEPARTID.Visible = false;                         // 帳部部門
                btnPROFITID.Visible = false;                         // 利潤中心

                switch (fieldOptional.FieldMode)                     // 判斷FieldMode
                {
                case FieldMode.Applicant:                            // 起單或退回申請者
                case FieldMode.ReturnApplicant:
                    kytController.SetAllViewType(KYTViewType.Input); // 設定所有KYT物件可輸入
                    ktxtMessage.ViewType       = KYTViewType.ReadOnly;
                    ktxtAPPLICANTDATE.ReadOnly = true;               // 申請日期唯讀
                    ktxtAPPLICANTDEPT.ReadOnly = true;               // 部門唯讀
                    ktxtEMPLOYEE.ReadOnly      = true;               // 異動人員唯讀
                    btnDEPARTID.Visible        = true;               // 帳部部門
                    btnPROFITID.Visible        = true;               // 利潤中心
                    if (this.FormFieldMode == FieldMode.Applicant)
                    {
                        //EBUser user = new UserUCO().GetEBUser(this.ApplicantGuid); // 取得起單人資料
                        KYT_EBUser KUser = new KYT_UserPO().GetUserDetailByUserGuid(this.ApplicantGuid);     // 人員
                        ktxtAPPLICANTDATE.Text     = DateTime.Now.ToString("yyyy/MM/dd");                    // 設定申請日期
                        ktxtEMPLOYEE.Text          = string.Format(@"{0} ({1})", KUser.Name, KUser.Account); // 設定異動人員名稱
                        hidEMPLOYEEGuid.Value      = KUser.UserGUID;                                         // 設定異動人員代號
                        ktxtAPPLICANTDEPT.Text     = KUser.GroupName[0];                                     // 設定異動人員部門名稱
                        hidAPPLICANTDEPT.Value     = KUser.GroupID[0];                                       // 設定異動人員部門代號(UOF)
                        hidEMPLOYEETitleId.Value   = KUser.Title_ID[0];                                      // 設定異動人員職稱代號
                        hidEMPLOYEETitleName.Value = KUser.Title_Name[0];                                    // 設定異動人員職稱
                        hidEMPLOYEEAccount.Value   = KUser.Account;                                          // 設定異動人員帳號
                        string[] sAccount = hidEMPLOYEEAccount.Value.Split('\\');
                        hidEMPLOYEEAccount.Value = sAccount[sAccount.Length - 1];
                        hidGROUPCODE.Value       = KUser.GroupCode[0]; // 設定異動人員部門代號

                        #region 職務異動原因

                        DataTable dtEMPCHANGESource = getEMPCHANGEType(SCSHRConfiguration.SCSSReasonProdID, "SYS_ViewID,SYS_Name,FLAG");
                        // 新增請選擇選項
                        DataRow ndr = dtEMPCHANGESource.NewRow();
                        ndr["SYS_VIEWID"] = "";
                        ndr["SYS_NAME"]   = "===請選擇===";
                        dtEMPCHANGESource.Rows.InsertAt(ndr, 0);

                        kddlREASONID.DataSource     = dtEMPCHANGESource;
                        kddlREASONID.DataTextField  = "SYS_NAME";
                        kddlREASONID.DataValueField = "SYS_VIEWID";
                        kddlREASONID.DataBind();

                        #endregion 職務異動原因

                        #region 異動前職務資訊

                        using (SqlDataAdapter sda = new SqlDataAdapter(@"
                                -- 查詢申請者個人資訊
                                SELECT COMPANY_NO, OPTION2, OPTION3, OPTION4 
                                  FROM TB_EB_USER 
                                 WHERE USER_GUID = @USER_GUID

                                 -- 查詢申請者職稱
                                SELECT TITLE_NAME, TITLE_ID 
                                  FROM TB_EB_JOB_TITLE 
                                 WHERE TITLE_ID =(SELECT TOP 1 TITLE_ID 
					                                FROM TB_EB_EMPL_DEP 
				                                   WHERE USER_GUID = @USER_GUID 
				                                     AND GROUP_ID = @GROUP_ID)

                                -- 查詢申請者HR資訊
                                SELECT BU 
                                  FROM TB_EB_EMPL_HR
                                 WHERE USER_GUID = @USER_GUID
                                ", ConnectionString))
                            using (DataSet ds = new DataSet())
                            {
                                sda.SelectCommand.Parameters.AddWithValue("@USER_GUID", hidEMPLOYEEGuid.Value);
                                sda.SelectCommand.Parameters.AddWithValue("@GROUP_ID", hidAPPLICANTDEPT.Value);
                                try
                                {
                                    sda.Fill(ds);
                                    if (ds.Tables[0].Rows.Count > 0 &&
                                        ds.Tables[1].Rows.Count > 0)
                                    {
                                        DataRow drUser   = ds.Tables[0].Rows[0];
                                        DataRow drTitle  = ds.Tables[1].Rows[0];
                                        DataRow drEmplHr = ds.Tables[2].Rows[0];
                                        hidOCOMPANYID.Value   = drUser["COMPANY_NO"].ToString();      // 申報公司
                                        ktxtOCOMPANYNAME.Text = hidOCOMPANYID.Value;                  // 申報公司
                                        ktxtODEPARTNAME.Text  = KUser.GroupName[0];                   // 帳部部門
                                        hidODEPARTID.Value    = hidAPPLICANTDEPT.Value;               // 帳部部門
                                        //ktxtOPROFITNAME.Text = user.GroupName; // 利潤中心
                                        ktxtOPROFITNAME.Text      = drEmplHr["BU"].ToString();        // 利潤中心
                                        hidOPROFITID.Value        = drEmplHr["BU"].ToString();        // 利潤中心
                                        ktxtODUTYNAME.Text        = drTitle["TITLE_NAME"].ToString(); // 職稱
                                        hidODUTYID.Value          = drTitle["TITLE_ID"].ToString();   // 職稱
                                        ktxtOINSURANCESTATUS.Text = drUser["OPTION2"].ToString();     // 投保身份
                                        ktxtONotCutHIdentity.Text = drUser["OPTION3"].ToString();     // 免扣繳對象
                                        ktxtOIDYCLASSID.Text      = drUser["OPTION4"].ToString();     // 參考代碼
                                    }
                                }
                                catch (Exception e)
                                {
                                    DebugLog.Log(DebugLog.LogLevel.Error, string.Format(@"UC_KYTI_SCSHR_EMPCHANGE.異動前職務資訊.SELECT.ERROR:{0}", e.Message));
                                }
                            }
                        #endregion 異動前職務資訊

                        #region 異動後職務資訊
                        #region 申報公司
                        DataTable dtCompanyIDSource = getModifyType(SCSHRConfiguration.SCSSCompanyIDProdID, "SYS_ViewID,SYS_Name");
                        // 新增請選擇選項
                        ndr = dtCompanyIDSource.NewRow();
                        ndr["SYS_VIEWID"] = "";
                        ndr["SYS_NAME"]   = "===請選擇===";
                        dtCompanyIDSource.Rows.InsertAt(ndr, 0);

                        kddlCOMPANYID.DataSource     = dtCompanyIDSource;
                        kddlCOMPANYID.DataTextField  = "SYS_NAME";
                        kddlCOMPANYID.DataValueField = "SYS_VIEWID";
                        kddlCOMPANYID.DataBind();
                        kddlCOMPANYID.SelectedValue = hidOCOMPANYID.Value;
                        #endregion 申報公司
                        ktxtDEPARTNAME.Text          = ktxtODEPARTNAME.Text; // 帳部部門
                        hidDEPARTID.Value            = hidODEPARTID.Value;   // 帳部部門
                        hidPROFITID.Value            = hidOPROFITID.Value;   // 利潤中心
                        kddlPROFITNAME.SelectedValue = hidOPROFITID.Value;   // 利潤中心
                        if (!string.IsNullOrEmpty(kddlPROFITNAME.SelectedValue))
                        {
                            ktxtOPROFITNAME.Text = kddlPROFITNAME.SelectedItem.Text; // 如果找的到利潤中心的名稱就改用名稱
                        }
                        ktxtPROFITNAME.Text = ktxtOPROFITNAME.Text;                  // 利潤中心

                        #region 職稱

                        DataTable dtTitleSource = getModifyType(SCSHRConfiguration.SCSSTitleProdID, "SYS_ViewID,SYS_Name");
                        // 新增請選擇選項
                        ndr = dtTitleSource.NewRow();
                        ndr["SYS_VIEWID"] = "";
                        ndr["SYS_NAME"]   = "===請選擇===";
                        dtTitleSource.Rows.InsertAt(ndr, 0);

                        kddlDUTYID.DataSource     = dtTitleSource;
                        kddlDUTYID.DataTextField  = "SYS_NAME";
                        kddlDUTYID.DataValueField = "SYS_VIEWID";
                        kddlDUTYID.DataBind();
                        kddlDUTYID.SelectedValue = hidODUTYID.Value;

                        #endregion 職稱

                        kddlINSURANCESTATUS.SelectedValue = ktxtOINSURANCESTATUS.Text;     // 投保身份
                        kddlNotCutHIdentity.SelectedValue = ktxtONotCutHIdentity.Text;     // 免扣繳對象

                        #region 參考代碼

                        DataTable dtIDYClassSource = getModifyType(SCSHRConfiguration.SCSSIDYClassIDProdID, "SYS_ViewID,SYS_Name");
                        // 新增請選擇選項
                        ndr = dtIDYClassSource.NewRow();
                        ndr["SYS_VIEWID"] = "";
                        ndr["SYS_NAME"]   = "===請選擇===";
                        dtIDYClassSource.Rows.InsertAt(ndr, 0);

                        kddlIDYCLASSID.DataSource     = dtIDYClassSource;
                        kddlIDYCLASSID.DataTextField  = "SYS_NAME";
                        kddlIDYCLASSID.DataValueField = "SYS_VIEWID";
                        kddlIDYCLASSID.DataBind();
                        kddlIDYCLASSID.SelectedValue = ktxtOIDYCLASSID.Text;

                        #endregion 參考代碼

                        #endregion 異動後職務資訊

                        //取得利潤中心
                        kddlPROFITNAME.DataSource     = getPROFITID(SCSHRConfiguration.SCSSPROFITID, "SYS_ViewID,SYS_Name");
                        kddlPROFITNAME.DataValueField = "SYS_VIEWID";
                        kddlPROFITNAME.DataTextField  = "SYS_NAME";
                        kddlPROFITNAME.DataBind();
                    }
                    // 設定Picker是否能輸入
                    kdpSTARTDATE.TextBoxReadOnly = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpENDDATE.TextBoxReadOnly   = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    break;

                case FieldMode.Design:     // 表單設計階段
                    break;

                case FieldMode.Print:     // 表單列印
                    break;

                case FieldMode.Signin:     // 表單簽核
                    break;

                case FieldMode.Verify:     // Verify
                    break;

                case FieldMode.View:     // 表單觀看

                    break;
                }
            }
            else // 如果網頁POSTBACK
            {
                JGlobalLibs.WebUtils.RequestHiddenFields(UpdatePanel1); // 取回HiddenField的值
                switch (fieldOptional.FieldMode) // 判斷FieldMode
                {
                case FieldMode.Applicant:        // 起單或退回申請者
                case FieldMode.ReturnApplicant:
                    // 設定Picker是否能輸入
                    kdpSTARTDATE.ViewType        = KYTViewType.Input;
                    kdpENDDATE.ViewType          = KYTViewType.Input;
                    kdpSTARTDATE.TextBoxReadOnly = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpENDDATE.TextBoxReadOnly   = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    break;
                }
            }
        }
    }
示例#4
0
    /// <summary>
    /// 顯示時欄位初始值
    /// </summary>
    /// <param name="versionField">欄位集合</param>
    public override void SetField(Ede.Uof.WKF.Design.VersionField versionField)
    {
        FieldOptional fieldOptional = versionField as FieldOptional;

        if (fieldOptional != null)
        {
            #region ==============屬性說明==============『』
            //fieldOptional.IsRequiredField『是否為必填欄位,如果是必填(True),如果不是必填(False)』
            //fieldOptional.DisplayOnly『是否為純顯示,如果是(True),如果不是(False),一般在觀看表單及列印表單時,屬性為True』
            //fieldOptional.HasAuthority『是否有填寫權限,如果有填寫權限(True),如果沒有填寫權限(False)』
            //fieldOptional.FieldValue『如果已有人填寫過欄位,則此屬性為記錄其內容』
            //fieldOptional.FieldDefault『如果欄位有預設值,則此屬性為記錄其內容』
            //fieldOptional.FieldModify『是否允許修改,如果允許(fieldOptional.FieldModify=FieldModifyType.yes),如果不允許(fieldOptional.FieldModify=FieldModifyType.no)』
            //fieldOptional.Modifier『如果欄位有被修改過,則Modifier的內容為EBUser,如果沒有被修改過,則會等於Null』
            #endregion

            //#region ==============如果沒有填寫權限時,就要顯示有填寫權限人員的清單,只要把以下註解拿掉即可==============
            //if (!fieldOptional.HasAuthority『是否有填寫權限)
            //{
            //    string strItemName = String.Empty;
            //    Ede.Uof.EIP.Organization.Util.UserSet userSet = ((FieldOptional)versionField).FieldControlData;

            //    for (int i = 0; i < userSet.Items.Count; i++)
            //    {
            //        if (i == userSet.Items.Count - 1)
            //        {
            //            strItemName += userSet.Items[i].Name;
            //        }
            //        else
            //        {
            //            strItemName += userSet.Items[i].Name + "、";
            //        }
            //    }

            //    lblHasNoAuthority.ToolTip = lblAuthorityMsg.Text + ":" + strItemName;
            //}
            //#endregion

            #region ==============如果有修改,要顯示修改者資訊==============
            if (fieldOptional.Modifier != null)
            {
                lblModifier.Visible   = true;
                lblModifier.ForeColor = System.Drawing.Color.Red;
                lblModifier.Text      = String.Format("( {0}:{1} )", this.lblMsgSigner.Text, fieldOptional.Modifier.Name);
            }
            #endregion

            this.FormFieldMode = fieldOptional.FieldMode; // 記住本次 FieldMode

            // 初始化kytcontroller
            kytController = new KYTController(UpdatePanel1);

            // 取得資料庫連通字串
            ConnectionString = new DatabaseHelper().Command.Connection.ConnectionString;
            service          = ConstructorCommonSettings.setSCSSServiceProxDefault();


            if (!Page.IsPostBack) // 網頁首次載入
            {
                if (!string.IsNullOrEmpty(fieldOptional.FieldValue))
                {
                    kytController.FieldValue = fieldOptional.FieldValue;
                }

                kytController.SetAllViewType(KYTViewType.ReadOnly);  // 設定所有KYT物件唯讀
                ConstructorCommonSettings.setCommonSettings();       // 設定DebugLog初始值

                switch (fieldOptional.FieldMode)                     // 判斷FieldMode
                {
                case FieldMode.Applicant:                            // 起單或退回申請者
                case FieldMode.ReturnApplicant:
                    kytController.SetAllViewType(KYTViewType.Input); // 設定所有KYT物件可輸入
                    ktxtMessage.ViewType       = KYTViewType.ReadOnly;
                    ktxtAPPLICANTDATE.ReadOnly = true;               // 申請日期唯讀
                    ktxtAPPLICANTDEPT.ReadOnly = true;               // 部門唯讀
                    ktxtEMPLOYEE.ReadOnly      = true;               // 異動人員唯讀

                    if (this.FormFieldMode == FieldMode.Applicant)
                    {
                        //EBUser user = new UserUCO().GetEBUser(this.ApplicantGuid);
                        KYT_EBUser KUser = new KYT_UserPO().GetUserDetailByUserGuid(this.ApplicantGuid);     // 人員
                        ktxtAPPLICANTDATE.Text     = DateTime.Now.ToString("yyyy/MM/dd");                    // 設定申請日期
                        ktxtEMPLOYEE.Text          = string.Format(@"{0} ({1})", KUser.Name, KUser.Account); // 設定異動人員名稱
                        hidEMPLOYEEGuid.Value      = KUser.UserGUID;                                         // 設定異動人員代號
                        ktxtAPPLICANTDEPT.Text     = KUser.GroupName[0];                                     // 設定異動人員部門名稱
                        hidAPPLICANTDEPT.Value     = KUser.GroupID[0];                                       // 設定異動人員部門代號(UOF)
                        hidEMPLOYEETitleId.Value   = KUser.Title_ID[0];                                      // 設定異動人員職稱代號
                        hidEMPLOYEETitleName.Value = KUser.Title_Name[0];                                    // 設定異動人員職稱
                        hidEMPLOYEEAccount.Value   = KUser.Account;                                          // 設定異動人員帳號
                        string[] sAccount = hidEMPLOYEEAccount.Value.Split('\\');
                        hidEMPLOYEEAccount.Value = sAccount[sAccount.Length - 1];
                        hidGROUPCODE.Value       = KUser.GroupCode[0]; // 設定異動人員部門代號

                        #region 申報公司

                        DataTable dtCompanyIDSource = getModifyType(SCSHRConfiguration.SCSSCompanyIDProdID, "SYS_ViewID,SYS_Name");
                        // 新增請選擇選項
                        DataRow ndr = dtCompanyIDSource.NewRow();
                        ndr["SYS_VIEWID"] = "";
                        ndr["SYS_NAME"]   = "===請選擇===";
                        dtCompanyIDSource.Rows.InsertAt(ndr, 0);

                        kddlCOMPANYID.DataSource     = dtCompanyIDSource;
                        kddlCOMPANYID.DataTextField  = "SYS_NAME";
                        kddlCOMPANYID.DataValueField = "SYS_VIEWID";
                        kddlCOMPANYID.DataBind();

                        #endregion 申報公司

                        kdpSTARTDATE.Text   = ktxtAPPLICANTDATE.Text;   // 到職日期,預設為今日
                        kdpTRIALDATE.Text   = ktxtAPPLICANTDATE.Text;   // 試用/約聘期滿日,預設為今日
                        kdpSSTARTDATE.Text  = ktxtAPPLICANTDATE.Text;   // (特休)年資起始日,預設為今日
                        kdpGARRIVEDATE.Text = ktxtAPPLICANTDATE.Text;   // 到集團日,預設為今日

                        #region 職稱

                        DataTable dtTitleSource = getModifyType(SCSHRConfiguration.SCSSTitleProdID, "SYS_ViewID,SYS_Name");
                        // 新增請選擇選項
                        ndr = dtTitleSource.NewRow();
                        ndr["SYS_VIEWID"] = "";
                        ndr["SYS_NAME"]   = "===請選擇===";
                        dtTitleSource.Rows.InsertAt(ndr, 0);

                        kddlDUTYID.DataSource     = dtTitleSource;
                        kddlDUTYID.DataTextField  = "SYS_NAME";
                        kddlDUTYID.DataValueField = "SYS_VIEWID";
                        kddlDUTYID.DataBind();

                        #endregion 職稱

                        #region 參考代碼

                        DataTable dtIDYClassSource = getModifyType(SCSHRConfiguration.SCSSIDYClassIDProdID, "SYS_ViewID,SYS_Name");
                        // 新增請選擇選項
                        ndr = dtIDYClassSource.NewRow();
                        ndr["SYS_VIEWID"] = "";
                        ndr["SYS_NAME"]   = "===請選擇===";
                        dtIDYClassSource.Rows.InsertAt(ndr, 0);

                        kddlIDYCLASSID.DataSource     = dtIDYClassSource;
                        kddlIDYCLASSID.DataTextField  = "SYS_NAME";
                        kddlIDYCLASSID.DataValueField = "SYS_VIEWID";
                        kddlIDYCLASSID.DataBind();

                        #endregion 參考代碼
                        //取得利潤中心
                        kddlPROFITNAME.DataSource     = getPROFITID(SCSHRConfiguration.SCSSPROFITID, "SYS_ViewID,SYS_Name");
                        kddlPROFITNAME.DataValueField = "SYS_VIEWID";
                        kddlPROFITNAME.DataTextField  = "SYS_NAME";
                        kddlPROFITNAME.DataBind();
                    }
                    // 設定Picker是否能輸入
                    kdpSTARTDATE.TextBoxReadOnly   = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpTRIALDATE.TextBoxReadOnly   = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpSSTARTDATE.TextBoxReadOnly  = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpGARRIVEDATE.TextBoxReadOnly = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    break;

                case FieldMode.Design:     // 表單設計階段
                    break;

                case FieldMode.Print:     // 表單列印
                    break;

                case FieldMode.Signin:     // 表單簽核
                    break;

                case FieldMode.Verify:     // Verify
                    break;

                case FieldMode.View:     // 表單觀看
                    break;
                }
            }
            else // 如果網頁POSTBACK
            {
                JGlobalLibs.WebUtils.RequestHiddenFields(UpdatePanel1); // 取回HiddenField的值

                switch (fieldOptional.FieldMode) // 判斷FieldMode
                {
                case FieldMode.Applicant:        // 起單或退回申請者
                case FieldMode.ReturnApplicant:
                    // 設定Picker是否能輸入
                    kdpSTARTDATE.ViewType          = KYTViewType.Input;
                    kdpTRIALDATE.ViewType          = KYTViewType.Input;
                    kdpSSTARTDATE.ViewType         = KYTViewType.Input;
                    kdpGARRIVEDATE.ViewType        = KYTViewType.Input;
                    kdpSTARTDATE.TextBoxReadOnly   = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpTRIALDATE.TextBoxReadOnly   = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpSSTARTDATE.TextBoxReadOnly  = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpGARRIVEDATE.TextBoxReadOnly = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    break;
                }
            }
        }
    }
    /// <summary>
    /// 顯示時欄位初始值
    /// </summary>
    /// <param name="versionField">欄位集合</param>
    public override void SetField(Ede.Uof.WKF.Design.VersionField versionField)
    {
        FieldOptional fieldOptional = versionField as FieldOptional;

        if (fieldOptional != null)
        {
            #region ==============屬性說明==============『』
            //fieldOptional.IsRequiredField『是否為必填欄位,如果是必填(True),如果不是必填(False)』
            //fieldOptional.DisplayOnly『是否為純顯示,如果是(True),如果不是(False),一般在觀看表單及列印表單時,屬性為True』
            //fieldOptional.HasAuthority『是否有填寫權限,如果有填寫權限(True),如果沒有填寫權限(False)』
            //fieldOptional.FieldValue『如果已有人填寫過欄位,則此屬性為記錄其內容』
            //fieldOptional.FieldDefault『如果欄位有預設值,則此屬性為記錄其內容』
            //fieldOptional.FieldModify『是否允許修改,如果允許(fieldOptional.FieldModify=FieldModifyType.yes),如果不允許(fieldOptional.FieldModify=FieldModifyType.no)』
            //fieldOptional.Modifier『如果欄位有被修改過,則Modifier的內容為EBUser,如果沒有被修改過,則會等於Null』
            #endregion

            //#region ==============如果沒有填寫權限時,就要顯示有填寫權限人員的清單,只要把以下註解拿掉即可==============
            //if (!fieldOptional.HasAuthority『是否有填寫權限)
            //{
            //    string strItemName = String.Empty;
            //    Ede.Uof.EIP.Organization.Util.UserSet userSet = ((FieldOptional)versionField).FieldControlData;

            //    for (int i = 0; i < userSet.Items.Count; i++)
            //    {
            //        if (i == userSet.Items.Count - 1)
            //        {
            //            strItemName += userSet.Items[i].Name;
            //        }
            //        else
            //        {
            //            strItemName += userSet.Items[i].Name + "、";
            //        }
            //    }

            //    lblHasNoAuthority.ToolTip = lblAuthorityMsg.Text + ":" + strItemName;
            //}
            //#endregion

            #region ==============如果有修改,要顯示修改者資訊==============
            if (fieldOptional.Modifier != null)
            {
                lblModifier.Visible   = true;
                lblModifier.ForeColor = System.Drawing.Color.Red;
                lblModifier.Text      = String.Format("( {0}:{1} )", this.lblMsgSigner.Text, fieldOptional.Modifier.Name);
            }
            #endregion

            this.FormFieldMode = fieldOptional.FieldMode; // 記住本次 FieldMode

            // 初始化kytcontroller
            kytController = new KYTController(UpdatePanel1);

            // 取得資料庫連通字串
            ConnectionString = new DatabaseHelper().Command.Connection.ConnectionString;

            // 取得資料庫連通字串
            ConnectionString = new DatabaseHelper().Command.Connection.ConnectionString;
            service          = ConstructorCommonSettings.setSCSSServiceProxDefault();

            if (!Page.IsPostBack) // 網頁首次載入
            {
                if (!string.IsNullOrEmpty(fieldOptional.FieldValue))
                {
                    kytController.FieldValue = fieldOptional.FieldValue;
                }

                kytController.SetAllViewType(KYTViewType.ReadOnly); // 設定所有KYT物件唯讀
                ktxtNOTE.ViewType   = KYTViewType.Input;
                ktxtNOTE.ReadOnly   = true;
                btnRead.Visible     = false;                        // 隱藏讀取
                ibtnDOC_NBR.Visible = false;
                ConstructorCommonSettings.setCommonSettings();      // 設定DebugLog初始值

                switch (fieldOptional.FieldMode)                    // 判斷FieldMode
                {
                case FieldMode.Applicant:                           // 起單或退回申請者
                case FieldMode.ReturnApplicant:
                    hidAPIResult.Value         = "";                // 清掉先前的旗標
                    btnRead.Visible            = true;              // 顯示讀取
                    ibtnDOC_NBR.Visible        = true;
                    kddlOT_DOC_NBR.ViewType    = KYTViewType.Input; // 加班單單號可輸入
                    ktxtCANCEL_REASON.ViewType = KYTViewType.Input; // 銷班原因可輸入
                    if (this.FormFieldMode == FieldMode.Applicant)  // 如果是剛起單
                    {
                        //EBUser user = new UserUCO().GetEBUser(this.ApplicantGuid);
                        KYT_EBUser KUser = new KYT_UserPO().GetUserDetailByUserGuid(this.ApplicantGuid);     // 人員
                        hidApplicantGUID.Value = this.ApplicantGuid;
                        hidApplicantName.Value = KUser.Name;

                        DataTable dtSource = getOVERTIMEType(SCSHRConfiguration.SCSSOverTimeTypeProgID, "SYS_ViewID,SYS_Name,SYS_EngName");
                        kddlREMARK.DataSource     = dtSource;
                        kddlREMARK.DataValueField = "SYS_VIEWID";
                        kddlREMARK.DataTextField  = "SYS_NAME";
                        kddlREMARK.DataBind();
                    }
                    hidAPPLICANTDATE.Value = DateTime.Now.ToString("yyyy/MM/dd");     // 申請日期
                    //kddlOT_DOC_NBR.DataSource = getOverTimeData(hidApplicantGUID.Value);
                    //kddlOT_DOC_NBR.DataTextField = "SHOW";
                    //kddlOT_DOC_NBR.DataValueField = "DOC_NBR";
                    //kddlOT_DOC_NBR.DataBind();
                    kddlOT_DOC_NBR.Visible   = false;
                    ktxtDOC_NBR_Ori.ViewType = KYTViewType.Input;
                    ktxtDOC_NBR_Ori.ReadOnly = true;
                    Dialog.Open2(ibtnDOC_NBR, string.Format(@"~/CDS/SCSHR/WKFFields/QUERYWINDOWS/Search_OT_And_LEA_Form.aspx"), "查詢加班單號", 850, 600, Dialog.PostBackType.AfterReturn, new { FROM_TYPE = "OVER_TIME", USER_GUID = hidApplicantGUID.Value }.ToExpando());

                    btnRead_Click(btnRead, null);
                    break;

                case FieldMode.Design:     // 表單設計階段
                    break;

                case FieldMode.Print:     // 表單列印
                    break;

                case FieldMode.Signin:     // 表單簽核
                    break;

                case FieldMode.Verify:     // Verify
                    break;

                case FieldMode.View:     // 表單觀看
                    break;
                }
            }
            else // 如果網頁POSTBACK
            {
                JGlobalLibs.WebUtils.RequestHiddenFields(UpdatePanel1); // 取回HiddenField的值
            }
        }
    }
    /// <summary>
    /// 顯示時欄位初始值
    /// </summary>
    /// <param name="versionField">欄位集合</param>
    public override void SetField(Ede.Uof.WKF.Design.VersionField versionField)
    {
        FieldOptional fieldOptional = versionField as FieldOptional;

        if (fieldOptional != null)
        {
            #region ==============屬性說明==============『』
            //fieldOptional.IsRequiredField『是否為必填欄位,如果是必填(True),如果不是必填(False)』
            //fieldOptional.DisplayOnly『是否為純顯示,如果是(True),如果不是(False),一般在觀看表單及列印表單時,屬性為True』
            //fieldOptional.HasAuthority『是否有填寫權限,如果有填寫權限(True),如果沒有填寫權限(False)』
            //fieldOptional.FieldValue『如果已有人填寫過欄位,則此屬性為記錄其內容』
            //fieldOptional.FieldDefault『如果欄位有預設值,則此屬性為記錄其內容』
            //fieldOptional.FieldModify『是否允許修改,如果允許(fieldOptional.FieldModify=FieldModifyType.yes),如果不允許(fieldOptional.FieldModify=FieldModifyType.no)』
            //fieldOptional.Modifier『如果欄位有被修改過,則Modifier的內容為EBUser,如果沒有被修改過,則會等於Null』
            #endregion

            //#region ==============如果沒有填寫權限時,就要顯示有填寫權限人員的清單,只要把以下註解拿掉即可==============
            //if (!fieldOptional.HasAuthority『是否有填寫權限)
            //{
            //    string strItemName = String.Empty;
            //    Ede.Uof.EIP.Organization.Util.UserSet userSet = ((FieldOptional)versionField).FieldControlData;

            //    for (int i = 0; i < userSet.Items.Count; i++)
            //    {
            //        if (i == userSet.Items.Count - 1)
            //        {
            //            strItemName += userSet.Items[i].Name;
            //        }
            //        else
            //        {
            //            strItemName += userSet.Items[i].Name + "、";
            //        }
            //    }

            //    lblHasNoAuthority.ToolTip = lblAuthorityMsg.Text + ":" + strItemName;
            //}
            //#endregion

            #region ==============如果有修改,要顯示修改者資訊==============
            if (fieldOptional.Modifier != null)
            {
                lblModifier.Visible   = true;
                lblModifier.ForeColor = System.Drawing.Color.Red;
                lblModifier.Text      = String.Format("( {0}:{1} )", this.lblMsgSigner.Text, fieldOptional.Modifier.Name);
            }
            #endregion

            this.FormFieldMode = fieldOptional.FieldMode; // 記住本次 FieldMode

            // 初始化kytcontroller
            kytController = new KYTController(UpdatePanel1);

            // 取得資料庫連通字串
            ConnectionString = new DatabaseHelper().Command.Connection.ConnectionString;
            service          = ConstructorCommonSettings.setSCSSServiceProxDefault();

            if (!Page.IsPostBack) // 網頁首次載入
            {
                if (!string.IsNullOrEmpty(fieldOptional.FieldValue))
                {
                    kytController.FieldValue = fieldOptional.FieldValue;
                }

                kytController.SetAllViewType(KYTViewType.ReadOnly);    // 設定所有KYT物件唯讀

                ConstructorCommonSettings.setCommonSettings();         // 設定DebugLog初始值
                switch (fieldOptional.FieldMode)                       // 判斷FieldMode
                {
                case FieldMode.Applicant:                              // 起單或退回申請者
                case FieldMode.ReturnApplicant:
                    kytController.SetAllViewType(KYTViewType.Input);   // 設定所有KYT物件可輸入
                    ktxtMessage.ViewType       = KYTViewType.ReadOnly;
                    ktxtAPPLICANTDATE.ReadOnly = true;                 // 申請日期唯讀
                    ktxtAPPLICANTDEPT.ReadOnly = true;                 // 部門唯讀
                    ktxtRESIGNEMP.ReadOnly     = true;                 // 離職人員唯讀
                    kdpESTIMATEBDATE.ViewType  = KYTViewType.Input;    // 預計復職日
                    kdpLSPAYDATE.ViewType      = KYTViewType.ReadOnly; // 最後計薪日
                    kdpPSTARTDATE.ViewType     = KYTViewType.ReadOnly; // 留停起算日
                    ktxtCHECKDOCUMENT.ViewType = KYTViewType.ReadOnly; // 檢核文件
                    kddlLPREPAYSTATUS.ViewType = KYTViewType.ReadOnly; // 勞保費預繳狀態
                    ktxtLPREPAYMONTH.ViewType  = KYTViewType.ReadOnly; // 勞保費預繳月份數
                    ktxtLPREPAYMONEY.ViewType  = KYTViewType.ReadOnly; // 勞保費預繳金額
                    kddlHPREPAYSTATUS.ViewType = KYTViewType.ReadOnly; // 健保費預繳狀態
                    ktxtHPREPAYMONTH.ViewType  = KYTViewType.ReadOnly; // 健保費預繳月份數
                    ktxtHPREPAYMONEY.ViewType  = KYTViewType.ReadOnly; // 健保費預繳金額

                    if (this.FormFieldMode == FieldMode.Applicant)
                    {
                        //EBUser user = new UserUCO().GetEBUser(this.ApplicantGuid);
                        KYT_EBUser KUser = new KYT_UserPO().GetUserDetailByUserGuid(this.ApplicantGuid);      // 人員
                        ktxtAPPLICANTDATE.Text      = DateTime.Now.ToString("yyyy/MM/dd");                    // 設定申請日期
                        ktxtRESIGNEMP.Text          = string.Format(@"{0} ({1})", KUser.Name, KUser.Account); // 設定請 離職人
                        hidRESIGNEMPGuid.Value      = KUser.UserGUID;
                        ktxtAPPLICANTDEPT.Text      = KUser.GroupName[0];                                     // 設定部門資訊
                        hidAPPLICANTDEPT.Value      = KUser.GroupID[0];
                        hidRESIGNEMPTitleId.Value   = KUser.Title_Name[0];
                        hidRESIGNEMPTitleName.Value = KUser.Title_ID[0];
                        hidRESIGNEMPAccount.Value   = KUser.Account;
                        string[] sAccount = hidRESIGNEMPAccount.Value.Split('\\');
                        hidRESIGNEMPAccount.Value = sAccount[sAccount.Length - 1];
                        hidGROUPCODE.Value        = KUser.GroupCode[0];

                        DataTable dtRESIGNSource = getRESIGNVEType(SCSHRConfiguration.SCSSReasonProdID, "SYS_ViewID,SYS_Name,FLAG");
                        // 新增請選擇選項
                        DataRow ndr = dtRESIGNSource.NewRow();
                        ndr["SYS_VIEWID"] = "";
                        ndr["SYS_NAME"]   = "===請選擇===";
                        dtRESIGNSource.Rows.InsertAt(ndr, 0);
                        // 綁定離職原因
                        kddlREASONID.DataSource     = dtRESIGNSource;
                        kddlREASONID.DataValueField = "SYS_VIEWID";
                        kddlREASONID.DataTextField  = "SYS_NAME";
                        kddlREASONID.DataBind();
                    }
                    // 設定Picker是否能輸入
                    kdpESTIMATEBDATE.TextBoxReadOnly  = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpLSPAYDATE.TextBoxReadOnly      = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpPESTIMATERDATE.TextBoxReadOnly = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpPSTARTDATE.TextBoxReadOnly     = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    break;

                case FieldMode.Design:     // 表單設計階段
                    break;

                case FieldMode.Print:     // 表單列印
                    break;

                case FieldMode.Signin:                              // 表單簽核
                    kdpESTIMATEBDATE.ViewType  = KYTViewType.Input; // 預計復職日
                    kdpLSPAYDATE.ViewType      = KYTViewType.Input; // 最後計薪日
                    kdpPSTARTDATE.ViewType     = KYTViewType.Input; // 留停起算日
                    ktxtCHECKDOCUMENT.ViewType = KYTViewType.Input; // 檢核文件
                    kddlLPREPAYSTATUS.ViewType = KYTViewType.Input; // 勞保費預繳狀態
                    ktxtLPREPAYMONTH.ViewType  = KYTViewType.Input; // 勞保費預繳月份數
                    ktxtLPREPAYMONEY.ViewType  = KYTViewType.Input; // 勞保費預繳金額
                    kddlHPREPAYSTATUS.ViewType = KYTViewType.Input; // 健保費預繳狀態
                    ktxtHPREPAYMONTH.ViewType  = KYTViewType.Input; // 健保費預繳月份數
                    ktxtHPREPAYMONEY.ViewType  = KYTViewType.Input; // 健保費預繳金額
                    break;

                case FieldMode.Verify:     // Verify
                    break;

                case FieldMode.View:     // 表單觀看
                    break;
                }
            }
            else // 如果網頁POSTBACK
            {
                JGlobalLibs.WebUtils.RequestHiddenFields(UpdatePanel1); // 取回HiddenField的值
                switch (fieldOptional.FieldMode)                   // 判斷FieldMode
                {
                case FieldMode.Applicant:                          // 起單或退回申請者
                case FieldMode.ReturnApplicant:
                case FieldMode.Signin:                             // 表單簽核
                    // 設定Picker是否能輸入
                    kdpESTIMATEBDATE.ViewType = KYTViewType.Input; // 預計復職日
                    kdpLSPAYDATE.ViewType     = KYTViewType.Input; // 最後計薪日
                    kdpPSTARTDATE.ViewType    = KYTViewType.Input; // 留停起算日
                    if (fieldOptional.FieldMode != FieldMode.Signin)
                    {
                        kdpPESTIMATERDATE.ViewType = KYTViewType.Input;     //
                    }
                    kdpESTIMATEBDATE.TextBoxReadOnly  = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpLSPAYDATE.TextBoxReadOnly      = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpPESTIMATERDATE.TextBoxReadOnly = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    kdpPSTARTDATE.TextBoxReadOnly     = SCSHRConfiguration.IS_PICKER_READONLY.ToUpper() == "Y";
                    break;
                }
            }
        }
    }