// Code for Page_Load protected override void PageLoad(object oContainer, IFormURLPara para, IUIShadow UIShadow) { oPage = (Page)oContainer; oUIControls = (GDSExceptionHandlingUIShadow)UIShadow; oPara = para; this.InitialPageControls(); base.PageLoad(oContainer, para, UIShadow); }
// Code for Page_Load protected override void PageLoad(object oContainer, IFormURLPara para, IUIShadow UIShadow) { oPage = (Page)oContainer; oUIControls = (NPIGating_HISUIShadow)UIShadow; oPara = para; this.InitialPageControls(); base.PageLoad(oContainer, para, UIShadow); }
public override void Print(int iTaskId, SPMTaskVariables SPMTaskVars, EFFormFields FormFields, object oContainer, IUIShadow UIShadow) { if (iTaskId < 0) { NPIGating_HISUIShadow lControls = (NPIGating_HISUIShadow)UIShadow; } //else //{ //} base.Print(iTaskId, SPMTaskVars, FormFields, oContainer, UIShadow); }
// Fill SPM's EFFormFieldData public override void PrepareEFFormFields(SPMSubmitMethod SubmitMethod, SPMProcessMethod ProcessMethod, SPMTaskVariables TaskVars, ref EFFormFields FormFields, ref IInterfaceHandleResult HandleResult, object oContainer, IUIShadow UIShadow, ref string ApplicantInfo) { NPIGating_HISUIShadow lUIControls = (NPIGating_HISUIShadow)UIShadow; FormFields.SetOrAdd("txtFormNo".ToUpper(), lUIControls.txtFormNo.Text); FormFields.SetOrAdd("txtSite".ToUpper(), lUIControls.lblSite.Text); FormFields.SetOrAdd("txtBu".ToUpper(), lUIControls.lblBu.Text); FormFields.SetOrAdd("txtBuilding".ToUpper(), lUIControls.cmbPlant.SelectedItem.Text); base.PrepareEFFormFields(SubmitMethod, ProcessMethod, TaskVars, ref FormFields, ref HandleResult, oContainer, UIShadow, ref ApplicantInfo); }
public string BeginFormFieldsValidation(IUIShadow UIShadow) { NPIGating_HISUIShadow lUIControls = (NPIGating_HISUIShadow)UIShadow; NPIMgmt oMgmt = new NPIMgmt(lUIControls.lblSite.Text, lUIControls.lblBu.Text); NPI_Standard oStandard = oMgmt.InitialLeaveMgmt(); StringBuilder sbErrMsg = new StringBuilder(); string ErrMsg = string.Empty; if (string.IsNullOrEmpty(lUIControls.txtCustomer.Text)) { sbErrMsg.Append("Custmer不允许为空</br>"); } if (string.IsNullOrEmpty(lUIControls.cmbPlant.SelectedItem.Text)) { sbErrMsg.Append(" 廠別不允许为空</br>"); } if (string.IsNullOrEmpty(lUIControls.cbProductType.SelectedItem.Text)) { sbErrMsg.Append(" 產品類別不允许为空</br>"); } if (string.IsNullOrEmpty(lUIControls.txtModel.Text)) { sbErrMsg.Append("幾種名稱不允许为空</br>"); } if (string.IsNullOrEmpty(lUIControls.cmbPhase.SelectedItem.Text)) { sbErrMsg.Append("階段不允许为空</br>"); } if (string.IsNullOrEmpty(lUIControls.txtPM.Text)) { sbErrMsg.Append("PM不允许为空</br>"); } if (string.IsNullOrEmpty(lUIControls.txtRD.Text)) { sbErrMsg.Append("RD不允许为空</br>"); } if (string.IsNullOrEmpty(lUIControls.txtSales.Text)) { sbErrMsg.Append("Sales不允许为空</br>"); } //if (lUIControls.txtPM.Text.Length > 0) //{ // ErrMsg= oStandard.GetGlobalUserInfo(lUIControls.txtPM.Text); // if (ErrMsg.Length > 0) // { // sbErrMsg.Append(ErrMsg + "</br>"); // } //} //if (lUIControls.txtRD.Text.Length > 0) //{ // ErrMsg = oStandard.GetGlobalUserInfo(lUIControls.txtRD.Text); // if (ErrMsg.Length > 0) // { // sbErrMsg.Append(ErrMsg); // } //} //if (lUIControls.txtSales.Text.Length > 0) //{ // ErrMsg = oStandard.GetGlobalUserInfo(lUIControls.txtSales.Text); // if (ErrMsg.Length > 0) // { // sbErrMsg.Append(ErrMsg); // } //} string ErrMsgAttachment = GetAttachmentInfo(); if (ErrMsgAttachment.Length > 0) { sbErrMsg.Append(ErrMsgAttachment); } return(sbErrMsg.ToString()); }
// Validate contols before submit public override bool EFFormFieldsValidation(SPMSubmitMethod SubmitMethod, SPMProcessMethod ProcessMethod, SPMTaskVariables SPMTaskVars, ref IInterfaceHandleResult HandleResult, object oContainer, IUIShadow UIShadow) { NPIGating_HISUIShadow lUIControls = (NPIGating_HISUIShadow)UIShadow; string ErrMsg = string.Empty; if (SubmitMethod == SPMSubmitMethod.CreateNewCase) { #region [ check list] //ErrMsg = BeginFormFieldsValidation(UIShadow); if (ErrMsg.Length > 0) { HandleResult.IsSuccess = false; HandleResult.CustomMessage = ErrMsg; return(false); } ////依DOA获取待签关卡及签核人资讯 if (HandleResult.IsSuccess) { NPIMgmt oMgmt = new NPIMgmt(lUIControls.lblSite.Text, lUIControls.lblBu.Text); NPI_Standard oStandard = oMgmt.InitialLeaveMgmt(); Model_NPI_DOA_Parameter oModel_NPI_DOA_Parameter = new Model_NPI_DOA_Parameter(); //oModel_NPI_DOA_Parameter._BU = "HIS"; oModel_NPI_DOA_Parameter._BU = lUIControls.lblBu.Text; oModel_NPI_DOA_Parameter._BUILDING = lUIControls.cmbPlant.SelectedItem.Text; oModel_NPI_DOA_Parameter._CASE_ID = oPara.CaseId; oModel_NPI_DOA_Parameter._FORM_NO = lUIControls.txtFormNo.Text; oModel_NPI_DOA_Parameter._PHASE = lUIControls.cmbPhase.SelectedItem.Text; oModel_NPI_DOA_HandlerInfo = oStandard.GenerateStepAndHandler(oModel_NPI_DOA_Parameter); if (!oModel_NPI_DOA_HandlerInfo._RESULT) { HandleResult.IsSuccess = false; HandleResult.CustomMessage = oModel_NPI_DOA_HandlerInfo._ERROR_MSG; } } #endregion } else { string stepName = (string)(SPMTaskVars.ReadDatum("STEPNAME")); if (SubmitMethod != SPMSubmitMethod.CreateNewCase) { HandleResult.IsSuccess = true; } if (stepName == "Begin" || stepName == "開始") { HandleResult.IsSuccess = false; HandleResult.CustomMessage = "退簽單據不可重複送簽!"; } else { if (!(lUIControls.rdResultY.Checked || lUIControls.rdResultN.Checked || lUIControls.rdReulutCondition.Checked)) { HandleResult.IsSuccess = false; HandleResult.CustomMessage = "請勾选签核結果!"; } } } return(base.EFFormFieldsValidation(SubmitMethod, ProcessMethod, SPMTaskVars, ref HandleResult, oContainer, UIShadow)); }
public override void InitialDisableContainer(SPMTaskVariables SPMTaskVars, EFFormFields FormFields, ref object oContainer, IUIShadow UIShadow) { NPIGating_HISUIShadow lUIControls = (NPIGating_HISUIShadow)UIShadow; ShowFormDetail(FormFields, lUIControls, SPMTaskVars, ""); DisableField(FormFields, lUIControls, SPMTaskVars, ""); base.InitialDisableContainer(SPMTaskVars, FormFields, ref oContainer, UIShadow); }
public NPIGating_HISLogics(object oContainer, IUIShadow UIShadow) : base(oContainer) { this.SetUIShadow(UIShadow); }
public override void Print(int iTaskId, SPMTaskVariables SPMTaskVars, EFFormFields FormFields, object oContainer, IUIShadow UIShadow) { base.Print(iTaskId, SPMTaskVars, FormFields, oContainer, UIShadow); }
// Fill SPM's EFFormFieldData public override void PrepareEFFormFields(SPMSubmitMethod SubmitMethod, SPMProcessMethod ProcessMethod, SPMTaskVariables TaskVars, ref EFFormFields FormFields, ref IInterfaceHandleResult HandleResult, object oContainer, IUIShadow UIShadow, ref string ApplicantInfo) { GDSExceptionHandlingUIShadow lUIControls = (GDSExceptionHandlingUIShadow)UIShadow; //基本資料 FormFields.SetOrAdd("txtLogonID".ToUpper(), lUIControls.txtLogonID.Text); FormFields.SetOrAdd("txtName".ToUpper(), lUIControls.txtName.Text); FormFields.SetOrAdd("txtPlant".ToUpper(), lUIControls.txtPlant.Text); FormFields.SetOrAdd("txtDept".ToUpper(), lUIControls.txtDept.Text); FormFields.SetOrAdd("txtEMail".ToUpper(), lUIControls.txtEMail.Text); FormFields.SetOrAdd("txtExtNO".ToUpper(), lUIControls.txtExtNO.Text); FormFields.SetOrAdd("txtRDocNo".ToUpper(), lUIControls.txtRDocNo.Text); FormFields.SetOrAdd("txtDocNo".ToUpper(), lUIControls.txtDocNo.Text); FormFields.SetOrAdd("txtCostCenter".ToUpper(), lUIControls.txtCostCenter.Text); FormFields.SetOrAdd("txtDepartment".ToUpper(), lUIControls.txtDepartment.Text); FormFields.SetOrAdd("txtApplication".ToUpper(), lUIControls.txtApplication.Text); FormFields.SetOrAdd("txtMaterial".ToUpper(), lUIControls.txtMaterial.Text); FormFields.SetOrAdd("txtReturnQuantity".ToUpper(), lUIControls.txtReturnQuantity.Text); FormFields.SetOrAdd("txtReason".ToUpper(), lUIControls.txtReason.Text); FormFields.SetOrAdd("txtRemark".ToUpper(), lUIControls.txtRemark.Text); FormFields.SetOrAdd("txtReturn".ToUpper(), lUIControls.txtReturn.Text); FormFields.SetOrAdd("txtIADocNo".ToUpper(), lUIControls.txtIADocNo.Text); FormFields.SetOrAdd("txtI6DocNo".ToUpper(), lUIControls.txtI6DocNo.Text); FormFields.SetOrAdd("txtZEILE".ToUpper(), lUIControls.txtZEILE.Text); FormFields.SetOrAdd("txtAmount".ToUpper(), lUIControls.txtAmount.Text); //SOURCE DATA FormFields.SetOrAdd("txtHead".ToUpper(), lUIControls.txtHead.Text); FormFields.SetOrAdd("txtDetail".ToUpper(), lUIControls.txtDetail.Text); FormFields.SetOrAdd("txtDOA".ToUpper(), lUIControls.txtDOA.Text); FormFields.SetOrAdd("txtWERKS".ToUpper(), lUIControls.txtWERKS.Text); FormFields.SetOrAdd("txtAPTYP".ToUpper(), lUIControls.txtAPTYP.Text); base.PrepareEFFormFields(SubmitMethod, ProcessMethod, TaskVars, ref FormFields, ref HandleResult, oContainer, UIShadow, ref ApplicantInfo); }
// Validate contols before submit public override bool EFFormFieldsValidation(SPMSubmitMethod SubmitMethod, SPMProcessMethod ProcessMethod, SPMTaskVariables SPMTaskVars, ref IInterfaceHandleResult HandleResult, object oContainer, IUIShadow UIShadow) { GDSExceptionHandlingUIShadow lUIControls = (GDSExceptionHandlingUIShadow)UIShadow; GDS_Helper oStandard = new GDS_Helper(); StringBuilder ErrMsg = new StringBuilder(); string stepName = (string)(SPMTaskVars.ReadDatum("STEPNAME")); string curDOA = lUIControls.txtDOA.Text; string plant = lUIControls.txtWERKS.Text; string apType = lUIControls.txtAPTYP.Text; DOA spmDOA = new DOA(); string sApplicant = lUIControls.txtApplication.Text.Trim(); //獲取 表頭及表身DATA string formDetail = lUIControls.txtDetail.Text.Trim().Replace("<1;", "<").Replace(">1;", ">"); string formHead = lUIControls.txtHead.Text.Trim().Replace("<1;", "<").Replace(">1;", ">"); DataTable dtHead = LiteOn.GDS.Utility.Tools.BuildHeadTable(); System.IO.StringReader reader = new System.IO.StringReader(formHead); dtHead.ReadXml(reader); System.IO.StringReader reader2 = new System.IO.StringReader(formDetail); DataTable dtDetail = LiteOn.GDS.Utility.Tools.BuildDetailTable(); dtDetail.ReadXml(reader2); if (SubmitMethod == SPMSubmitMethod.CreateNewCase) { #region 欄位的非空驗證 #endregion #region Check單據是否已經過帳 string I1DocNo = oUIControls.txtRDocNo.Text; string IADocNo = oUIControls.txtIADocNo.Text; string I6DocNo = oUIControls.txtI6DocNo.Text; string WERKS = oUIControls.txtWERKS.Text; //Check此I1單(領料單)和關聯的IA,I6單(退料單)是否都已經過賬 (Call SAP BAPI Z_BAPI_GDS_SEND MBLNR不為空則表示已經過賬) if (!oStandard.CheckFormNoIsPass(I1DocNo, IADocNo, I6DocNo, WERKS)) { HandleResult.IsSuccess = false; HandleResult.CustomMessage = "I1(領料單)或者IA,I6(退料單)存在未過賬的單子!"; } #endregion } else { //only approve action check controls if (SubmitMethod == SPMSubmitMethod.HandleCase_Approve) { int caseId = int.Parse((string)(SPMTaskVars.ReadDatum("CASEID"))); string curStepId = SPMAppLine.GetCurrentStep(curDOA); //調用FUNCTION作FormFieldsValidation string errMsg = DOA.FieldsValidationByStepId(plant, apType, curStepId, caseId); if (errMsg.Length > 0) { HandleResult.IsSuccess = false; HandleResult.CustomMessage = errMsg; } else { try { //CALL FUNCTION獲取下關簽核人 DOAHandler = spmDOA.GetStepHandler(sApplicant, curDOA, dtHead, dtDetail, false); oStandard.UpdateSettingxml(oUIControls.txtDocNo.Text, DOAHandler._sDOA.ToString()); } catch (Exception ex) { HandleResult.IsSuccess = false; HandleResult.CustomMessage = ex.Message; } } if (ErrMsg.ToString().Length > 0) { HandleResult.IsSuccess = false; HandleResult.CustomMessage = ErrMsg.ToString(); } //簽核人防呆檢查 if (DOAHandler._sEndFlag == "N" && DOAHandler._sHandler.Length == 0) { HandleResult.IsSuccess = false; HandleResult.CustomMessage = "Can't find next step handler, pls contact sys administrator"; } string sCurLogonID = (string)(SPMTaskVars.ReadDatum("SYS_LOGONID")); string sCurRoleCode = SPMAppLine.GetCurrentApprover(curDOA).Replace("{", "").Replace("}", ""); //簽核人重復簽核防呆 if (DOAHandler._sEndFlag == "N" && DOAHandler._sRoleCode == sCurRoleCode && DOAHandler._sHandler.ToUpper() == sCurLogonID.ToUpper()) { HandleResult.IsSuccess = false; HandleResult.CustomMessage = "Server or network is busy now, pls try again"; } } } return(base.EFFormFieldsValidation(SubmitMethod, ProcessMethod, SPMTaskVars, ref HandleResult, oContainer, UIShadow)); }
// Code for 'Notice' and 'Log'. Disable all contols. public override void InitialDisableContainer(SPMTaskVariables SPMTaskVars, EFFormFields FormFields, ref object oContainer, IUIShadow UIShadow) { int caseID = int.Parse((string)(SPMTaskVars.ReadDatum("CASEID"))); GDSExceptionHandlingUIShadow lUIControls = (GDSExceptionHandlingUIShadow)UIShadow; ShowRecord(lUIControls, FormFields, "Log", caseID, SPMTaskVars); base.InitialDisableContainer(SPMTaskVars, FormFields, ref oContainer, UIShadow); }
// Code for 'draft' and 'pending for process' public override void InitialContainer(SPMTaskVariables SPMTaskVars, EFFormFields FormFields, ref object oContainer, IUIShadow UIShadow) { GDSExceptionHandlingUIShadow lUIControls = (GDSExceptionHandlingUIShadow)UIShadow; int caseID = int.Parse((string)(SPMTaskVars.ReadDatum("CASEID"))); string stepName = SPMTaskVars.ReadDatum("STEPNAME").ToString(); ShowRecord(lUIControls, FormFields, "Process", caseID, SPMTaskVars); base.InitialContainer(SPMTaskVars, FormFields, ref oContainer, UIShadow); }
public GDSExceptionHandlingLogics(object oContainer, IUIShadow UIShadow) : base(oContainer) { this.SetUIShadow(UIShadow); }