/// <summary> /// 顯示時欄位初始值 /// </summary> /// <param name="versionField">欄位集合</param> public override void SetField(Fast.EB.WKF.Design.VersionField versionField) { FieldOptional fieldOptional = versionField as FieldOptional; fieldOptional2 = 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 if (!string.IsNullOrEmpty(fieldOptional.FieldValue)) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(fieldOptional.FieldValue); txtFieldValue.Text = fieldOptional.FieldValue; GVGetData1(); DataList1.DataSource = BindGrid2(); DataList1.DataBind(); } else { XmlDocument xmlDoc = new XmlDocument(); XmlElement fieldValueElement = xmlDoc.CreateElement("FieldValue"); txtFieldValue.Text = fieldValueElement.OuterXml; } if (fieldOptional.FieldMode == FieldMode.View || fieldOptional.FieldMode == FieldMode.Print || fieldOptional.FieldMode == FieldMode.Design || fieldOptional.FieldMode == FieldMode.Signin) { controlVisable(false); } else { controlVisable(true); } #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 } }
/// <summary> /// 顯示時欄位初始值 /// </summary> /// <param name="versionField">欄位集合</param> public override void SetField(Fast.EB.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 if (!string.IsNullOrEmpty(fieldOptional.FieldValue)) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(fieldOptional.FieldValue); //tbZPONO.Text = xmlDoc.SelectSingleNode("/FieldValue").Attributes["PURCHASEORDER"].Value; if (!string.IsNullOrEmpty(xmlDoc.SelectSingleNode("/FieldValue").Attributes["MOVE_TYPE"].Value)) { ddZMOVETYPE.SelectedValue = xmlDoc.SelectSingleNode("/FieldValue").Attributes["MOVE_TYPE"].Value; } else { Response.Write("<script>alert('表頭異動類型紀錄是空白需從新選擇')</script>"); } PSTNG_DATE.Value = Convert.ToDateTime(xmlDoc.SelectSingleNode("/FieldValue").Attributes["PSTNG_DATE"].Value); DOC_DATE.Value = Convert.ToDateTime(xmlDoc.SelectSingleNode("/FieldValue").Attributes["DOC_DATE"].Value); } if (fieldOptional.FieldMode == FieldMode.View || fieldOptional.FieldMode == FieldMode.Print || fieldOptional.FieldMode == FieldMode.Design || fieldOptional.FieldMode == FieldMode.Signin) { controlVisable(false); } else { controlVisable(true); } #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 } }
/// <summary> /// 顯示時欄位初始值 /// </summary> /// <param name="versionField">欄位集合</param> public override void SetField(Ede.Uof.WKF.Design.VersionField versionField) { FieldOptional fieldOptional = versionField as FieldOptional; if (fieldOptional != null) { // 草稿 if (!fieldOptional.IsAudit) { //divContent.InnerHtml = "no"; //HtmlTable tab = (HtmlTable)this.FindControl("divContent"); //hdSource.Text = "123"; //TextBox1.Text = fieldOptional.FieldValue; } else { // 資料已送出 //divContent.te = "abcd"; //divContent.("<tr><td>test</td></tr>"); //TextBox1.Text = fieldOptional.FieldValue; } if (fieldOptional.IsAudit) { // 如果是簽核中 hdIsAudit.Value = "Y"; } //SiteID.Text = taskObj. switch (fieldOptional.FieldMode) { case FieldMode.ReturnApplicant: case FieldMode.Applicant: hdContent.Value = fieldOptional.FieldValue; hdStatus.Value = "APPLY"; break; case FieldMode.Signin: //divEdit.Visible = false; if (!string.IsNullOrEmpty(fieldOptional.FieldValue)) { //hdSource.Value = fieldOptional.FieldValue; hdContent.Value = fieldOptional.FieldValue; } break; case FieldMode.Design: hdSource.Value = "Design"; break; case FieldMode.Print: case FieldMode.View: //觀看和列印都需作沒有權限的處理 //divEdit.Visible = false; hdContent.Value = fieldOptional.FieldValue; EnabledControl(false); break; } #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.Modifier != null) { lblModifier.Visible = true; lblModifier.ForeColor = System.Drawing.Color.FromArgb(0x52, 0x52, 0x52); lblModifier.Text = System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(fieldOptional.Modifier.Name, true); } #endregion } }
/// <summary> /// 顯示時欄位初始值 /// </summary> /// <param name="versionField">欄位集合</param> public override void SetField(Ede.Uof.WKF.Design.VersionField versionField) { FieldOptional fieldOptional = versionField as FieldOptional; if (fieldOptional != null) { //若有擴充屬性,可以用該屬性存取 // fieldOptional.ExtensionSetting //草稿 if (!fieldOptional.IsAudit) { if (fieldOptional.HasAuthority) { //有填寫權限的處理 EnabledControl(true); } else { //沒填寫權限的處理 EnabledControl(false); } } else { //己送出 //有填過 if (fieldOptional.Filler != null) { //判斷填寫的站點和當前是否相同 if (base.taskObj != null && base.taskObj.CurrentSite != null && base.taskObj.CurrentSite.SiteId == fieldOptional.FillSiteId && fieldOptional.Filler.UserGUID == Ede.Uof.EIP.SystemInfo.Current.UserGUID) { //判斷填寫權限 if (fieldOptional.HasAuthority) { //有填寫權限的處理 EnabledControl(true); } else { //沒填寫權限的處理 EnabledControl(false); } } else { //判斷修改權限 if (fieldOptional.AllowModify) { //有修改權限的處理 EnabledControl(true); } else { //沒修改權限的處理 EnabledControl(false); } } } else { //判斷填寫權限 if (fieldOptional.HasAuthority) { //有填寫權限的處理 EnabledControl(true); } else { //沒填寫權限的處理 EnabledControl(false); } } } switch (fieldOptional.FieldMode) { case FieldMode.Print: case FieldMode.View: //觀看和列印都需作沒有權限的處理 EnabledControl(false); break; } #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.Modifier != null) { lblModifier.Visible = true; lblModifier.ForeColor = System.Drawing.Color.FromArgb(0x52, 0x52, 0x52); lblModifier.Text = System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(fieldOptional.Modifier.Name, true); } #endregion } }
/// <summary> /// 顯示時欄位初始值 /// </summary> /// <param name="versionField">欄位集合</param> public override void SetField(Ede.Uof.WKF.Design.VersionField versionField) { FieldOptional fieldOptional = versionField as FieldOptional; if (fieldOptional != null) { Dialog.Open2(btnInert, "~/CDS/WKF_Fields/ASPX/OptionField_PURTABA_ADD.aspx", "", 700, 600, Dialog.PostBackType.AfterReturn); if (string.IsNullOrEmpty(fieldOptional.FieldValue)) { txtFieldValue.Text = "<FieldValue/>"; } else { txtFieldValue.Text = fieldOptional.FieldValue; BindGrid(); } //<FieldValue txt1='' txt2='' /> if (!string.IsNullOrEmpty(fieldOptional.FieldValue)) { XElement xe = XElement.Parse(fieldOptional.FieldValue); TextBox1.Text = xe.Attribute("TA001").Value; TextBox2.Text = xe.Attribute("TA002").Value; TextBox3.Text = xe.Attribute("TA003").Value; TextBox4.Text = xe.Attribute("NAME").Value; TextBox5.Text = xe.Attribute("DEP").Value; TextBox6.Text = xe.Attribute("COMMENT").Value; } //若有擴充屬性,可以用該屬性存取 // fieldOptional.ExtensionSetting //草稿 if (!fieldOptional.IsAudit) { if (fieldOptional.HasAuthority) { //有填寫權限的處理 EnabledControl(true); } else { //沒填寫權限的處理 EnabledControl(false); } } else { //己送出 //有填過 if (fieldOptional.Filler != null) { //判斷填寫的站點和當前是否相同 if (base.taskObj != null && base.taskObj.CurrentSite != null && base.taskObj.CurrentSite.SiteId == fieldOptional.FillSiteId && fieldOptional.Filler.UserGUID == Ede.Uof.EIP.SystemInfo.Current.UserGUID) { //判斷填寫權限 if (fieldOptional.HasAuthority) { //有填寫權限的處理 EnabledControl(true); } else { //沒填寫權限的處理 EnabledControl(false); } } else { //判斷修改權限 if (fieldOptional.AllowModify) { //有修改權限的處理 EnabledControl(true); } else { //沒修改權限的處理 EnabledControl(false); } } } else { //判斷填寫權限 if (fieldOptional.HasAuthority) { //有填寫權限的處理 EnabledControl(true); } else { //沒填寫權限的處理 EnabledControl(false); } } } switch (fieldOptional.FieldMode) { case FieldMode.Print: case FieldMode.View: //觀看和列印都需作沒有權限的處理 EnabledControl(false); break; } #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.Modifier != null) { lblModifier.Visible = true; lblModifier.ForeColor = System.Drawing.Color.FromArgb(0x52, 0x52, 0x52); lblModifier.Text = System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(fieldOptional.Modifier.Name, true); } #endregion } }
/// <summary> /// 顯示時欄位初始值 /// </summary> /// <param name="versionField">欄位集合</param> public override void SetField(Fast.EB.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 if (fieldOptional.FieldMode == FieldMode.View || fieldOptional.FieldMode == FieldMode.Print) { SqlConnection con = new SqlConnection(); DataTable dt = new DataTable("CURRENT"); try { con.ConnectionString = ConfigurationManager.ConnectionStrings["connectionstring"].ToString(); SqlDataAdapter da = new SqlDataAdapter("select CURRENT_DOC,TASK_RESULT,DOC_NBR,BEGIN_TIME from [UOF].[dbo].[TB_WKF_TASK] where TASK_ID = @TASK_ID", con); da.SelectCommand.Parameters.Add("TASK_ID", SqlDbType.NVarChar).Value = Request.QueryString["TASK_ID"].ToString(); da.Fill(dt); } finally { con.Close(); } //string url = Request.Url.AbsoluteUri; txtFieldValue.Text = dt.Rows[0][0].ToString(); result = dt.Rows[0]["TASK_RESULT"].ToString(); DOC_NBR = dt.Rows[0]["DOC_NBR"].ToString(); BEGIN_TIME = dt.Rows[0]["BEGIN_TIME"].ToString(); //Response.Write("<script>alert('" + dt.Rows[0][0].ToString() + "')</script>"); Grid4.DataSource = BindGrid4(); Grid4.DataBind(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(txtFieldValue.Text); XmlNodeList last = xmlDoc.SelectNodes("/Form/FormFieldValue/FieldItem"); int lastcount = last.Count; int xmllistcount = 1; foreach (XmlNode nd in last) { if (xmllistcount == lastcount) { if (result == "0" && (nd.Attributes["ConditionValue"].Value == "" || nd.Attributes["ConditionValue"].Value == "0")) { XmlNodeList DELlast = xmlDoc.SelectNodes("/Form/FormFieldValue/FieldItem/FieldValue/Item/DEL"); //有此節點則是代表此表單作廢 if (DELlast.Count == 0) { resend.Enabled = btnDel.Enabled = true; } else { resend.Visible = btnDel.Visible = false; } } } xmllistcount++; } } #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 } }
/// <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; } } } }
/// <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; } } } }
/// <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; } } } }
/// <summary> /// 顯示時欄位初始值 /// </summary> /// <param name="versionField">欄位集合</param> public override void SetField(Ede.Uof.WKF.Design.VersionField versionField) { FieldOptional fieldOptional = versionField as FieldOptional; if (fieldOptional != null) { //若有擴充屬性,可以用該屬性存取 // fieldOptional.ExtensionSetting //TextBox1.Text= fieldOptional.FieldValue; //LabelNAME.Text = COMPANY_NAME; if (!string.IsNullOrEmpty(fieldOptional.FieldValue)) { XElement xe = XElement.Parse(fieldOptional.FieldValue); TextBox1.Text = xe.Attribute("MA001").Value; LabelNAME.Text = xe.Attribute("MA002").Value; TextBox2.Text = xe.Attribute("MA011").Value; TextBox13.Text = xe.Attribute("MA004").Value; TextBox14.Text = xe.Attribute("MA005").Value; DropDownList1.SelectedValue = xe.Attribute("MA014").Value; DropDownList2.SelectedValue = xe.Attribute("MA015").Value; TextBox15.Text = xe.Attribute("MA016").Value; DropDownList3.SelectedValue = xe.Attribute("MA017").Value; DropDownList4.SelectedValue = xe.Attribute("MA018").Value; DropDownList5.SelectedValue = xe.Attribute("MA019").Value; TextBox3.Text = xe.Attribute("MA028").Value; DropDownList6.SelectedValue = xe.Attribute("MA083").Value; TextBox4.Text = xe.Attribute("MA033").Value; DropDownList7.SelectedValue = xe.Attribute("MA037").Value; DropDownList8.SelectedValue = xe.Attribute("MA038").Value; TextBox5.Text = xe.Attribute("MA040").Value; DropDownList9.SelectedValue = xe.Attribute("MA041").Value; DropDownList10.SelectedValue = xe.Attribute("MA042").Value; TextBox6.Text = xe.Attribute("MA043").Value; TextBox7.Text = xe.Attribute("MA046").Value; DropDownList11.SelectedValue = xe.Attribute("MA048").Value; TextBox8.Text = xe.Attribute("MA049").Value; TextBox9.Text = xe.Attribute("MA071").Value; TextBox10.Text = xe.Attribute("MA075").Value; DropDownList12.SelectedValue = xe.Attribute("MA076").Value; Label12.Text = xe.Attribute("MA031").Value; DropDownList13.SelectedValue = xe.Attribute("MA086").Value; DropDownList14.SelectedValue = xe.Attribute("MA087").Value; TextBox16.Text = xe.Attribute("MA098").Value; TextBox11.Text = xe.Attribute("MA099").Value; DropDownList15.SelectedValue = xe.Attribute("MA100").Value; TextBox12.Text = xe.Attribute("UDF02").Value; } switch (fieldOptional.FieldMode) { case FieldMode.Print: case FieldMode.View: //觀看和列印都需作沒有權限的處理 EnabledControl(false); break; } #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.Modifier != null) { lblModifier.Visible = true; lblModifier.ForeColor = System.Drawing.Color.FromArgb(0x52, 0x52, 0x52); lblModifier.Text = System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(fieldOptional.Modifier.Name, true); } #endregion } }