From f4e3b364ede806de53eac8aa6a1bc0a56eca9cf7 Mon Sep 17 00:00:00 2001 From: 14278/caihao <572156462@qq.com> Date: Wed, 17 Jan 2024 15:58:55 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91?= =?UTF-8?q?=E5=AE=9E=E4=B9=A0=E7=94=9F=E7=BB=83=E4=B9=A0=E4=B8=BB=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ET_Subcontractor.vbproj.vspscc | 10 + .../ENT/ET_TestData14278/ET_TestData14278.sln | 25 + .../ET_TestData14278/ET_TestData14278.vbproj | 194 ++ .../ET_TestData14278.vbproj.user | 6 + .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../My Project/Resources.Designer.vb | 63 + .../My Project/Resources.resx | 117 ++ .../My Project/Settings.Designer.vb | 73 + .../My Project/Settings.settings | 7 + .../ET_TestData14278/My Project/licenses.licx | 7 + .../ET_TestData14278/frmTestData14278.resx | 120 ++ .../ENT/ET_TestData14278/frmTestData14278.vb | 1131 +++++++++++ .../frmTestData14278ContDef.resx | 120 ++ .../frmTestData14278ContDef.vb | 658 +++++++ .../ET_TestData14278/frmTestData14278Def.resx | 120 ++ .../ET_TestData14278/frmTestData14278Def.vb | 422 +++++ SRC/MESWin/ENT/ET_TestData14278/iMES.snk | Bin 0 -> 596 bytes SRC/MEStc_SXS/MEStc_SXS.csproj | 2 + .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/MEStc_SXS/tcENT/clsENT.cs | 2 +- SRC/MEStc_SXS/tcTEST14278/clsTest_14278.cs | 1360 ++++++++++++++ SRC/wsSXS/wsSXS.csproj | 3 +- SRC/wsSXS/wsTEST_14278/wsTEST_14278.cs | 1655 +++++++++++++++++ 26 files changed, 6153 insertions(+), 3 deletions(-) create mode 100644 SRC/MESWin/ENT/ET_TestData14278/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/ENT/ET_TestData14278/ET_TestData14278.sln create mode 100644 SRC/MESWin/ENT/ET_TestData14278/ET_TestData14278.vbproj create mode 100644 SRC/MESWin/ENT/ET_TestData14278/ET_TestData14278.vbproj.user create mode 100644 SRC/MESWin/ENT/ET_TestData14278/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/ENT/ET_TestData14278/My Project/Application.myapp create mode 100644 SRC/MESWin/ENT/ET_TestData14278/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/ENT/ET_TestData14278/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/ENT/ET_TestData14278/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/ENT/ET_TestData14278/My Project/Resources.resx create mode 100644 SRC/MESWin/ENT/ET_TestData14278/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/ENT/ET_TestData14278/My Project/Settings.settings create mode 100644 SRC/MESWin/ENT/ET_TestData14278/My Project/licenses.licx create mode 100644 SRC/MESWin/ENT/ET_TestData14278/frmTestData14278.resx create mode 100644 SRC/MESWin/ENT/ET_TestData14278/frmTestData14278.vb create mode 100644 SRC/MESWin/ENT/ET_TestData14278/frmTestData14278ContDef.resx create mode 100644 SRC/MESWin/ENT/ET_TestData14278/frmTestData14278ContDef.vb create mode 100644 SRC/MESWin/ENT/ET_TestData14278/frmTestData14278Def.resx create mode 100644 SRC/MESWin/ENT/ET_TestData14278/frmTestData14278Def.vb create mode 100644 SRC/MESWin/ENT/ET_TestData14278/iMES.snk create mode 100644 SRC/MEStc_SXS/tcTEST14278/clsTest_14278.cs create mode 100644 SRC/wsSXS/wsTEST_14278/wsTEST_14278.cs diff --git a/SRC/MESWin/ENT/ET_TestData14278/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/ENT/ET_TestData14278/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/ENT/ET_TestData14278/ET_TestData14278.sln b/SRC/MESWin/ENT/ET_TestData14278/ET_TestData14278.sln new file mode 100644 index 0000000..b58da38 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/ET_TestData14278.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32630.194 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_TestData14278", "ET_TestData14278.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1C44D0CA-A98A-40C4-B1C1-EC0BD8EBCE11} + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/ENT/ET_TestData14278/ET_TestData14278.vbproj b/SRC/MESWin/ENT/ET_TestData14278/ET_TestData14278.vbproj new file mode 100644 index 0000000..6584be5 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/ET_TestData14278.vbproj @@ -0,0 +1,194 @@ + + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_TestData14278 + ET_TestData14278 + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_TestData14278.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_TestData14278.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmTestData14278.vb + + + frmTestData14278ContDef.vb + + + frmTestData14278Def.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/ENT/ET_TestData14278/ET_TestData14278.vbproj.user b/SRC/MESWin/ENT/ET_TestData14278/ET_TestData14278.vbproj.user new file mode 100644 index 0000000..e89eb81 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/ET_TestData14278.vbproj.user @@ -0,0 +1,6 @@ + + + + E:\DigiHua\2.Temp\Local\MESsc\SClientSource\ + + \ No newline at end of file diff --git a/SRC/MESWin/ENT/ET_TestData14278/My Project/Application.Designer.vb b/SRC/MESWin/ENT/ET_TestData14278/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/ENT/ET_TestData14278/My Project/Application.myapp b/SRC/MESWin/ENT/ET_TestData14278/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/ENT/ET_TestData14278/My Project/AssemblyInfo.vb b/SRC/MESWin/ENT/ET_TestData14278/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/ENT/ET_TestData14278/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/ENT/ET_TestData14278/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/ENT/ET_TestData14278/My Project/Resources.Designer.vb b/SRC/MESWin/ENT/ET_TestData14278/My Project/Resources.Designer.vb new file mode 100644 index 0000000..9d0dd56 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_TestData14278.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/ENT/ET_TestData14278/My Project/Resources.resx b/SRC/MESWin/ENT/ET_TestData14278/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/ENT/ET_TestData14278/My Project/Settings.Designer.vb b/SRC/MESWin/ENT/ET_TestData14278/My Project/Settings.Designer.vb new file mode 100644 index 0000000..cc6930a --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_TestData14278.My.MySettings + Get + Return Global.ET_TestData14278.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/ENT/ET_TestData14278/My Project/Settings.settings b/SRC/MESWin/ENT/ET_TestData14278/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/ENT/ET_TestData14278/My Project/licenses.licx b/SRC/MESWin/ENT/ET_TestData14278/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278.resx b/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278.vb b/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278.vb new file mode 100644 index 0000000..31f478f --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278.vb @@ -0,0 +1,1131 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmTestData14278 + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(908, 91) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmTestData14278 + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmTestData14278" + Me.Text = "ET_TestData14278" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmTestData14278Def + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmTestData14278Def + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsTEST_14278.DelTestDataBasis_14278", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmTestData14278Def + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsTEST_14278.ApproveTestDataBasis_14278", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmTestData14278ContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestData14278ContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestData14278ContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + ' OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsTEST_14278.LoadTestDataBasis_14278", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("TestDataBasis").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("TestDataBasis").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("TestDataBasis").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278ContDef.resx b/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278ContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278ContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278ContDef.vb b/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278ContDef.vb new file mode 100644 index 0000000..e03d9f7 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278ContDef.vb @@ -0,0 +1,658 @@ +Imports iMESExceptionManager + +Public Class frmTestData14278ContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 306) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 22) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 22) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 22) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 121) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 22) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 22) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + +End Class + diff --git a/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278Def.resx b/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278Def.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278Def.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278Def.vb b/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278Def.vb new file mode 100644 index 0000000..819a91e --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestData14278/frmTestData14278Def.vb @@ -0,0 +1,422 @@ +Imports iMESExceptionManager + +Public Class frmTestData14278Def + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 188) + Me.gbxBasisData.Size = New System.Drawing.Size(481, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(405, 267) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(217, 267) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(311, 267) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(481, 172) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance1 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 22) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance2 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 22) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'frmTestData14278Def + ' + Me.ClientSize = New System.Drawing.Size(505, 312) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmTestData14278Def" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = CInt(EditDataRow.Item("DataStamp").ToString()) + End If + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsTEST_14278.AddTestDataBasis_14278", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsTEST_14278.EditTestDataBasis_14278", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + + + +#End Region + +End Class + diff --git a/SRC/MESWin/ENT/ET_TestData14278/iMES.snk b/SRC/MESWin/ENT/ET_TestData14278/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) + + diff --git a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/MEStc_SXS/tcENT/clsENT.cs b/SRC/MEStc_SXS/tcENT/clsENT.cs index 2af6c9d..fff9750 100644 --- a/SRC/MEStc_SXS/tcENT/clsENT.cs +++ b/SRC/MEStc_SXS/tcENT/clsENT.cs @@ -173,7 +173,7 @@ namespace MEStc_SXS // //執行SQL指令 ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); - + // //Return success AddSubcontractorRet = "success"; } diff --git a/SRC/MEStc_SXS/tcTEST14278/clsTest_14278.cs b/SRC/MEStc_SXS/tcTEST14278/clsTest_14278.cs new file mode 100644 index 0000000..0096dd0 --- /dev/null +++ b/SRC/MEStc_SXS/tcTEST14278/clsTest_14278.cs @@ -0,0 +1,1360 @@ +using iMESCore.Settings; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +namespace MEStc_SXS +{ + public class clsTest_14278 : IDisposable + { + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + private string strSQLAddField; + private string strSQLAddValue; + + #region --- Initial Object --- + + public clsTest_14278() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + #region --- Subcontractor 外包商 --- + + + public string AddSubcontractor(string SubcontractorNo, string SubcontractorName, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into tblENTSubcontractor (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + + public string EditSubcontractor(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor Set "; + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "") + { + string DelSubcontractorRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + strSQL = "Delete From tblENTSubcontractorCont " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From tblENTSubcontractor " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelSubcontractorRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + + return DelSubcontractorRet; + + } + + public string LoadSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadSubcontractorRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + + // //Combine return value + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorRet; + + } + + public DataSet ShowSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowSubcontractorRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + + // //Return data + ShowSubcontractorRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorRet; + + } + + public DataRow GetSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetSubcontractorRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorRet = null; + throw; + } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorRet; + + } + public string SetSubcontractorIssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetSubcontractorIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetSubcontractorIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetSubcontractorIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + + return SetSubcontractorIssueStateRet; + + } + + + public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddSubcontractorContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTSubcontractorCont (SubcontractorNo, ContactorName"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + + + public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractorCont Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + + public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") + { + string DelSubcontractorContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From tblENTSubcontractorCont " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractorCont: " & e1.Message) + + return DelSubcontractorContRet; + + } + + public string LoadSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + string LoadSubcontractorContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + + // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Combine return value + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorContRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorContRet; + + } + + public DataSet ShowSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataSet ShowSubcontractorContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Return data + ShowSubcontractorContRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorContRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorContRet; + + } + + public DataRow GetSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataRow GetSubcontractorContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorContRet = null; + throw; + } // New Exception("kcENT.GetSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorContRet; + + } + + + + #endregion + + #region "test14278" + + public string AddTestDataBasis_14278(string SubcontractorNo, string SubcontractorName, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into TBLENTTESTDATA14278 (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + + public string EditTestDataBasis_14278(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update TBLENTTESTDATA14278 Set "; + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelTestDataBasis_14278(string SubcontractorNo, string AdditionalXml = "") + { + string DelSubcontractorRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + strSQL = "Delete From tblENTTestDataDetail_14278 " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From TBLENTTESTDATA14278 " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelSubcontractorRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + + return DelSubcontractorRet; + + } + + public string LoadTestDataBasis_14278(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadSubcontractorRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Select data + dsENT = new DataSet(); + dsENT = ShowTestDataBasis_14278(); + + // //Combine return value + LoadSubcontractorRet = CombineXMLReturnValue("TestDataBasis", "a", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorRet; + + } + + public DataSet ShowTestDataBasis_14278(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowSubcontractorRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From TBLENTTESTDATA14278 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "a", cnnTemp); + + // //Return data + ShowSubcontractorRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorRet; + + } + + public DataRow GetTestDataBasis_14278(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetSubcontractorRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From TBLENTTESTDATA14278 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorRet = null; + throw; + } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorRet; + + } + + public string SetTestDataBasis_14278IssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetSubcontractorIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update TBLENTTESTDATA14278 Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetSubcontractorIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetSubcontractorIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + + return SetSubcontractorIssueStateRet; + + } + #endregion + + } +} diff --git a/SRC/wsSXS/wsSXS.csproj b/SRC/wsSXS/wsSXS.csproj index 1c0f518..d55400a 100644 --- a/SRC/wsSXS/wsSXS.csproj +++ b/SRC/wsSXS/wsSXS.csproj @@ -145,8 +145,9 @@ Settings.settings True + - + diff --git a/SRC/wsSXS/wsTEST_14278/wsTEST_14278.cs b/SRC/wsSXS/wsTEST_14278/wsTEST_14278.cs new file mode 100644 index 0000000..8848909 --- /dev/null +++ b/SRC/wsSXS/wsTEST_14278/wsTEST_14278.cs @@ -0,0 +1,1655 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System; +using System.Data; +using System.Web.Services; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.Base.iMESComSubroutine; +namespace wsSXS +{ + public class wsTEST_14278 + { + private MEStc_SXS.clsENT objENT = new MEStc_SXS.clsENT();// + private MEStc_SXS.clsTest_14278 objTest = new MEStc_SXS.clsTest_14278();// + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private string strResourceDir = "Resources"; + + public wsTEST_14278() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + #region --- Subcontractor 外包商 --- + + [WebMethod(Description = "Load Subcontractor Data")] + public string LoadSubcontractor(string InXml) + { + string LoadSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractor(SubcontractorNo, IssueState, AdditionalXml); + + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorRet; + + } + + [WebMethod(Description = "Add Subcontractor data")] + public string AddSubcontractor(string InXml) + { + string AddSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractor(SubcontractorNo, SubcontractorName, Description, Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data")] + public string EditSubcontractor(string InXml) + { + string EditSubcontractorRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractor(SubcontractorNo, SubcontractorName, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] + public string DelSubcontractor(string InXml) + { + string DelSubcontractorRet = default(string); + + var SubcontractorNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objENT.SetSubcontractorIssueState(SubcontractorNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorRet; + + } + + [WebMethod(Description = "Approve Specified Subcontractor Data")] + public string ApproveSubcontractor(string InXml) + { + string ApproveSubcontractorRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var SubcontractorNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTSubcontractor Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTSubcontractor Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "SubcontractorNo: " + SubcontractorNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objENT.SetSubcontractorIssueState(SubcontractorNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveSubcontractorRet; + + } + + // Subcontractor Contactor + [WebMethod(Description = "Load Subcontractor Contactor Data")] + public string LoadSubcontractorCont(string InXml) + { + string LoadSubcontractorContRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + string ContactorName = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入SubcontractorNo,若有,表示要依SubcontractorNo查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractorCont(SubcontractorNo, ContactorName); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorContRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorContRet; + + } + + [WebMethod(Description = "Add Subcontractor Contactor data")] + public string AddSubcontractorCont(string InXml) + { + string AddSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorContRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Contactor Data")] + public string EditSubcontractorCont(string InXml) + { + string EditSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditSubcontractorContRet; + + } + + [WebMethod(Description = "Delete Subcontractor Contactor By Specified SubcontractorNo and ContactorName")] + public string DelSubcontractorCont(string InXml) + { + string DelSubcontractorContRet = default(string); + + var SubcontractorNo = default(string); + string ContactorName = defString; // 沒有傳入表示要刪除指定Subcontractor的所有Contactor + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + objENT.DelSubcontractorCont(SubcontractorNo, ContactorName); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorContRet; + + } + + + #endregion + + #region "TEST14278" + [WebMethod(Description = "Load Subcontractor Data")] + public string LoadTestDataBasis_14278(string InXml) + { + string LoadTestDataBasis_14278Ret = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objTest.LoadTestDataBasis_14278(SubcontractorNo, IssueState, AdditionalXml); + + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show TestDataBasis_14278 Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show TestDataBasis_14278 Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadTestDataBasis_14278Ret = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadTestDataBasis_14278Ret; + + } + + [WebMethod(Description = "Add Subcontractor data")] + public string AddTestDataBasis_14278(string InXml) + { + string AddTestDataBasis_14278Ret = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objTest.AddTestDataBasis_14278 (SubcontractorNo, SubcontractorName, Description, Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "TestDataBasis_14278", SubcontractorNo, DateTime.Now, "TestDataBasis_14278"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add TestDataBasis_14278 failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "TestDataBasis_14278", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add TestDataBasis_14278 failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "TestDataBasis_14278", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddTestDataBasis_14278Ret = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddTestDataBasis_14278Ret; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data")] + public string EditTestDataBasis_14278(string InXml) + { + string EditTestDataBasis_14278Ret = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName + GetXMLTagValue(ref SubcontractorName, xmlDoc, "subcontractorname", true); + + // Description + GetXMLTagValue(ref Description, xmlDoc, "description", false ); + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objTest.EditTestDataBasis_14278 (SubcontractorNo, SubcontractorName, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditTestDataBasis_14278Ret = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditTestDataBasis_14278Ret; + + } + + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] + public string DelTestDataBasis_14278(string InXml) + { + string DelTestDataBasis_14278Ret = default(string); + + var SubcontractorNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objTest.DelTestDataBasis_14278 (SubcontractorNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objTest.SetTestDataBasis_14278IssueState(SubcontractorNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objTest.DelTestDataBasis_14278(SubcontractorNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelTestDataBasis_14278Ret = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelTestDataBasis_14278Ret; + + } + + public string ApproveTestDataBasis_14278(string InXml) + { + string ApproveSubcontractorRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var SubcontractorNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objTest.SetTestDataBasis_14278IssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objTest.SetTestDataBasis_14278IssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTTestDataBasis_14278 Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTTestDataBasis_14278 Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "SubcontractorNo: " + SubcontractorNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objTest.SetTestDataBasis_14278IssueState(SubcontractorNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveSubcontractorRet; + + } + #endregion + } +} From 69934cdce355a47c96250e764bfd7e12e6056c75 Mon Sep 17 00:00:00 2001 From: yaozp Date: Wed, 17 Jan 2024 16:02:58 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91?= =?UTF-8?q?=E5=AE=9E=E4=B9=A0=E7=94=9F=E7=BB=83=E4=B9=A0=E4=B8=BB=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ET_TestData21681/ET_Subcontractor.sln | 39 + .../ET_TestData21681/ET_Subcontractor.vbproj | 194 +++ .../ET_Subcontractor.vbproj.user | 6 + .../ET_Subcontractor.vbproj.vspscc | 10 + .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../My Project/Resources.Designer.vb | 63 + .../My Project/Resources.resx | 117 ++ .../My Project/Settings.Designer.vb | 73 ++ .../My Project/Settings.settings | 7 + .../ET_TestData21681/My Project/licenses.licx | 7 + .../ET_TestData21681/frmTestData21681.resx | 120 ++ .../SYS5/ET_TestData21681/frmTestData21681.vb | 1129 +++++++++++++++++ .../frmTestData21681ContDef.resx | 120 ++ .../frmTestData21681ContDef.vb | 656 ++++++++++ .../ET_TestData21681/frmTestData21681Def.resx | 120 ++ .../ET_TestData21681/frmTestData21681Def.vb | 421 ++++++ SRC/MESWin/SYS5/ET_TestData21681/iMES.snk | Bin 0 -> 596 bytes .../SYS1_ENTbasis_21681/ET_Subcontractor.sln | 39 + .../ET_Subcontractor.vbproj | 194 +++ .../ET_Subcontractor.vbproj.user | 6 + .../ET_Subcontractor.vbproj.vspscc | 10 + .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../My Project/Resources.Designer.vb | 63 + .../My Project/Resources.resx | 117 ++ .../My Project/Settings.Designer.vb | 73 ++ .../My Project/Settings.settings | 7 + .../My Project/licenses.licx | 7 + .../SYS1_ENTbasis_21681/frmSubcontractor.resx | 120 ++ .../SYS1_ENTbasis_21681/frmSubcontractor.vb | 1094 ++++++++++++++++ .../frmSubcontractorContDef.resx | 120 ++ .../frmSubcontractorContDef.vb | 576 +++++++++ .../frmSubcontractorDef.resx | 385 ++++++ .../frmSubcontractorDef.vb | 480 +++++++ SRC/MESWin/SYS5/SYS1_ENTbasis_21681/iMES.snk | Bin 0 -> 596 bytes SRC/MEStc_SXS/MEStc_SXS.csproj | 2 + .../Properties/BuildIncrementVersionInfo.cs | 2 +- .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/wsSXS/wsSXS.csproj | 4 +- 44 files changed, 6498 insertions(+), 3 deletions(-) create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.sln create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.vbproj create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.vbproj.user create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681.resx create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681.vb create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681ContDef.resx create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681ContDef.vb create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681Def.resx create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681Def.vb create mode 100644 SRC/MESWin/SYS5/ET_TestData21681/iMES.snk create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/ET_Subcontractor.sln create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/ET_Subcontractor.vbproj create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/ET_Subcontractor.vbproj.user create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractor.resx create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractor.vb create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorContDef.resx create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorContDef.vb create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorDef.resx create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorDef.vb create mode 100644 SRC/MESWin/SYS5/SYS1_ENTbasis_21681/iMES.snk diff --git a/SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.sln b/SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.sln new file mode 100644 index 0000000..85b1902 --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.sln @@ -0,0 +1,39 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_Subcontractor", "ET_Subcontractor.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test", "..\..\Test\Test.vbproj", "{C4A48E3F-38E4-4E88-A47D-FA5510686E57}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.ActiveCfg = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.Build.0 = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.ActiveCfg = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(TeamFoundationVersionControl) = preSolution + SccNumberOfProjects = 3 + SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} + SccTeamFoundationServer = http://tfs.imestech.com:8080/tfs/messeries6 + SccProjectUniqueName0 = ET_Subcontractor.vbproj + SccLocalPath0 = . + SccProjectUniqueName1 = ..\\..\\Test\\Test.vbproj + SccProjectName1 = ../../Test + SccLocalPath1 = ..\\..\\Test + SccLocalPath2 = . + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.vbproj b/SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.vbproj new file mode 100644 index 0000000..bcad4fb --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.vbproj @@ -0,0 +1,194 @@ + + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_TestData21681 + ET_TestData21681 + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_TestData21681.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_TestData21681.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmTestData21681.vb + + + frmTestData21681ContDef.vb + + + frmTestData21681Def.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.vbproj.user b/SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.vbproj.user new file mode 100644 index 0000000..a391289 --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.vbproj.user @@ -0,0 +1,6 @@ + + + + Project + + \ No newline at end of file diff --git a/SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS5/ET_TestData21681/My Project/Application.Designer.vb b/SRC/MESWin/SYS5/ET_TestData21681/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS5/ET_TestData21681/My Project/Application.myapp b/SRC/MESWin/SYS5/ET_TestData21681/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS5/ET_TestData21681/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS5/ET_TestData21681/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS5/ET_TestData21681/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS5/ET_TestData21681/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS5/ET_TestData21681/My Project/Resources.Designer.vb b/SRC/MESWin/SYS5/ET_TestData21681/My Project/Resources.Designer.vb new file mode 100644 index 0000000..43b329e --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_TestData21681.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS5/ET_TestData21681/My Project/Resources.resx b/SRC/MESWin/SYS5/ET_TestData21681/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS5/ET_TestData21681/My Project/Settings.Designer.vb b/SRC/MESWin/SYS5/ET_TestData21681/My Project/Settings.Designer.vb new file mode 100644 index 0000000..cf0082a --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_TestData21681.My.MySettings + Get + Return Global.ET_TestData21681.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS5/ET_TestData21681/My Project/Settings.settings b/SRC/MESWin/SYS5/ET_TestData21681/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS5/ET_TestData21681/My Project/licenses.licx b/SRC/MESWin/SYS5/ET_TestData21681/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681.resx b/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681.vb b/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681.vb new file mode 100644 index 0000000..3ea0471 --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681.vb @@ -0,0 +1,1129 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmTestData21681 + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmTestData21681Def + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmTestData21681Def + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmTestData21681Def + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmTestData21681ContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestData21681ContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestData21681ContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsTest21681.LoadTestDataBasis_21681", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("TestDataBasis").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsTest21681.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681ContDef.resx b/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681ContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681ContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681ContDef.vb b/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681ContDef.vb new file mode 100644 index 0000000..333e315 --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681ContDef.vb @@ -0,0 +1,656 @@ +Imports iMESExceptionManager + +Public Class frmTestData21681ContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 306) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 22) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 22) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 22) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 121) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 22) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 22) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub +End Class + diff --git a/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681Def.resx b/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681Def.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681Def.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681Def.vb b/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681Def.vb new file mode 100644 index 0000000..c38b281 --- /dev/null +++ b/SRC/MESWin/SYS5/ET_TestData21681/frmTestData21681Def.vb @@ -0,0 +1,421 @@ +Imports iMESExceptionManager + +Public Class frmTestData21681Def + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 185) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 264) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 264) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 264) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 169) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance1 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 22) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance2 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 22) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 309) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = CInt(EditDataRow.Item("DataStamp").ToString()) '强制转换为String类型,防止报错DBNull + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("SYS.wsTest21681.AddTestDataBasis_21681", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsTest21681.EditTestDataBasis_21681", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS5/ET_TestData21681/iMES.snk b/SRC/MESWin/SYS5/ET_TestData21681/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_Subcontractor_21681 + ET_Subcontractor_21681 + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_Subcontractor_21681.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_Subcontractor_21681.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmSubcontractor.vb + + + frmSubcontractorContDef.vb + + + frmSubcontractorDef.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/ET_Subcontractor.vbproj.user b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/ET_Subcontractor.vbproj.user new file mode 100644 index 0000000..a391289 --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/ET_Subcontractor.vbproj.user @@ -0,0 +1,6 @@ + + + + Project + + \ No newline at end of file diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Application.Designer.vb b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Application.myapp b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Resources.Designer.vb b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Resources.Designer.vb new file mode 100644 index 0000000..20be636 --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor_21681.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Resources.resx b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Settings.Designer.vb b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Settings.Designer.vb new file mode 100644 index 0000000..f5b6aa4 --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_Subcontractor_21681.My.MySettings + Get + Return Global.ET_Subcontractor_21681.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Settings.settings b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/licenses.licx b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractor.resx b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractor.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractor.vb b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractor.vb new file mode 100644 index 0000000..11fe382 --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractor.vb @@ -0,0 +1,1094 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmSubcontractor + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 171) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmSubcontractorDef + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT_21681.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT_21681.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmSubcontractorContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT_21681.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + 'With .Bands(0).Columns("Title") + ' .Header.Caption = "Title" + ' .Width = 110 + ' .Hidden = False + ' .Header.VisiblePosition = 4 + 'End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + 'With .Bands(0).Columns("EMail") + ' .Header.Caption = "EMail" + ' .Width = 150 + ' .Hidden = False + ' .CellAppearance.ForeColor = System.Drawing.Color.Blue + ' .CellAppearance.FontData.Underline = DefaultableBoolean.True + ' .Header.VisiblePosition = 6 + 'End With + 'With .Bands(0).Columns("Description") + ' .Header.Caption = "Description" + ' .Width = 200 + ' .Hidden = False + ' .CellMultiLine = DefaultableBoolean.True + ' .Header.VisiblePosition = 7 + 'End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT_21681.LoadSubcontractor", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT_21681.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + Private Sub iugDetail_Load(sender As Object, e As EventArgs) Handles iugDetail.Load + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorContDef.resx b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorContDef.vb b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorContDef.vb new file mode 100644 index 0000000..84e729d --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorContDef.vb @@ -0,0 +1,576 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 167) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 246) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 246) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 246) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 151) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 116) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.TabIndex = 13 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 22) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 120) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 22) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 22) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 291) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + 'Case 2 + ' Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Then 'Or DefMode = 2 + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Then 'Or DefMode = 2 + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Then 'Or DefMode = 2 + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + 'strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput("title已删除"), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + 'strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput("email已删除"), "") + 'strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput("description已删除"), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT_21681.AddSubcontractorCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT_21681.EditSubcontractorCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Private Sub btnConfirm_Click_1(sender As Object, e As EventArgs) Handles btnConfirm.Click + + End Sub + + Private Sub lblSubcontractorNo_Click(sender As Object, e As EventArgs) Handles lblSubcontractorNo.Click + + End Sub + + Private Sub txtSubcontractorNo_ValueChanged(sender As Object, e As EventArgs) Handles txtSubcontractorNo.ValueChanged + + End Sub +End Class + diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorDef.resx b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorDef.resx new file mode 100644 index 0000000..c163729 --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorDef.resx @@ -0,0 +1,385 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAABGdBTUEAALGPC/xhBQAAHYxJREFUeF7t + nXmUXVWVxl32H91r6XK1A6btDFV579WYSlXmVKUyVOaRBDLPVMbKiGaAIJEEEiAEGkRUMCItKoiICCJj + QBQRE8EBURFFsV2COKFtI6B227f39zy3+uXw3fPOrXrv1Rv2t9ZvFZq6t97de593z7DPPm9QqVQqlUql + UqlUKpVKpVKpVCqVSqVSqVQqlUqlUqlUKpVKpVKVkRKJRM3gwYN3CFfKf39cft4lP+8Vrha2CdPk/6sy + v65Slb8k4GdUV1dfJT+/LQSe/Fl4ylzXbG6lUpWHqqqqRkhgHxa+K7AGEJdvCHjz6NtFVbpKpVKnybf+ + pRLIeAOwQM8FnxXWmD+pUpWGMIaQxvETK5jzyUPy92aaP69SFa8kWD9pBW/BkIZ53cCBA5Pmo6hUxSMJ + 0GYhV+OM3vCisMd8LJWq7yUBuSYjQL0YV58Mlg+rDTaNrAt2ja0PDoxrCC4e3xic21ofbBlVF6yQf5vb + VBNMkN9j13vwqDDffESVqm8kQXhFRlA6SSYGBzOHpILto+uCyyY0erNbGtCCoTVBUypB7+tCxiZnm4+q + UhVWEoAP2AHJSApLWmqD89oaaAPw5aL2hmDtiNqgPf5b5XLzkVWqwkiC7mNWEFImNaTSXSgW8L1ho3TN + RtX6NxR5k9xsPrpKlV9JwO2xA5CBcQQL7lxxWMYsi1pq0m8o9vcJj5hHUKnyI/kmXkEC7xTwzb5jdO7f + GlFgjDKlMUU/C+Gn5lFUqtwqkUjMIwF3CgjUg+N6N9boKetG1AWpBP9cFn82j6RS5Uby5phEAu0UJjQk + aeAWEsyQDfGb7XrGPJpK1TuZhMNfWAF2CmPr+r5xhLy3rSEYXuPVSG4yj6hS9UwDBgx4mwTSk1ZgnQIW + /Vig9jWt0mjZ581Euo27zKOqVPElQfRhO6gyGSkDchacxcL0IV6Dd80IVsWXfLuuJMHUDVa2sXjHArOY + OLO5hn7+TORZ55jHVqmyS4KmSvhpZhBlUpMYnJ5eZQFZjEzL/iZ5SRhjHl+lckuCxZm2vn5kvHyqYgAT + CexZMniytrb2HcYEKhVXdXV1FwmebmY3pWgAFjvoDjYms85uHTNmUKler2Qy2SRB8hsraLoZVpMILsjh + QiASGJHevmxYbbobNLkxlc7cXT28Ntg2ui7Y19oQXDKeX9sT0C1kz2WxwZhDpTpVMli9gwRMN0gSZIEX + h7NG1AZt0t2pz/5t3s3EhlSwWRoS9oywe8ZhgzwD+xsZ/ApfFMYkKtXfJV2rThIs3cyTb3YWcL6gYYzx + WJtwUZsYnN5IhbcL+xu+IP2e3T+Du4xZVKp0FZK3SFB8zwqSbrDecWEPp3Rz0TAY4+uTvUql75C3Ertv + BvuNeVSVLgmGQ1ZwnEKXdG9YkLlAOrpHEPYKTDevlPEK+/vZwPbebHlb0uWcZkykqlRVVVUNl2B41Q6O + kJ50rbDHPB9vjSimyuAeOVjss7jAdDW7XwaP4+1qTKWqRGG3HQmMNA0ykI4bePh9z4zanIKVfQzk2Wdy + cbp8AbD7hchb5KgxlarSJAGw2A6ITJbKYJYFVRR7pdvC7sOYO2VYsL+rI/jUkfnBE59eHbz82Lbgt1/u + Cp763Nrg+EeWBp+45PRg/5aOoKkxe6pIJnEbCbqC2RIbk8lkuzGZqoL0D+L8k3YwhGBgjuBhQcV49xi/ + xtFQnwrev29m8MrXtwV/+9bOrPz8vg3BNe+dFUwdP5TejxG3keCzo+oKu5fhTmMzVaVIulb7SCB00znC + /+1xRGD3sNm5pj34nrwhWEPIxmvf2B7ccGhe0NKUdYo2TdxGsnKY+77S1VpvTKcqd0mX4Z3SQJ5ngQDi + 7g70KcWDtwYL/Lh8//azgs3L2ujfsInbSLI8xzOaq1Uhyvb2iLMQh3UOdo9MctU4MsHbhP0tm53SfWKf + m7FVnpvdI0QH7BWgfv36vUmc/SPb+SGofsiCh/Eej3FHPhpHyN0fWkz/ZiYYgMdJUcHzs/uE6IC9zCVO + xgE01Plgj+fqNLJjs+39zmfjCPFpJEiAZM/AOKe1Pr0Aye5j0AF7OUscHHkEWpy3x6wm9zftrs4JNKDz + gU8jiTMeQUE6do8QHbCXqeBY5vAQTHeygLFZO9w97pjd0RL8+kubaTDni2yNJE6qvsfb8YQxqaqcJI7F + sQDM4el0DRYsNofbG4MRte6u1SP/vpwGcb65aMcU+nlCZjf5d7WyTT5UV1cvN2ZVlYPEocuYo0N8Z66W + ZlkvOHZwDg3eQvCHr24J5kxuoZ8rJE5ZVOxDYfcw3GdMqyoHiUPvtxzcDQKBBYjN/jb3ttVCjjuiuP+6 + JfSzhaDiPHs2BnY7snuEyJfOLGNeVSlLxh5zmINDNnkOYBc4SujUpBLpRTwWtIUmW1crTtEJ7Dth9wBi + 11uMiVWlLHFm5HkebZ6VEfeOdecrIShZsPYFv354czBh7BD6OQEq0Pvudcc2Y3aPEHmLtBozq0pR4sR+ + Auo+UQejKjoLDBvsC2HXg6FDaoKffHE9Dda+4voL59LPGoJCEew5Ga5sX3mLXGdMrSpFiQO3MseCEZ6l + Q8+XsQf2g7N7gKO7p9Mg7Uv+8viOYN7UYfTzAuwf8d1GnGVG6zV5i9Qbc6tKTeLA45ZDu0HxAhYQNq6F + szHD64Pnj2+kQdrX3HblmfQzh/iegnWpgPR/dg8gX0JHjLlVpSRx3hjbmZmg7hQLiEzwLes6YfaKvTNo + cBYLqxeMpp8b4A16qedYBHvf2T0ML/bv3//txuyqUpG8+o8QZ6bxXRjEtyy7HjTWp4Kf3l1cYw+b48eW + 0s8egu4Te26bQ/JF0exYXRdbdxqzq0pE2DEYmbXrk5uUrWvxvi2TaVAWG6scbxEMwNmzM7AFmd0DSAO5 + 3dhdVQoSp0XuN/cdnGer+vHtW9fQgCw2Pv/+hfTzh2zyXBfBZAW73vDXQYMGJYz5VcUu+Ub7NHFiGt/B + OWrlsusBts+yYCxW5k+LntHyzSQArlpfYvN3G/OrillVVTjeY/Brmc7LxGdwjt9h14Z85Ya+SUjsKTde + fDp9jhDfKo1ZMpkfMi5QFbPEUTstx3XjOzh39beXzB5Jg7CYefmxrUFHWxN9HrCw2S/T933jGpzHTctb + ZJhxg6pYlUgk7mXOA74bh0Y7BufHDs6lQVjsXHP+LPo8IM55izgPnt3DcIFxg6oYlUwmU8RpaVpqEtTh + NjhvnF0PUqlE8Nw9xT21GwVqbDXURQe3byo8SiKx6w2PG1eoilHioMjulW+d3TlN0SvnW1eMo8FXKrzn + rPH0uQDKkDJ72KD2sCv1RrpZk4w7VMUmV/cKZW2YwzPBdlPU5GXXA0yZssArFe67Nnq/SLO8HX2zfKe5 + u1lXGHeoikmu7tVQcb5PWoUrvbttVEN6sMsCr5SYMbGZPh/wPeohyxrRM8YlqmKSOCaye4VuE3O0zSxH + XagD20pj5TwbV507kz4fwPMzu9ggRy3LMXITjVtUxaLezl6hwJrr6IKHP7aMBlyp8YPPn0WfD6B7iW4m + s4/NDHeROT2hqpjk6l4h6H0qtaN7wa4HHeOaaLCVKhuXtNLnBL5T4dhsxq43PGBcoyoGiUMiu1e+BeFw + QCa7HhzcXjxbanOBa68I7MDsY5MlN+tVPZ2qiCQO+YzloG58jm/GEQaYxWHXg3LpXoW8+NCmdKEJ9qwo + MsdsxMiyHXehcY+qryUOec52EMB8vU+fGnWx2PWg3LpXISvnR6fB7/bMzTrTUelF+IBxj6ovJd9UQ4lz + 0qBsDXOsjaukT7l1r0JQXJs9L/DNeHZlHQjfMS5S9aWqq6s3E+ekwTccc6yN6/CYcutehTx+8yr6vCDO + RirXdG8ymRxo3KTqK4kjIute+czIYPW4LsmvHz28ngZXuTB2RPRA23e617VvRr68dCtuX0sc8ZTtmJCD + Hk52HcC59swxNLDKBWz8Ys8NNnjuNFzt3iPyKeMmVV8I1TSIU9IgZZ051GaVw8FHdk2jgVUu3P7+6Ole + 3+wDnA3Prje8YFyl6gvJAH0ecUoaXwe7VoTvvLq0kxOz8dIjXfS5wZgY4xDXeSKpVGqIcZeq0JI+7qXM + KcC3i+A676PYSormg2mOM9iZvRhIlWfXA/GR7lXvK4kDvmw7JATbQ5kzM8EYhV0LkL3LAqrc2N05gT4/ + 8D2zMct0703GXapCS4z/O8sZaVDkjDnSxnX08frFrTSgyo0bL4ku6OBbWA6w6w1PG3epCqmqqqp3EWek + meaZf7XYUXf3ynOKu6xorvjOrWvo8wPfcRzAsQrsHkC6Wf9k3KYqlMTwM2xHhPiW93cdM/bgR5fSgCpH + 2PODOAN11xnr8mXWZtymKpTE8HtsR4T4njnoWgX+zcNdNJjKkQXTh1MbAGY3hqvAdSKR2GbcpiqUxOgf + Z84APkceu+bvJ44dQgOpXDmwdTK1A/AdqO90LLgK1xu3qQol6dd+kzgivSuOOdDGdUjljtWlVVq0t3zu + qugFQ9+BOrbhsuuB+Opbxm2qQkkM/xfbEcA3g9e1gn7tBX13nHNf8OO71lE7AN9yScBxlsr/GrepCiHp + XtUSJ6RB6jpzns18x+LW3R9aTAOpnIkqKuf7hQOyFLfWsqSFkjSQRcwJwPeY4w5HFupTt62lQVTOzOpo + obbAW4HZj+E6rk58ts64T5VvybfRhcwJ4JxWv0Gl63CcP3x1Cw2icmbL8jZqC4ATppgNbbC9gF1vuMa4 + T5VvuWawmOMYUeUzhw+tpQFU7iBzmdkD+G7BzZLZ+zXjPlW+JcamOVi+3QHXjAvWBFgAlTu3HF1A7QHW + eXZbQU103d5XjPtU+ZYY+2eW8dOM9Vz5xdw+ux5U2hRvyNc/uZLaA/huXQauSidCnXGhKp8ihk+DsyuY + 02xcfeXL90ynAVTuvPDgJmoPgG21zI4MV30xGTsuMC5U5Uti5GpmfOA7Z+863vmWyxfQAKoEoqZ649TK + cq0viet0b0i+JUbuYMYHvkmKaEjsevDYJ1bS4KkEoqZ6AYrrMVvauDIUxHdXGTeq8iUxciczPvBdA5nk + WND6xf0bafBUAq6p3nM9p88xzc6uB+I7PU893xIjR66BIGGOOc0mag81jlhjgVMpuKZ6sWuQ2dLmUHv0 + 5inxneZk5VuuNZDz2vwWtKJOap3SXp5lRn356IVzqV2AT43jEMc2gt8ZN6ryJTFy5D50n2MO0Jdm14IV + p4+igVMp3PpvZ1C7gDUy+Gb2ZGCjFbsHaGxsfLNxpSofEiOfsI0OkgJzlg0qKbLrwZozyrtQXDbuvy76 + DEOcHc/sycB59OweIJlMNhlXqvIhMfJ3bKMDpI4wZ9ngLcOuB+sWjaWBUymc+FT0YqFvljQ4w1EMXLrI + c40rVfmQGPlp2+jAd6MUas6y68HmZW00cCqFp+/opHYBs5v8FwvRHWP3ANJAdPttPiVGpmeB+OZhuWph + bVtZ2ueg95YXjkevpvtmKQDXeSvSQI4aV6ryITHyL22jgxbP1V7sV2fXg7PXjKeBUyn86evbqF0Ajohg + 9mTsa3Vm9d5qXKnKh8TAv7cMngb7O5izbPY7GgiqDLLAqSTqIvbJoO4VsycDJwazexhOGleq8iEx8CuW + wdP41nByHT557saJNGgqiTEj+Er40Bg7C0Gj/D67j/CicaUqHxID/80yeJo2zy4AFhPZ9eD8rg4aNJXE + 9AnN1Da+s4Qh2HrA7gPEjW/8uzdVORczOPDtIyOniF0PDmybTIOmklg8eyS1DfBNWAQTGqIbSL9+/d5k + 3KnKtZjBgW8D2etoIId3TqVBU0l0LhxLbQN8MhVCXEez1dfXv924U5VrMYMD3waC/dXselDuJ0r5gKlu + ZhtwwKNiZQgKiLN7gFQqNcC4U5VrMYMD3wbyHkcDuWJvZVR0d7F3/URqG4AJDmZTxqym6AaSSCRqjDtV + uRYzOPBtIGc7asji7HAWNJUExmHMNsC3pBJwbb2VBjLUuFOVazGDg1yMQQ7tmEKDppI4uns6tQ3Y5Vn+ + Byxw7NoUxhh3qnItYuw0vg3EtQ6C7gULmkrig+fPorYBvhvSwEJHwmJ1dfUk405VrsUMDnwbiKsmVleF + JyuCGw7No7YB2G/ObMpY0uIs3jDTuFOVa4mB/9s2OEA9JuYom0sdaRCVvmEKoKoLsw2Is6vQVTlGGsgZ + xp2qXEsM/Cfb4ADHOTNHMaKq/82bMowGTSVx1zWLqG1AnEM9V7vL/6ww7lTlWmLgl2yDgyExcoXwu+we + E1sr62QpxkMfXUptA1DzitmT0SmNid0DJLTSe/4kBn7BNjjAW4E5ihFV1aRSC1dn4ipB6lt3DGyQ7hi7 + B9BNU3mUGJhumAIYXzBn2UQl0iWTlV32Bzx4LPoNEqeBdDkKyEkD2W3cqcq1xMA/tA0eghkq5iwbVyLd + f31tKw2cSuGOqxdSuwCMK5g9Ga5dhcJ+405VriXGfdIydje+qRCuqhvPH6/cyorgpsvmU7uAdSP8Z7Gy + nHqrDSRfEuOetIzdzV7PlV4UIGDXgx/e0UkDp1I4dnAOtQtAVXxmT0aWfem7jDtVuZYY+BHb4CHIs2LO + snGlQXzj5lU0cCqFq86dSe0CfMuPAqyZsHuA6urqLuNOVa4l3z53MKMDDAyZs2xcq7w4M5wFTqVwaOdU + aheATGhmT8ZaxzqIsNa4U5VriXGPWcbuxreP7CrRf7RCD9AJ2bdxErULiJPNu9yxki4sNu5U5Vpi3MOW + sbvxXch6n6OySaUXj9uxqp3aBcTZD4Jj29g9gPQCtLpiviQG3mkbPARdJ+YsRlQF8mnjh9LAqRQ6F0Vv + uUXRPWZLxlzHOK+qqmqycacq15IB3jJmdIDBN3MWY3x99FoIC5xK4cyZI6hNAOpdMVsypju23IoPxxp3 + qnIt+faZwowO4tSPdRVYfuLTq2nwVAJjhvP1izipPMB1ipfQbNypyrVQPp8YPE2c+rFbHQN1rAWw4Cl3 + Xj25ndoD+FauDEGdMnYfID5MGXeqci0x7juZ0QG6TcxZDFeV967llTlQf/auddQeIM6XD0CDYvcBAwcO + /FfjTlU+xIwOmmOWx4xKWhwt3QwWQOXOl29YTu0BMCvFbBgFSpWy+4BBgwa91bhSlQ+Jkb9rGz0kzkDS + NRX5zVsqbxxy05HoPCzs72A2jKIu+pxC1MX6R+NKVT4kRv6kbfSQPTFWe10p2ZVYI+syR0UT3zSeEHYP + w6vGjap8SYy81zJ6N3EyTl1nhcyc1EyDqJzZuTp6kRC2YjZk7HdUjhGeNG5U5Uti5BmW0bvB9C1zWhQd + jtT3h69fRgOpXJnd0ULtEHeKN0uq+2eNG1X5khi5n2X0bjD/zpwWRae8cdh9QCUdh4B9MMwGIO4Ur2s/ + unCxcaMqnxJD/8oyfJq4M1lIn4hKO8FhMv/5aGXsMHSdkY4yosx2UbiKxgmayVsIiaEfsAzfzaEYOUNg + piMtAjM7LKDKjR2O8Qc2PzG7ReFKM6mqqmozLlTlU2LsK2zjh8SpAAhcs1nol792cjsNqnLhlRPbguYh + vFuUlPHHJTGmzgGOw2P3Av3799ezQQqhRCIxjzkAzI+RtAguFXBKLrsXuP6iuTSwygVXJRPs32c2c4FG + xe4lPnveuE+Vb6VSqbcwJ4A4J7KGuHYZdrQ1Bb//6hYaXOWAa5PU2pgLhNhUxe4DsBvUuE9VCInRH7Wd + EIK5eObAKHB6UlTFRYCq5yy4Sp2v3biCPm8IDj1l9orCVTBOON+4TlUIVVdXHyROSANHMQe6cL1FWkc2 + BM/ds54GWSmzcUkrfV7gWxA8E9c2AnSLjetUhZA0kJnMEWBOzKlJkO0tsm7RWBpkpcoXPhBdqBpgjYjZ + yYWrKJ9QZVynKoTMOORVywlpsB4SJ3ExxPUWAeV0Eu6ZM6J3D/qeO5/Je90pJs8at6kKKTH8/ZYjuomT + lxWS7S0CHv34ChpwpcR5m6IH5iDOWSAhriMPhJuMy1SFlGscEjftJCSLo4O62iQNulLhynNm0OcKmdCD + tweY6NhmK+OPVcZlqkKqqqqqQRzwN9shIXHS3zNxrQaDpXNH0uArdh6/eRV9nkx8C/BlkqV79dKAAQPe + ZlymKrTk2+kW4pQ0cbN7M3HtigOzOlqCP5ZQrhbyythzZBJ3a21IlrGbdq/6UtLNOoM4JU1PB+sApTbZ + PTMZN6ox+N7tZ9GALCa+dP0y+vkzQdZunNpXIdnGbdq9KgKJI75tOyYEdWKZY33AoTHsnpk0NdQE9167 + hAZmX/PXJ3YEl++J3ikYgvQQnCHPbJCNLG+PX2r3qggkb5HziHPS4IDPw+3cuT64Bp+ZnL2mPfjWZ4pn + L/t91y0Jls0dRT+rDcogsWfPhses3yXGRaq+lAzWxReDX8lwzCksjXF8GGN2k3OPwylctGNK8B/3baBB + m29Q2+rmowuCJbNH0s/GWNOLN6xr5Vz4YyqVShoXqfpa4pAPWw7qpjGZiJ2fZbMyy/RvJqOG1QcHt08J + Hv5YYbbtoqbVh/bPDqa2D6WfJ4reNI4sW2sx9rjauEZVDBKH1Ipj6DHRYEEvZrRCcFY4u7eLjnFNwcVn + Tw2+n+PBPEoToRKJq55uFPjCiJuIaOOqbyz8j6AlRotNMhY5YDmqm/RAtIfrIplkyVh1go1J2IS1YUlr + cMHWycFHDswJ7vrgouDkTauC7962Nv0meP6BjcFLX+lKd5dePbE9+NEX1gUPXb8suPHi04PD0tBwRENU + DV0fsIUWe2DYs/myIvvkxTXGJapiEvKz5E3yA+KwNMhQPUIcHhcMatvd36BFCQKbPU8c8OwJcu8MnpUv + qn8xLlEVm8Q5m4nTuunJLrkosKFouGM3YrHQ0ZAKtsbcW87AITquqolAvqDWGVeoilXSSL7EnBdyesxt + uS5QCHtxS01QG7HVtC/JVcMIacqSXSBo3atSkDhqvuW417Gph3P/UexrrU83vGFF8EbJdcMA6J6yv5XB + b4UW4wJVscs1YA/Btz8Lht6yY3ThGwv2cKAmVZzjmn04PL4xvc+f/U2LTcb0qlKROO2zlhNfR5zDKXsC + UjiQjoGxzwi/QPMCjQ87J7F3oyc5VD4gG9qjWwU+aEyuKjWJ8562nPk6epLi3Rv2tTYEm+VvouFgNXqe + vG1QwA6NCKktWGPAf6MB4N+RE4acMjQGvCFwUi+7by7BhjPU5WX2sjhuTK0qRaVSqQHEqa8DwcoCpdJA + xsGsLPthQqQbe4Mxs6qUJY6cxRxsg/0Q+e5yFTN4azR7jpvEphca86rKQeLUyHNFMsFGKWy7ZQFUriCv + Cl8OzB4MbRxlKmzeYQ5nYKU8buHmUmO3DMJdxbsJL0vj2GLMqSpHocI4cXwkGChjzzULsFIE07brZbAf + 540BpGE8JrYbZ8yoKmcNGjSoUZz+czsIomhIJoK5Q2vSM09xq50XA9h2jKr3mC3znLY9BWkc15122mlv + NuZTVYIGDBjQX5x/3A6GbCAXabJ8++IkpXwtNOYCnCuI/R54U0QdEuTBj4U1xmSqSlO/fv3eJAFwW0ZA + xAZjFayaY6/ILunTowvDAjbfoLFiTLG0pTbyDPg4yFvjWulSvcuYSlXJkmBYIUFxwg6SnoLzRvCWWdRS + k875QuBifaG3jQddJRwxgK4eFg+xXoEcKXQB2efoIU8kEomFxjQq1f9LGsq7JUCeswImp2B1GlPJo2uT + wcSGZDBDghyH/qAx4U00qymV7hZhNR2nNSGdHoURPFe1e8NX5PnPMqZQqbiSyeQ7JVguEf6UETxli7wt + 7pWfi83jq1R+kobSJIFzjfBsGExlxEl5W1wojDWPq1L1XBJISFUp9cZyQhuFKu+SAGuVbskRCbgfWgFY + bLwon/MW+bxd8jZMmY+vUhVOtbW175Dga5dAXC8claC8U3gmI0gLxc+kIdwjPy+Xn53yU3f2qYpbEqR1 + wnwJ2HPl55XCjcIXpSE9Jj/RiLBFNfLohgxeFl4Q8MZ6PLMhyL1GYy3H/EmVqvw0aNCgt6ILJEE/Bnli + qVRqiPzvgdIA/ln++Y1//y2VSqVSqVQqlUqlUqlUKpVKpVKpVCqVSqVSqVQqlUqlUqlKUW94w/8BfA58 + DBwW/bcAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAABGdBTUEAALGPC/xhBQAAHYxJREFUeF7t + nXmUXVWVxl32H91r6XK1A6btDFV579WYSlXmVKUyVOaRBDLPVMbKiGaAIJEEEiAEGkRUMCItKoiICCJj + QBQRE8EBURFFsV2COKFtI6B227f39zy3+uXw3fPOrXrv1Rv2t9ZvFZq6t97de593z7DPPm9QqVQqlUql + UqlUKpVKpVKpVCqVSqVSqVQqlUqlUqlUKpVKpVKVkRKJRM3gwYN3CFfKf39cft4lP+8Vrha2CdPk/6sy + v65Slb8k4GdUV1dfJT+/LQSe/Fl4ylzXbG6lUpWHqqqqRkhgHxa+K7AGEJdvCHjz6NtFVbpKpVKnybf+ + pRLIeAOwQM8FnxXWmD+pUpWGMIaQxvETK5jzyUPy92aaP69SFa8kWD9pBW/BkIZ53cCBA5Pmo6hUxSMJ + 0GYhV+OM3vCisMd8LJWq7yUBuSYjQL0YV58Mlg+rDTaNrAt2ja0PDoxrCC4e3xic21ofbBlVF6yQf5vb + VBNMkN9j13vwqDDffESVqm8kQXhFRlA6SSYGBzOHpILto+uCyyY0erNbGtCCoTVBUypB7+tCxiZnm4+q + UhVWEoAP2AHJSApLWmqD89oaaAPw5aL2hmDtiNqgPf5b5XLzkVWqwkiC7mNWEFImNaTSXSgW8L1ho3TN + RtX6NxR5k9xsPrpKlV9JwO2xA5CBcQQL7lxxWMYsi1pq0m8o9vcJj5hHUKnyI/kmXkEC7xTwzb5jdO7f + GlFgjDKlMUU/C+Gn5lFUqtwqkUjMIwF3CgjUg+N6N9boKetG1AWpBP9cFn82j6RS5Uby5phEAu0UJjQk + aeAWEsyQDfGb7XrGPJpK1TuZhMNfWAF2CmPr+r5xhLy3rSEYXuPVSG4yj6hS9UwDBgx4mwTSk1ZgnQIW + /Vig9jWt0mjZ581Euo27zKOqVPElQfRhO6gyGSkDchacxcL0IV6Dd80IVsWXfLuuJMHUDVa2sXjHArOY + OLO5hn7+TORZ55jHVqmyS4KmSvhpZhBlUpMYnJ5eZQFZjEzL/iZ5SRhjHl+lckuCxZm2vn5kvHyqYgAT + CexZMniytrb2HcYEKhVXdXV1FwmebmY3pWgAFjvoDjYms85uHTNmUKler2Qy2SRB8hsraLoZVpMILsjh + QiASGJHevmxYbbobNLkxlc7cXT28Ntg2ui7Y19oQXDKeX9sT0C1kz2WxwZhDpTpVMli9gwRMN0gSZIEX + h7NG1AZt0t2pz/5t3s3EhlSwWRoS9oywe8ZhgzwD+xsZ/ApfFMYkKtXfJV2rThIs3cyTb3YWcL6gYYzx + WJtwUZsYnN5IhbcL+xu+IP2e3T+Du4xZVKp0FZK3SFB8zwqSbrDecWEPp3Rz0TAY4+uTvUql75C3Ertv + BvuNeVSVLgmGQ1ZwnEKXdG9YkLlAOrpHEPYKTDevlPEK+/vZwPbebHlb0uWcZkykqlRVVVUNl2B41Q6O + kJ50rbDHPB9vjSimyuAeOVjss7jAdDW7XwaP4+1qTKWqRGG3HQmMNA0ykI4bePh9z4zanIKVfQzk2Wdy + cbp8AbD7hchb5KgxlarSJAGw2A6ITJbKYJYFVRR7pdvC7sOYO2VYsL+rI/jUkfnBE59eHbz82Lbgt1/u + Cp763Nrg+EeWBp+45PRg/5aOoKkxe6pIJnEbCbqC2RIbk8lkuzGZqoL0D+L8k3YwhGBgjuBhQcV49xi/ + xtFQnwrev29m8MrXtwV/+9bOrPz8vg3BNe+dFUwdP5TejxG3keCzo+oKu5fhTmMzVaVIulb7SCB00znC + /+1xRGD3sNm5pj34nrwhWEPIxmvf2B7ccGhe0NKUdYo2TdxGsnKY+77S1VpvTKcqd0mX4Z3SQJ5ngQDi + 7g70KcWDtwYL/Lh8//azgs3L2ujfsInbSLI8xzOaq1Uhyvb2iLMQh3UOdo9MctU4MsHbhP0tm53SfWKf + m7FVnpvdI0QH7BWgfv36vUmc/SPb+SGofsiCh/Eej3FHPhpHyN0fWkz/ZiYYgMdJUcHzs/uE6IC9zCVO + xgE01Plgj+fqNLJjs+39zmfjCPFpJEiAZM/AOKe1Pr0Aye5j0AF7OUscHHkEWpy3x6wm9zftrs4JNKDz + gU8jiTMeQUE6do8QHbCXqeBY5vAQTHeygLFZO9w97pjd0RL8+kubaTDni2yNJE6qvsfb8YQxqaqcJI7F + sQDM4el0DRYsNofbG4MRte6u1SP/vpwGcb65aMcU+nlCZjf5d7WyTT5UV1cvN2ZVlYPEocuYo0N8Z66W + ZlkvOHZwDg3eQvCHr24J5kxuoZ8rJE5ZVOxDYfcw3GdMqyoHiUPvtxzcDQKBBYjN/jb3ttVCjjuiuP+6 + JfSzhaDiPHs2BnY7snuEyJfOLGNeVSlLxh5zmINDNnkOYBc4SujUpBLpRTwWtIUmW1crTtEJ7Dth9wBi + 11uMiVWlLHFm5HkebZ6VEfeOdecrIShZsPYFv354czBh7BD6OQEq0Pvudcc2Y3aPEHmLtBozq0pR4sR+ + Auo+UQejKjoLDBvsC2HXg6FDaoKffHE9Dda+4voL59LPGoJCEew5Ga5sX3mLXGdMrSpFiQO3MseCEZ6l + Q8+XsQf2g7N7gKO7p9Mg7Uv+8viOYN7UYfTzAuwf8d1GnGVG6zV5i9Qbc6tKTeLA45ZDu0HxAhYQNq6F + szHD64Pnj2+kQdrX3HblmfQzh/iegnWpgPR/dg8gX0JHjLlVpSRx3hjbmZmg7hQLiEzwLes6YfaKvTNo + cBYLqxeMpp8b4A16qedYBHvf2T0ML/bv3//txuyqUpG8+o8QZ6bxXRjEtyy7HjTWp4Kf3l1cYw+b48eW + 0s8egu4Te26bQ/JF0exYXRdbdxqzq0pE2DEYmbXrk5uUrWvxvi2TaVAWG6scbxEMwNmzM7AFmd0DSAO5 + 3dhdVQoSp0XuN/cdnGer+vHtW9fQgCw2Pv/+hfTzh2zyXBfBZAW73vDXQYMGJYz5VcUu+Ub7NHFiGt/B + OWrlsusBts+yYCxW5k+LntHyzSQArlpfYvN3G/OrillVVTjeY/Brmc7LxGdwjt9h14Z85Ya+SUjsKTde + fDp9jhDfKo1ZMpkfMi5QFbPEUTstx3XjOzh39beXzB5Jg7CYefmxrUFHWxN9HrCw2S/T933jGpzHTctb + ZJhxg6pYlUgk7mXOA74bh0Y7BufHDs6lQVjsXHP+LPo8IM55izgPnt3DcIFxg6oYlUwmU8RpaVpqEtTh + NjhvnF0PUqlE8Nw9xT21GwVqbDXURQe3byo8SiKx6w2PG1eoilHioMjulW+d3TlN0SvnW1eMo8FXKrzn + rPH0uQDKkDJ72KD2sCv1RrpZk4w7VMUmV/cKZW2YwzPBdlPU5GXXA0yZssArFe67Nnq/SLO8HX2zfKe5 + u1lXGHeoikmu7tVQcb5PWoUrvbttVEN6sMsCr5SYMbGZPh/wPeohyxrRM8YlqmKSOCaye4VuE3O0zSxH + XagD20pj5TwbV507kz4fwPMzu9ggRy3LMXITjVtUxaLezl6hwJrr6IKHP7aMBlyp8YPPn0WfD6B7iW4m + s4/NDHeROT2hqpjk6l4h6H0qtaN7wa4HHeOaaLCVKhuXtNLnBL5T4dhsxq43PGBcoyoGiUMiu1e+BeFw + QCa7HhzcXjxbanOBa68I7MDsY5MlN+tVPZ2qiCQO+YzloG58jm/GEQaYxWHXg3LpXoW8+NCmdKEJ9qwo + MsdsxMiyHXehcY+qryUOec52EMB8vU+fGnWx2PWg3LpXISvnR6fB7/bMzTrTUelF+IBxj6ovJd9UQ4lz + 0qBsDXOsjaukT7l1r0JQXJs9L/DNeHZlHQjfMS5S9aWqq6s3E+ekwTccc6yN6/CYcutehTx+8yr6vCDO + RirXdG8ymRxo3KTqK4kjIute+czIYPW4LsmvHz28ngZXuTB2RPRA23e617VvRr68dCtuX0sc8ZTtmJCD + Hk52HcC59swxNLDKBWz8Ys8NNnjuNFzt3iPyKeMmVV8I1TSIU9IgZZ051GaVw8FHdk2jgVUu3P7+6Ole + 3+wDnA3Prje8YFyl6gvJAH0ecUoaXwe7VoTvvLq0kxOz8dIjXfS5wZgY4xDXeSKpVGqIcZeq0JI+7qXM + KcC3i+A676PYSormg2mOM9iZvRhIlWfXA/GR7lXvK4kDvmw7JATbQ5kzM8EYhV0LkL3LAqrc2N05gT4/ + 8D2zMct0703GXapCS4z/O8sZaVDkjDnSxnX08frFrTSgyo0bL4ku6OBbWA6w6w1PG3epCqmqqqp3EWek + meaZf7XYUXf3ynOKu6xorvjOrWvo8wPfcRzAsQrsHkC6Wf9k3KYqlMTwM2xHhPiW93cdM/bgR5fSgCpH + 2PODOAN11xnr8mXWZtymKpTE8HtsR4T4njnoWgX+zcNdNJjKkQXTh1MbAGY3hqvAdSKR2GbcpiqUxOgf + Z84APkceu+bvJ44dQgOpXDmwdTK1A/AdqO90LLgK1xu3qQol6dd+kzgivSuOOdDGdUjljtWlVVq0t3zu + qugFQ9+BOrbhsuuB+Opbxm2qQkkM/xfbEcA3g9e1gn7tBX13nHNf8OO71lE7AN9yScBxlsr/GrepCiHp + XtUSJ6RB6jpzns18x+LW3R9aTAOpnIkqKuf7hQOyFLfWsqSFkjSQRcwJwPeY4w5HFupTt62lQVTOzOpo + obbAW4HZj+E6rk58ts64T5VvybfRhcwJ4JxWv0Gl63CcP3x1Cw2icmbL8jZqC4ATppgNbbC9gF1vuMa4 + T5VvuWawmOMYUeUzhw+tpQFU7iBzmdkD+G7BzZLZ+zXjPlW+JcamOVi+3QHXjAvWBFgAlTu3HF1A7QHW + eXZbQU103d5XjPtU+ZYY+2eW8dOM9Vz5xdw+ux5U2hRvyNc/uZLaA/huXQauSidCnXGhKp8ihk+DsyuY + 02xcfeXL90ynAVTuvPDgJmoPgG21zI4MV30xGTsuMC5U5Uti5GpmfOA7Z+863vmWyxfQAKoEoqZ649TK + cq0viet0b0i+JUbuYMYHvkmKaEjsevDYJ1bS4KkEoqZ6AYrrMVvauDIUxHdXGTeq8iUxciczPvBdA5nk + WND6xf0bafBUAq6p3nM9p88xzc6uB+I7PU893xIjR66BIGGOOc0mag81jlhjgVMpuKZ6sWuQ2dLmUHv0 + 5inxneZk5VuuNZDz2vwWtKJOap3SXp5lRn356IVzqV2AT43jEMc2gt8ZN6ryJTFy5D50n2MO0Jdm14IV + p4+igVMp3PpvZ1C7gDUy+Gb2ZGCjFbsHaGxsfLNxpSofEiOfsI0OkgJzlg0qKbLrwZozyrtQXDbuvy76 + DEOcHc/sycB59OweIJlMNhlXqvIhMfJ3bKMDpI4wZ9ngLcOuB+sWjaWBUymc+FT0YqFvljQ4w1EMXLrI + c40rVfmQGPlp2+jAd6MUas6y68HmZW00cCqFp+/opHYBs5v8FwvRHWP3ANJAdPttPiVGpmeB+OZhuWph + bVtZ2ueg95YXjkevpvtmKQDXeSvSQI4aV6ryITHyL22jgxbP1V7sV2fXg7PXjKeBUyn86evbqF0Ajohg + 9mTsa3Vm9d5qXKnKh8TAv7cMngb7O5izbPY7GgiqDLLAqSTqIvbJoO4VsycDJwazexhOGleq8iEx8CuW + wdP41nByHT557saJNGgqiTEj+Er40Bg7C0Gj/D67j/CicaUqHxID/80yeJo2zy4AFhPZ9eD8rg4aNJXE + 9AnN1Da+s4Qh2HrA7gPEjW/8uzdVORczOPDtIyOniF0PDmybTIOmklg8eyS1DfBNWAQTGqIbSL9+/d5k + 3KnKtZjBgW8D2etoIId3TqVBU0l0LhxLbQN8MhVCXEez1dfXv924U5VrMYMD3waC/dXselDuJ0r5gKlu + ZhtwwKNiZQgKiLN7gFQqNcC4U5VrMYMD3wbyHkcDuWJvZVR0d7F3/URqG4AJDmZTxqym6AaSSCRqjDtV + uRYzOPBtIGc7asji7HAWNJUExmHMNsC3pBJwbb2VBjLUuFOVazGDg1yMQQ7tmEKDppI4uns6tQ3Y5Vn+ + Byxw7NoUxhh3qnItYuw0vg3EtQ6C7gULmkrig+fPorYBvhvSwEJHwmJ1dfUk405VrsUMDnwbiKsmVleF + JyuCGw7No7YB2G/ObMpY0uIs3jDTuFOVa4mB/9s2OEA9JuYom0sdaRCVvmEKoKoLsw2Is6vQVTlGGsgZ + xp2qXEsM/Cfb4ADHOTNHMaKq/82bMowGTSVx1zWLqG1AnEM9V7vL/6ww7lTlWmLgl2yDgyExcoXwu+we + E1sr62QpxkMfXUptA1DzitmT0SmNid0DJLTSe/4kBn7BNjjAW4E5ihFV1aRSC1dn4ipB6lt3DGyQ7hi7 + B9BNU3mUGJhumAIYXzBn2UQl0iWTlV32Bzx4LPoNEqeBdDkKyEkD2W3cqcq1xMA/tA0eghkq5iwbVyLd + f31tKw2cSuGOqxdSuwCMK5g9Ga5dhcJ+405VriXGfdIydje+qRCuqhvPH6/cyorgpsvmU7uAdSP8Z7Gy + nHqrDSRfEuOetIzdzV7PlV4UIGDXgx/e0UkDp1I4dnAOtQtAVXxmT0aWfem7jDtVuZYY+BHb4CHIs2LO + snGlQXzj5lU0cCqFq86dSe0CfMuPAqyZsHuA6urqLuNOVa4l3z53MKMDDAyZs2xcq7w4M5wFTqVwaOdU + aheATGhmT8ZaxzqIsNa4U5VriXGPWcbuxreP7CrRf7RCD9AJ2bdxErULiJPNu9yxki4sNu5U5Vpi3MOW + sbvxXch6n6OySaUXj9uxqp3aBcTZD4Jj29g9gPQCtLpiviQG3mkbPARdJ+YsRlQF8mnjh9LAqRQ6F0Vv + uUXRPWZLxlzHOK+qqmqycacq15IB3jJmdIDBN3MWY3x99FoIC5xK4cyZI6hNAOpdMVsypju23IoPxxp3 + qnIt+faZwowO4tSPdRVYfuLTq2nwVAJjhvP1izipPMB1ipfQbNypyrVQPp8YPE2c+rFbHQN1rAWw4Cl3 + Xj25ndoD+FauDEGdMnYfID5MGXeqci0x7juZ0QG6TcxZDFeV967llTlQf/auddQeIM6XD0CDYvcBAwcO + /FfjTlU+xIwOmmOWx4xKWhwt3QwWQOXOl29YTu0BMCvFbBgFSpWy+4BBgwa91bhSlQ+Jkb9rGz0kzkDS + NRX5zVsqbxxy05HoPCzs72A2jKIu+pxC1MX6R+NKVT4kRv6kbfSQPTFWe10p2ZVYI+syR0UT3zSeEHYP + w6vGjap8SYy81zJ6N3EyTl1nhcyc1EyDqJzZuTp6kRC2YjZk7HdUjhGeNG5U5Uti5BmW0bvB9C1zWhQd + jtT3h69fRgOpXJnd0ULtEHeKN0uq+2eNG1X5khi5n2X0bjD/zpwWRae8cdh9QCUdh4B9MMwGIO4Ur2s/ + unCxcaMqnxJD/8oyfJq4M1lIn4hKO8FhMv/5aGXsMHSdkY4yosx2UbiKxgmayVsIiaEfsAzfzaEYOUNg + piMtAjM7LKDKjR2O8Qc2PzG7ReFKM6mqqmozLlTlU2LsK2zjh8SpAAhcs1nol792cjsNqnLhlRPbguYh + vFuUlPHHJTGmzgGOw2P3Av3799ezQQqhRCIxjzkAzI+RtAguFXBKLrsXuP6iuTSwygVXJRPs32c2c4FG + xe4lPnveuE+Vb6VSqbcwJ4A4J7KGuHYZdrQ1Bb//6hYaXOWAa5PU2pgLhNhUxe4DsBvUuE9VCInRH7Wd + EIK5eObAKHB6UlTFRYCq5yy4Sp2v3biCPm8IDj1l9orCVTBOON+4TlUIVVdXHyROSANHMQe6cL1FWkc2 + BM/ds54GWSmzcUkrfV7gWxA8E9c2AnSLjetUhZA0kJnMEWBOzKlJkO0tsm7RWBpkpcoXPhBdqBpgjYjZ + yYWrKJ9QZVynKoTMOORVywlpsB4SJ3ExxPUWAeV0Eu6ZM6J3D/qeO5/Je90pJs8at6kKKTH8/ZYjuomT + lxWS7S0CHv34ChpwpcR5m6IH5iDOWSAhriMPhJuMy1SFlGscEjftJCSLo4O62iQNulLhynNm0OcKmdCD + tweY6NhmK+OPVcZlqkKqqqqqQRzwN9shIXHS3zNxrQaDpXNH0uArdh6/eRV9nkx8C/BlkqV79dKAAQPe + ZlymKrTk2+kW4pQ0cbN7M3HtigOzOlqCP5ZQrhbyythzZBJ3a21IlrGbdq/6UtLNOoM4JU1PB+sApTbZ + PTMZN6ox+N7tZ9GALCa+dP0y+vkzQdZunNpXIdnGbdq9KgKJI75tOyYEdWKZY33AoTHsnpk0NdQE9167 + hAZmX/PXJ3YEl++J3ikYgvQQnCHPbJCNLG+PX2r3qggkb5HziHPS4IDPw+3cuT64Bp+ZnL2mPfjWZ4pn + L/t91y0Jls0dRT+rDcogsWfPhses3yXGRaq+lAzWxReDX8lwzCksjXF8GGN2k3OPwylctGNK8B/3baBB + m29Q2+rmowuCJbNH0s/GWNOLN6xr5Vz4YyqVShoXqfpa4pAPWw7qpjGZiJ2fZbMyy/RvJqOG1QcHt08J + Hv5YYbbtoqbVh/bPDqa2D6WfJ4reNI4sW2sx9rjauEZVDBKH1Ipj6DHRYEEvZrRCcFY4u7eLjnFNwcVn + Tw2+n+PBPEoToRKJq55uFPjCiJuIaOOqbyz8j6AlRotNMhY5YDmqm/RAtIfrIplkyVh1go1J2IS1YUlr + cMHWycFHDswJ7vrgouDkTauC7962Nv0meP6BjcFLX+lKd5dePbE9+NEX1gUPXb8suPHi04PD0tBwRENU + DV0fsIUWe2DYs/myIvvkxTXGJapiEvKz5E3yA+KwNMhQPUIcHhcMatvd36BFCQKbPU8c8OwJcu8MnpUv + qn8xLlEVm8Q5m4nTuunJLrkosKFouGM3YrHQ0ZAKtsbcW87AITquqolAvqDWGVeoilXSSL7EnBdyesxt + uS5QCHtxS01QG7HVtC/JVcMIacqSXSBo3atSkDhqvuW417Gph3P/UexrrU83vGFF8EbJdcMA6J6yv5XB + b4UW4wJVscs1YA/Btz8Lht6yY3ThGwv2cKAmVZzjmn04PL4xvc+f/U2LTcb0qlKROO2zlhNfR5zDKXsC + UjiQjoGxzwi/QPMCjQ87J7F3oyc5VD4gG9qjWwU+aEyuKjWJ8562nPk6epLi3Rv2tTYEm+VvouFgNXqe + vG1QwA6NCKktWGPAf6MB4N+RE4acMjQGvCFwUi+7by7BhjPU5WX2sjhuTK0qRaVSqQHEqa8DwcoCpdJA + xsGsLPthQqQbe4Mxs6qUJY6cxRxsg/0Q+e5yFTN4azR7jpvEphca86rKQeLUyHNFMsFGKWy7ZQFUriCv + Cl8OzB4MbRxlKmzeYQ5nYKU8buHmUmO3DMJdxbsJL0vj2GLMqSpHocI4cXwkGChjzzULsFIE07brZbAf + 540BpGE8JrYbZ8yoKmcNGjSoUZz+czsIomhIJoK5Q2vSM09xq50XA9h2jKr3mC3znLY9BWkc15122mlv + NuZTVYIGDBjQX5x/3A6GbCAXabJ8++IkpXwtNOYCnCuI/R54U0QdEuTBj4U1xmSqSlO/fv3eJAFwW0ZA + xAZjFayaY6/ILunTowvDAjbfoLFiTLG0pTbyDPg4yFvjWulSvcuYSlXJkmBYIUFxwg6SnoLzRvCWWdRS + k875QuBifaG3jQddJRwxgK4eFg+xXoEcKXQB2efoIU8kEomFxjQq1f9LGsq7JUCeswImp2B1GlPJo2uT + wcSGZDBDghyH/qAx4U00qymV7hZhNR2nNSGdHoURPFe1e8NX5PnPMqZQqbiSyeQ7JVguEf6UETxli7wt + 7pWfi83jq1R+kobSJIFzjfBsGExlxEl5W1wojDWPq1L1XBJISFUp9cZyQhuFKu+SAGuVbskRCbgfWgFY + bLwon/MW+bxd8jZMmY+vUhVOtbW175Dga5dAXC8claC8U3gmI0gLxc+kIdwjPy+Xn53yU3f2qYpbEqR1 + wnwJ2HPl55XCjcIXpSE9Jj/RiLBFNfLohgxeFl4Q8MZ6PLMhyL1GYy3H/EmVqvw0aNCgt6ILJEE/Bnli + qVRqiPzvgdIA/ln++Y1//y2VSqVSqVQqlUqlUqlUKpVKpVKpVCqVSqVSqVQqlUqlUqlKUW94w/8BfA58 + DBwW/bcAAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorDef.vb b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorDef.vb new file mode 100644 index 0000000..ac5bff0 --- /dev/null +++ b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/frmSubcontractorDef.vb @@ -0,0 +1,480 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Friend WithEvents txtDescription As TextBox + Friend WithEvents PictureBox1 As PictureBox + Friend WithEvents txtCompany As TextBox + Friend WithEvents lblCompany As Label + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSubcontractorDef)) + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtDescription = New System.Windows.Forms.TextBox() + Me.PictureBox1 = New System.Windows.Forms.PictureBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblCompany = New System.Windows.Forms.Label() + Me.txtCompany = New System.Windows.Forms.TextBox() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 185) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 264) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 264) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 264) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.txtCompany) + Me.gbxSubcontractorData.Controls.Add(Me.lblCompany) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.PictureBox1) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 169) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'txtDescription + ' + Me.txtDescription.Location = New System.Drawing.Point(128, 85) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(152, 21) + Me.txtDescription.TabIndex = 15 + ' + 'PictureBox1 + ' + Me.PictureBox1.ErrorImage = CType(resources.GetObject("PictureBox1.ErrorImage"), System.Drawing.Image) + Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image) + Me.PictureBox1.Location = New System.Drawing.Point(297, 83) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New System.Drawing.Size(165, 80) + Me.PictureBox1.TabIndex = 14 + Me.PictureBox1.TabStop = False + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(54, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(66, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance1 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 22) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance2 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 22) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'lblCompany + ' + Me.lblCompany.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblCompany.Location = New System.Drawing.Point(57, 115) + Me.lblCompany.Name = "lblCompany" + Me.lblCompany.Size = New System.Drawing.Size(63, 14) + Me.lblCompany.TabIndex = 16 + Me.lblCompany.Text = "Company" + Me.lblCompany.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtCompany + ' + Me.txtCompany.Location = New System.Drawing.Point(128, 115) + Me.txtCompany.Name = "txtCompany" + Me.txtCompany.Size = New System.Drawing.Size(152, 21) + Me.txtCompany.TabIndex = 17 + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 309) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + strParameter = strParameter & CombineXMLParameter("company", "Company", "String", CInput(txtCompany.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT_21681.AddSubcontractor", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT_21681.EditSubcontractor", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + + Private Sub txtSubcontractorNo_ValueChanged(sender As Object, e As EventArgs) Handles txtSubcontractorNo.ValueChanged + + End Sub + + Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles txtDescription.TextChanged + + End Sub + + Private Sub lblDescription_Click(sender As Object, e As EventArgs) Handles lblDescription.Click + + End Sub + + Private Sub btnConfirm_Click_1(sender As Object, e As EventArgs) Handles btnConfirm.Click + + End Sub + + Private Sub txtCompany_TextChanged(sender As Object, e As EventArgs) Handles txtCompany.TextChanged + + End Sub + + Private Sub txtSubcontractorName_ValueChanged(sender As Object, e As EventArgs) Handles txtSubcontractorName.ValueChanged + + End Sub + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/iMES.snk b/SRC/MESWin/SYS5/SYS1_ENTbasis_21681/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) + + diff --git a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/wsSXS/wsSXS.csproj b/SRC/wsSXS/wsSXS.csproj index 1c0f518..cdb1291 100644 --- a/SRC/wsSXS/wsSXS.csproj +++ b/SRC/wsSXS/wsSXS.csproj @@ -145,8 +145,10 @@ Settings.settings True + + - + From 18272ec95a3aaab5a6fcc15a59622c495cf464db Mon Sep 17 00:00:00 2001 From: LiMaiQi <487855386@qq.com> Date: Wed, 17 Jan 2024 16:03:04 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91?= =?UTF-8?q?=E5=AE=9E=E4=B9=A0=E7=94=9F21685=E6=9D=8E=E5=AD=9D=E9=BE=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SYS1/ENT_21685/ET_Subcontractor.sln | 25 + .../SYS1/ENT_21685/ET_Subcontractor.vbproj | 194 +++ .../ENT_21685/ET_Subcontractor.vbproj.user | 6 + .../ENT_21685/ET_Subcontractor.vbproj.vspscc | 10 + .../My Project/Application.Designer.vb | 13 + .../ENT_21685/My Project/Application.myapp | 10 + .../SYS1/ENT_21685/My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../My Project/Resources.Designer.vb | 63 + .../SYS1/ENT_21685/My Project/Resources.resx | 117 ++ .../ENT_21685/My Project/Settings.Designer.vb | 73 ++ .../ENT_21685/My Project/Settings.settings | 7 + .../SYS1/ENT_21685/My Project/licenses.licx | 8 + .../SYS1/ENT_21685/frmSubcontractor.resx | 123 ++ SRC/MESWin/SYS1/ENT_21685/frmSubcontractor.vb | 1083 +++++++++++++++++ .../ENT_21685/frmSubcontractorContDef.resx | 120 ++ .../SYS1/ENT_21685/frmSubcontractorContDef.vb | 507 ++++++++ .../SYS1/ENT_21685/frmSubcontractorDef.resx | 120 ++ .../SYS1/ENT_21685/frmSubcontractorDef.vb | 482 ++++++++ SRC/MESWin/SYS1/ENT_21685/iMES.snk | Bin 0 -> 596 bytes SRC/MEStc_SXS/MEStc_SXS.csproj | 3 +- SRC/MEStc_SXS/MEStc_SXS.csproj.user | 7 + .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/MEStc_SXS/tc_21685/clsENT_21685.cs | 938 ++++++++++++++ .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/wsSXS/wsSXS.csproj | 3 +- SRC/wsSXS/wxENT_21685/ws_21685.cs | 1076 ++++++++++++++++ 27 files changed, 5024 insertions(+), 4 deletions(-) create mode 100644 SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.sln create mode 100644 SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.vbproj create mode 100644 SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.vbproj.user create mode 100644 SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS1/ENT_21685/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS1/ENT_21685/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS1/ENT_21685/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS1/ENT_21685/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS1/ENT_21685/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS1/ENT_21685/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS1/ENT_21685/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS1/ENT_21685/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS1/ENT_21685/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS1/ENT_21685/frmSubcontractor.resx create mode 100644 SRC/MESWin/SYS1/ENT_21685/frmSubcontractor.vb create mode 100644 SRC/MESWin/SYS1/ENT_21685/frmSubcontractorContDef.resx create mode 100644 SRC/MESWin/SYS1/ENT_21685/frmSubcontractorContDef.vb create mode 100644 SRC/MESWin/SYS1/ENT_21685/frmSubcontractorDef.resx create mode 100644 SRC/MESWin/SYS1/ENT_21685/frmSubcontractorDef.vb create mode 100644 SRC/MESWin/SYS1/ENT_21685/iMES.snk create mode 100644 SRC/MEStc_SXS/MEStc_SXS.csproj.user create mode 100644 SRC/MEStc_SXS/tc_21685/clsENT_21685.cs create mode 100644 SRC/wsSXS/wxENT_21685/ws_21685.cs diff --git a/SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.sln b/SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.sln new file mode 100644 index 0000000..9c7f793 --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.34407.143 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_Subcontractor", "ET_Subcontractor.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {BCC83B33-4B36-4EB9-B200-F5C49DEAEE65} + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.vbproj b/SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.vbproj new file mode 100644 index 0000000..7b834ed --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.vbproj @@ -0,0 +1,194 @@ + + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ENT_StuBasis + ENT_StuBasis + 512 + Windows + v4.7.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ENT_StuBasis.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ENT_StuBasis.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmSubcontractor.vb + + + frmSubcontractorContDef.vb + + + frmSubcontractorDef.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.vbproj.user b/SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.vbproj.user new file mode 100644 index 0000000..eb07303 --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.vbproj.user @@ -0,0 +1,6 @@ + + + + E:\MESEnv\607.4\MESsc\SClientSource\ + + \ No newline at end of file diff --git a/SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS1/ENT_21685/My Project/Application.Designer.vb b/SRC/MESWin/SYS1/ENT_21685/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS1/ENT_21685/My Project/Application.myapp b/SRC/MESWin/SYS1/ENT_21685/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS1/ENT_21685/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS1/ENT_21685/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS1/ENT_21685/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS1/ENT_21685/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS1/ENT_21685/My Project/Resources.Designer.vb b/SRC/MESWin/SYS1/ENT_21685/My Project/Resources.Designer.vb new file mode 100644 index 0000000..50201eb --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ENT_StuBasis.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS1/ENT_21685/My Project/Resources.resx b/SRC/MESWin/SYS1/ENT_21685/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS1/ENT_21685/My Project/Settings.Designer.vb b/SRC/MESWin/SYS1/ENT_21685/My Project/Settings.Designer.vb new file mode 100644 index 0000000..350aec6 --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ENT_StuBasis.My.MySettings + Get + Return Global.ENT_StuBasis.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS1/ENT_21685/My Project/Settings.settings b/SRC/MESWin/SYS1/ENT_21685/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS1/ENT_21685/My Project/licenses.licx b/SRC/MESWin/SYS1/ENT_21685/My Project/licenses.licx new file mode 100644 index 0000000..6291ad1 --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/My Project/licenses.licx @@ -0,0 +1,8 @@ +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraControlContainerEditor, Infragistics4.Win.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS1/ENT_21685/frmSubcontractor.resx b/SRC/MESWin/SYS1/ENT_21685/frmSubcontractor.resx new file mode 100644 index 0000000..5a57a57 --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/frmSubcontractor.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS1/ENT_21685/frmSubcontractor.vb b/SRC/MESWin/SYS1/ENT_21685/frmSubcontractor.vb new file mode 100644 index 0000000..edd6ed5 --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/frmSubcontractor.vb @@ -0,0 +1,1083 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmENTStuBasis + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTStuBasis As String '儲存取回資料表的名稱(master)? + Dim tblENTStuBasisCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim StuBasisNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugStuBasis As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents UltraControlContainerEditor1 As UltraWinEditors.UltraControlContainerEditor + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + Private components As System.ComponentModel.IContainer + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugStuBasis = New iMESUltraGrid.iMESUltraGridControl() + Me.UltraControlContainerEditor1 = New Infragistics.Win.UltraWinEditors.UltraControlContainerEditor(Me.components) + CType(Me.UltraControlContainerEditor1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugStuBasis + ' + Me.iugStuBasis.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugStuBasis.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugStuBasis.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugStuBasis.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugStuBasis.Identity = "IMes" + Me.iugStuBasis.IdentityForm = "" + Me.iugStuBasis.LayOutFilePath = "" + Me.iugStuBasis.Location = New System.Drawing.Point(12, 53) + Me.iugStuBasis.Name = "iugStuBasis" + Me.iugStuBasis.PrintFitWidthToPages = 0 + Me.iugStuBasis.PrintLandscape = True + Me.iugStuBasis.PrintPageFooter = "" + Me.iugStuBasis.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugStuBasis.PrintPageFooterHeight = 20 + Me.iugStuBasis.PrintPageHeader = "" + Me.iugStuBasis.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugStuBasis.PrintPageHeaderHeight = 20 + Me.iugStuBasis.PrintZoom = 1.0R + Me.iugStuBasis.Size = New System.Drawing.Size(894, 192) + Me.iugStuBasis.TabIndex = 25 + Me.iugStuBasis.UserNo = "IMes" + ' + 'UltraControlContainerEditor1 + ' + Me.UltraControlContainerEditor1.ContainingControl = Me + Me.UltraControlContainerEditor1.Name = "UltraControlContainerEditor1" + ' + 'frmENTStuBasis + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugStuBasis) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmENTStuBasis" + Me.Text = "ENT StuBasis & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugStuBasis, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + CType(Me.UltraControlContainerEditor1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmStuBasis_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadStuBasis() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"StuBasisNo", "StuBasisName"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmStuBasis_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTStuBasis).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTStuBasis).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTStuBasis).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTStuBasis).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugStuBasis.iMESUltraGrid.DataSource = dsENT.Tables(tblENTStuBasis).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fStuBasisDef As New frmStuBasisDef + + fStuBasisDef.DefMode = 0 + fStuBasisDef.ShowDialog(Me) + fStuBasisDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + StuBasisNo = gReturnKeyValue + + '重新取出資料 + Call funLoadStuBasis() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugStuBasis, "StuBasisNo", StuBasisNo) + If Not ugrRow Is Nothing Then + Me.iugStuBasis.iMESUltraGrid.ActiveRow = ugrRow + Me.iugStuBasis.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugStuBasis.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugStuBasis.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTStuBasis).Select("StuBasisNo = '" _ + & Replace(Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fStuBasisDef As New frmStuBasisDef + fStuBasisDef.DefMode = 1 + fStuBasisDef.EditDataRow = Rows(0) + fStuBasisDef.ShowDialog(Me) + fStuBasisDef.Dispose() + + If gReturnKeyValue = "" Then + Exit Sub + End If + + StuBasisNo = gReturnKeyValue + + '重新取出資料 + Call funLoadStuBasis() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugStuBasis, "StuBasisNo", StuBasisNo) + If Not ugrRow Is Nothing Then + Me.iugStuBasis.iMESUltraGrid.ActiveRow = ugrRow + Me.iugStuBasis.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugStuBasis.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugStuBasis.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugStuBasis.iMESUltraGrid.ActiveRow.Selected Then + Me.iugStuBasis.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugStuBasis.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugStuBasis.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugStuBasis.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugStuBasis.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("StuBasisNo", "StuBasisNo", "String", CInput(Me.iugStuBasis.iMESUltraGrid.Selected.Rows(i).Cells("StuBasisNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugStuBasis.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelStuBasis(InXml) + 'OutXml = InvokeSrv("wsENT.DelStuBasis", InXml) + OutXml = InvokeSrv("SXS.ws_21685.DelStuBasis", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadStuBasis() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugStuBasis.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugStuBasis.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTStuBasis).Select("StuBasisNo = '" _ + & Replace(Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString, "'", "''") & "'") + + Dim fStuBasisDef As New frmStuBasisDef + fStuBasisDef.DefMode = 2 + fStuBasisDef.EditDataRow = Rows(0) + fStuBasisDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + StuBasisNo = gReturnKeyValue + + '重新取出資料 + Call funLoadStuBasis() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugStuBasis, "StuBasisNo", StuBasisNo) + If Not ugrRow Is Nothing Then + Me.iugStuBasis.iMESUltraGrid.ActiveRow = ugrRow + Me.iugStuBasis.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugStuBasis.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugStuBasis.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugStuBasis.iMESUltraGrid.ActiveRow.Selected Then + Me.iugStuBasis.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugStuBasis.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugStuBasis.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugStuBasis.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugStuBasis.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("StuBasisNo", "StuBasisNo", "String", CInput(Me.iugStuBasis.iMESUltraGrid.Selected.Rows(i).Cells("StuBasisNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugStuBasis.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveStuBasis(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveStuBasis", InXml) + OutXml = InvokeSrv("SXS.wsENT.ApproveStuBasis", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadStuBasis() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugStuBasis.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fStuBasisContDef As New frmStuBasisContDef + + fStuBasisContDef.DefMode = 0 + fStuBasisContDef.StuBasisNo = Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString + fStuBasisContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadStuBasisCont(Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugStuBasis.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugStuBasis.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTStuBasisCont).Select("StuBasisNo = '" _ + & Replace(Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fStuBasisContDef As New frmStuBasisContDef + fStuBasisContDef.DefMode = 1 + fStuBasisContDef.EditDataRow = Rows(0) + fStuBasisContDef.StuBasisNo = Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString + fStuBasisContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadStuBasisCont(Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("StuBasisNo", "StuBasisNo", "String", CInput(Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelStuBasisCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelStuBasisCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelStuBasisCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadStuBasisCont(Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugStuBasis.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugStuBasis.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTStuBasisCont).Select("StuBasisNo = '" _ + & Replace(Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fStuBasisContDef As New frmStuBasisContDef + fStuBasisContDef.DefMode = 2 + fStuBasisContDef.EditDataRow = Rows(0) + fStuBasisContDef.StuBasisNo = Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString + fStuBasisContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadStuBasisCont(Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTStuBasisCont).Select("StuBasisNo = '" _ + & Replace(Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadStuBasis() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugStuBasis_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugStuBasis.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("StuBasisNo") + .Header.Caption = "StuBasisNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("StuBasisName") + .Header.Caption = "StuBasisName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Sex") + .Header.Caption = "Sex" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugStuBasis_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugStuBasis.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + 'If Not iugStuBasis.iMESUltraGrid.ActiveRow.IsGroupByRow Then + 'Call funLoadStuBasisCont(Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString) + 'Else + 'Exit Sub + 'End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("StuBasisNo") + .Header.Caption = "StuBasisNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("TeacherName") + .Header.Caption = "TeacherName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTStuBasis 外包商資料 + + Private Sub funLoadStuBasis() + + '先判斷是否dataset中已有ENTStuBasis之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTStuBasis)) Then + dsENT.Tables.Remove(tblENTStuBasis) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadStuBasis(InXml) + 'OutXml = InvokeSrv("wsENT.LoadStuBasis", InXml) + OutXml = InvokeSrv("SXS.ws_21685.LoadStuBasis", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTStuBasis = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadStuBasis").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadStuBasis").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadStuBasis").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTStuBasis).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTStuBasis).DefaultView.Sort = "StuBasisNo" + + Me.iugStuBasis.iMESUltraGrid.DataSource = dsENT.Tables(tblENTStuBasis).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT StuBasis Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTStuBasisCont聯絡人資料 + + Private Sub funLoadStuBasisCont(ByRef StuBasisNo As String) + + If Not IsNothing(dsENT.Tables(tblENTStuBasisCont)) Then + dsENT.Tables.Remove(tblENTStuBasisCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("StuBasisNo", "StuBasisNo", "String", StuBasisNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadStuBasisCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadStuBasisCont", InXml) + OutXml = InvokeSrv("SXS.ws_21685.LoadStuBasisCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTStuBasisCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadStuBasiscont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadStuBasiscont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadStuBasiscont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTStuBasisCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT StuBasis Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugStuBasis.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadStuBasisCont(Me.iugStuBasis.iMESUltraGrid.ActiveRow.Cells("StuBasisNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugStuBasis 初始設定 + With Me.iugStuBasis.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugStuBasis.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + Private Sub iugStuBasis_Load(sender As Object, e As EventArgs) Handles iugStuBasis.Load + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS1/ENT_21685/frmSubcontractorContDef.resx b/SRC/MESWin/SYS1/ENT_21685/frmSubcontractorContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/frmSubcontractorContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS1/ENT_21685/frmSubcontractorContDef.vb b/SRC/MESWin/SYS1/ENT_21685/frmSubcontractorContDef.vb new file mode 100644 index 0000000..da4daf3 --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/frmSubcontractorContDef.vb @@ -0,0 +1,507 @@ +Imports iMESExceptionManager + +Public Class frmStuBasisContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public StuBasisNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblTeacherName As System.Windows.Forms.Label + Friend WithEvents lblStuBasisNo As System.Windows.Forms.Label + Friend WithEvents gbxStuBasisContData As System.Windows.Forms.GroupBox + Friend WithEvents txtStuBasisNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTeacherName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxStuBasisContData = New System.Windows.Forms.GroupBox() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblStuBasisNo = New System.Windows.Forms.Label() + Me.lblTeacherName = New System.Windows.Forms.Label() + Me.txtStuBasisNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTeacherName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxStuBasisContData.SuspendLayout() + CType(Me.txtStuBasisNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTeacherName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxStuBasisContData + ' + Me.gbxStuBasisContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxStuBasisContData.Controls.Add(Me.lblTelNo) + Me.gbxStuBasisContData.Controls.Add(Me.txtDescription) + Me.gbxStuBasisContData.Controls.Add(Me.lblDescription) + Me.gbxStuBasisContData.Controls.Add(Me.lblStuBasisNo) + Me.gbxStuBasisContData.Controls.Add(Me.lblTeacherName) + Me.gbxStuBasisContData.Controls.Add(Me.txtStuBasisNo) + Me.gbxStuBasisContData.Controls.Add(Me.txtTeacherName) + Me.gbxStuBasisContData.Controls.Add(Me.txtTelNo) + Me.gbxStuBasisContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxStuBasisContData.Location = New System.Drawing.Point(15, 8) + Me.gbxStuBasisContData.Name = "gbxStuBasisContData" + Me.gbxStuBasisContData.Size = New System.Drawing.Size(469, 306) + Me.gbxStuBasisContData.TabIndex = 0 + Me.gbxStuBasisContData.TabStop = False + Me.gbxStuBasisContData.Text = "ENT StuBasis Contactor Data" + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 138) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(28, 138) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblStuBasisNo + ' + Me.lblStuBasisNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblStuBasisNo.Location = New System.Drawing.Point(14, 29) + Me.lblStuBasisNo.Name = "lblStuBasisNo" + Me.lblStuBasisNo.Size = New System.Drawing.Size(96, 14) + Me.lblStuBasisNo.TabIndex = 0 + Me.lblStuBasisNo.Text = "StuBasis No" + Me.lblStuBasisNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTeacherName + ' + Me.lblTeacherName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTeacherName.Location = New System.Drawing.Point(24, 59) + Me.lblTeacherName.Name = "lblTeacherName" + Me.lblTeacherName.Size = New System.Drawing.Size(86, 14) + Me.lblTeacherName.TabIndex = 2 + Me.lblTeacherName.Text = "Teacher Name" + Me.lblTeacherName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtStuBasisNo + ' + Me.txtStuBasisNo.Location = New System.Drawing.Point(120, 24) + Me.txtStuBasisNo.Name = "txtStuBasisNo" + Me.txtStuBasisNo.ReadOnly = True + Me.txtStuBasisNo.Size = New System.Drawing.Size(114, 22) + Me.txtStuBasisNo.TabIndex = 1 + Me.txtStuBasisNo.TabStop = False + ' + 'txtTeacherName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtTeacherName.Appearance = Appearance1 + Me.txtTeacherName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtTeacherName.Location = New System.Drawing.Point(120, 56) + Me.txtTeacherName.Name = "txtTeacherName" + Me.txtTeacherName.Size = New System.Drawing.Size(160, 22) + Me.txtTeacherName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'frmStuBasisContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxStuBasisContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmStuBasisContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT StuBasis Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxStuBasisContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxStuBasisContData.ResumeLayout(False) + Me.gbxStuBasisContData.PerformLayout() + CType(Me.txtStuBasisNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTeacherName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmStuBasisContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtStuBasisNo.Text = EditDataRow.Item("StuBasisNo").ToString + txtTeacherName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtStuBasisNo.Text = StuBasisNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtTeacherName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmStuBasisContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtTeacherName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtTeacherName.Focus() + Else + txtTelNo.Focus() + End If + + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtStuBasisNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStuBasisNo.Click + txtStuBasisNo.SelectAll() + End Sub + + Private Sub txtStuBasisNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStuBasisNo.Enter + txtStuBasisNo.SelectAll() + End Sub + + Private Sub txtStuBasisNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtStuBasisNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtStuBasisNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStuBasisNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTeacherName.Click + txtTeacherName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTeacherName.Enter + txtTeacherName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTeacherName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + 'Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + 'xtContactorName.Text <> "" And txtEMail.Text = "" Then + ' txtEMail.Text = txtContactorName.Text & "@" + 'End If + ' txtContactorName.Text = UCase(txtContactorName.Text) + 'End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTeacherName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + btnApplyEnabled = True + End Sub + + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + btnApplyEnabled = True + End Sub + + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtStuBasisNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%StuBasisNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtStuBasisNo.Focus() + Exit Function + End If + If txtTeacherName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%TeacherName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtTeacherName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("stubasisno", "StuBasisNo", "String", CInput(txtStuBasisNo.Text), "") + strParameter = strParameter & CombineXMLParameter("teachername", "teachername", "String", CInput(txtTeacherName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddStuBasisCont(InXml) + OutXml = InvokeSrv("SXS.ws_21685.AddStuBasisCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditStuBasisCont(InXml) + OutXml = InvokeSrv("SXS.ws_21685.EditStuBasisCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtTeacherName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT StuBasis Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmStuBasisContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub +End Class + diff --git a/SRC/MESWin/SYS1/ENT_21685/frmSubcontractorDef.resx b/SRC/MESWin/SYS1/ENT_21685/frmSubcontractorDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/frmSubcontractorDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS1/ENT_21685/frmSubcontractorDef.vb b/SRC/MESWin/SYS1/ENT_21685/frmSubcontractorDef.vb new file mode 100644 index 0000000..9ce4dff --- /dev/null +++ b/SRC/MESWin/SYS1/ENT_21685/frmSubcontractorDef.vb @@ -0,0 +1,482 @@ +Imports iMESExceptionManager + +Public Class frmStuBasisDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Friend WithEvents Sex As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents lblStudentSex As Label + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblStudentId As System.Windows.Forms.Label + Friend WithEvents lblStudentName As System.Windows.Forms.Label + Friend WithEvents lblSex As System.Windows.Forms.Label + Friend WithEvents gbxStudentData As System.Windows.Forms.GroupBox + Friend WithEvents txtStuBasisNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtStuBasisName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSex As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance3 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxStudentData = New System.Windows.Forms.GroupBox() + Me.Sex = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblStudentSex = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblStudentId = New System.Windows.Forms.Label() + Me.lblStudentName = New System.Windows.Forms.Label() + Me.txtStuBasisNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtStuBasisName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxStudentData.SuspendLayout() + CType(Me.Sex, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtStuBasisNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtStuBasisName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 257) + Me.gbxBasisData.Size = New System.Drawing.Size(512, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(436, 336) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(248, 336) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(342, 336) + ' + 'gbxStudentData + ' + Me.gbxStudentData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxStudentData.Controls.Add(Me.Sex) + Me.gbxStudentData.Controls.Add(Me.lblStudentSex) + Me.gbxStudentData.Controls.Add(Me.txtDescription) + Me.gbxStudentData.Controls.Add(Me.lblDescription) + Me.gbxStudentData.Controls.Add(Me.lblStudentId) + Me.gbxStudentData.Controls.Add(Me.lblStudentName) + Me.gbxStudentData.Controls.Add(Me.txtStuBasisNo) + Me.gbxStudentData.Controls.Add(Me.txtStuBasisName) + Me.gbxStudentData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxStudentData.Location = New System.Drawing.Point(12, 8) + Me.gbxStudentData.Name = "gbxStudentData" + Me.gbxStudentData.Size = New System.Drawing.Size(512, 241) + Me.gbxStudentData.TabIndex = 7 + Me.gbxStudentData.TabStop = False + Me.gbxStudentData.Text = "Student Data" + ' + 'Sex + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.Sex.Appearance = Appearance1 + Me.Sex.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.Sex.Location = New System.Drawing.Point(128, 88) + Me.Sex.Name = "Sex" + Me.Sex.Size = New System.Drawing.Size(154, 30) + Me.Sex.TabIndex = 15 + ' + 'lblStudentSex + ' + Me.lblStudentSex.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblStudentSex.Location = New System.Drawing.Point(10, 88) + Me.lblStudentSex.Name = "lblStudentSex" + Me.lblStudentSex.Size = New System.Drawing.Size(112, 32) + Me.lblStudentSex.TabIndex = 14 + Me.lblStudentSex.Text = "Student Sex" + Me.lblStudentSex.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(126, 131) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 131) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblStudentId + ' + Me.lblStudentId.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblStudentId.Location = New System.Drawing.Point(24, 24) + Me.lblStudentId.Name = "lblStudentId" + Me.lblStudentId.Size = New System.Drawing.Size(96, 32) + Me.lblStudentId.TabIndex = 5 + Me.lblStudentId.Text = "Student ID" + Me.lblStudentId.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblStudentName + ' + Me.lblStudentName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblStudentName.Location = New System.Drawing.Point(8, 56) + Me.lblStudentName.Name = "lblStudentName" + Me.lblStudentName.Size = New System.Drawing.Size(112, 32) + Me.lblStudentName.TabIndex = 9 + Me.lblStudentName.Text = "Student Name" + Me.lblStudentName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtStuBasisNo + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtStuBasisNo.Appearance = Appearance2 + Me.txtStuBasisNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtStuBasisNo.Location = New System.Drawing.Point(128, 24) + Me.txtStuBasisNo.Name = "txtStuBasisNo" + Me.txtStuBasisNo.Size = New System.Drawing.Size(152, 30) + Me.txtStuBasisNo.TabIndex = 0 + ' + 'txtStuBasisName + ' + Appearance3.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtStuBasisName.Appearance = Appearance3 + Me.txtStuBasisName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtStuBasisName.Location = New System.Drawing.Point(128, 55) + Me.txtStuBasisName.Name = "txtStuBasisName" + Me.txtStuBasisName.Size = New System.Drawing.Size(152, 30) + Me.txtStuBasisName.TabIndex = 1 + ' + 'frmStuBasisDef + ' + Me.ClientSize = New System.Drawing.Size(536, 381) + Me.Controls.Add(Me.gbxStudentData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmStuBasisDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Student Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxStudentData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxStudentData.ResumeLayout(False) + Me.gbxStudentData.PerformLayout() + CType(Me.Sex, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtStuBasisNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtStuBasisName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmStuBasisDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtStuBasisNo.Text = EditDataRow.Item("StuBasisNo").ToString + txtStuBasisName.Text = EditDataRow.Item("StuBasisName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtStuBasisNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmStuBasisDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtStuBasisNo.Focus() + Else + txtStuBasisName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConfirm.Click + Try + ' 调用funAddorEdit函数并将sender作为参数传递 + Dim result As Integer = funAddorEdit(sender) + + ' 根据需要处理结果 + If result = 0 Then + ' 函数成功执行 + Me.Close() + Else + ' 函数遇到错误或验证失败 + End If + Catch ex As Exception + ' 处理意外错误 + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtStuBasisNo.Focus() + Else + txtStuBasisName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmStuBasisDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtStuBasisNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStuBasisNo.Click + txtStuBasisNo.SelectAll() + End Sub + + Private Sub txtStuBasisNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStuBasisNo.Enter + txtStuBasisNo.SelectAll() + End Sub + + Private Sub txtStuBasisNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtStuBasisNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtStuBasisNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStuBasisNo.Leave + txtStuBasisNo.Text = UCase(txtStuBasisNo.Text) + End Sub + + Private Sub txtStuBasisNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStuBasisNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtStuBasisName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStuBasisName.Click + txtStuBasisName.SelectAll() + End Sub + + Private Sub txtStuBasisName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStuBasisName.Enter + txtStuBasisName.SelectAll() + End Sub + + Private Sub txtStuBasisName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtStuBasisName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtStuBasisName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStuBasisName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtStuBasisNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%StuBasisNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtStuBasisNo.Focus() + Exit Function + End If + + If txtStuBasisName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%StuBasisName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtStuBasisName.Focus() + Exit Function + End If + + If Sex.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%Sex%]"), MsgBoxStyle.Exclamation, Me.Text) + Sex.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("stubasisno", "StuBasisNo", "String", CInput(txtStuBasisNo.Text), "") + strParameter = strParameter & CombineXMLParameter("stubasisname", "StuBasisName", "String", CInput(txtStuBasisName.Text), "") + strParameter = strParameter & CombineXMLParameter("sex", "Sex", "String", CInput(Sex.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = ws_21685.AddStuBasis(InXml) + OutXml = InvokeSrv("SXS.ws_21685.AddStuBasis", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditStuBasis(InXml) + OutXml = InvokeSrv("SXS.ws_21685.EditStuBasis", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtStuBasisNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT StuBasis Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + + Private Sub lblStuBasisNo_Click(sender As Object, e As EventArgs) Handles lblStudentId.Click + + End Sub + + Private Sub lblDescription_Click(sender As Object, e As EventArgs) Handles lblDescription.Click + + End Sub + + Private Sub UltraTextEditor1_ValueChanged(sender As Object, e As EventArgs) Handles Sex.ValueChanged + + End Sub + + + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS1/ENT_21685/iMES.snk b/SRC/MESWin/SYS1/ENT_21685/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06)MEStc_SXS 512 Windows - v4.6.2 + v4.7.2 SAK SAK SAK @@ -114,6 +114,7 @@ + diff --git a/SRC/MEStc_SXS/MEStc_SXS.csproj.user b/SRC/MEStc_SXS/MEStc_SXS.csproj.user new file mode 100644 index 0000000..6e4223f --- /dev/null +++ b/SRC/MEStc_SXS/MEStc_SXS.csproj.user @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/MEStc_SXS/tc_21685/clsENT_21685.cs b/SRC/MEStc_SXS/tc_21685/clsENT_21685.cs new file mode 100644 index 0000000..af7215c --- /dev/null +++ b/SRC/MEStc_SXS/tc_21685/clsENT_21685.cs @@ -0,0 +1,938 @@ +using iMESCore.Settings; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +namespace MEStc_SXS +{ + public class clsENT_21685 : IDisposable + { + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + private string strSQLAddField; + private string strSQLAddValue; + + #region --- Initial Object --- + + public clsENT_21685() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + #region --- StuBasis 外包商 --- + + + public string AddStuBasis(string StuBasisNo, string StuBasisName, string Sex, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddStuBasisRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into tblStuBasis_21685 (StuBasisNo, StuBasisName, Sex, IssueState"; + strSQLAddValue = " Values ('" + StuBasisNo + "','" + StuBasisName + "','" + Sex + "', 0"; + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddStuBasisRet = "success"; + } + + catch (Exception e1) + { + AddStuBasisRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddStuBasis: " & e1.Message) + + return AddStuBasisRet; + + } + + public string EditStuBasis(string StuBasisNo, string StuBasisName = defString, string Sex = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditStuBasisRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblStuBasis_21685 Set "; + + if ((StuBasisName ?? "") != defString) + { + strSQL += "StuBasisName = '" + StuBasisName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + if ((Sex ?? "") != defString) + { + strSQL += "Sex = '" + Sex + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where StuBasisNo ='" + StuBasisNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditStuBasisRet = "success"; + } + + catch (Exception e1) + { + EditStuBasisRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditStuBasis: " & e1.Message) + + return EditStuBasisRet; + + } + public string DelStuBasis(string StuBasisNo, string AdditionalXml = "") + { + string DelStuBasisRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + // strSQL = "Delete From tblENTStuBasisCont " + "Where StuBasisNo='" + StuBasisNo + "'"; + // CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From tblStuBasis_21685 " + " Where StuBasisNo ='" + StuBasisNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelStuBasisRet = "success"; + } + + catch (Exception e1) + { + DelStuBasisRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelStuBasis: " & e1.Message) + + return DelStuBasisRet; + + } + + public string LoadStuBasis(string StuBasisNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadStuBasisRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblStuBasis_21685 Where StuBasisNo Is Not Null"; + + if ((StuBasisNo ?? "") != defString) + { + strSQL += " And StuBasisNo = '" + StuBasisNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblStuBasis_21685", cnnTemp); + + // //Combine return value + LoadStuBasisRet = CombineXMLReturnValue("loadStuBasis", "tblStuBasis_21685", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadStuBasisRet = "fail"; + throw; + } // New Exception("kcENT.LoadStuBasis: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadStuBasisRet; + + } + + public DataSet ShowStuBasis(string StuBasisNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowStuBasisRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTStuBasis Where StuBasisNo Is Not Null"; + + if ((StuBasisNo ?? "") != defString) + { + strSQL += " And StuBasisNo = '" + StuBasisNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTStuBasis", cnnTemp); + + // //Return data + ShowStuBasisRet = dsENT; + } + + catch (Exception e1) + { + ShowStuBasisRet = null; + throw; + } // New Exception("kcENT.ShowStuBasis: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowStuBasisRet; + + } + + public DataRow GetStuBasis(string StuBasisNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetStuBasisRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTStuBasis Where StuBasisNo Is Not Null"; + + if ((StuBasisNo ?? "") != defString) + { + strSQL += " And StuBasisNo = '" + StuBasisNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTStuBasis", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetStuBasisRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetStuBasisRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetStuBasisRet = null; + throw; + } // New Exception("kcENT.GetStuBasis: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetStuBasisRet; + + } + public string SetStuBasisIssueState(string StuBasisNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetStuBasisIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTStuBasis Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where StuBasisNo ='" + StuBasisNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetStuBasisIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetStuBasisIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetStuBasisIssueState: " & e1.Message) + + return SetStuBasisIssueStateRet; + + } + + + public string AddStuBasisCont(string StuBasisNo, string TeacherName,string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddStuBasisContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTStuBasisCont (StuBasisNo, ContactorName"; + strSQLAddValue = " Values ('" + StuBasisNo + "','" + TeacherName + "'"; + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddStuBasisContRet = "success"; + } + + catch (Exception e1) + { + AddStuBasisContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddStuBasisCont: " & e1.Message) + + return AddStuBasisContRet; + + } + + + public string EditStuBasisCont(string StuBasisNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditStuBasisContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTStuBasisCont Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where StuBasisNo = '" + StuBasisNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditStuBasisContRet = "success"; + } + + catch (Exception e1) + { + EditStuBasisContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditStuBasisCont: " & e1.Message) + + return EditStuBasisContRet; + + } + + public string DelStuBasisCont(string StuBasisNo, string ContactorName = defString, string AdditionalXml = "") + { + string DelStuBasisContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From tblENTStuBasisCont " + " Where StuBasisNo='" + StuBasisNo + "'"; + + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelStuBasisContRet = "success"; + } + + catch (Exception e1) + { + DelStuBasisContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelStuBasisCont: " & e1.Message) + + return DelStuBasisContRet; + + } + + public string LoadStuBasisCont(string StuBasisNo = defString, string TeacherName = defString, string AdditionalXml = "") + { + string LoadStuBasisContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblTeaBasis_21685 Where StuBasisNo Is Not Null"; + + // 有傳入StuBasisNo表示只取該StuBasisNo之資料 + if ((StuBasisNo ?? "") != defString) + { + strSQL += " And StuBasisNo = '" + StuBasisNo + "'"; + } + if ((TeacherName ?? "") != defString) + { + strSQL += " And TeacherName = '" + TeacherName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblTeaBasis_21685", cnnTemp); + + // //Combine return value + LoadStuBasisContRet = CombineXMLReturnValue("loadStuBasiscont", "tblTeaBasis_21685", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadStuBasisContRet = "fail"; + throw; + } // New Exception("kcENT.LoadStuBasisCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadStuBasisContRet; + + } + + public DataSet ShowStuBasisCont(string StuBasisNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataSet ShowStuBasisContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTStuBasisCont Where StuBasisNo Is Not Null"; + if ((StuBasisNo ?? "") != defString) + { + strSQL += " And StuBasisNo = '" + StuBasisNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTStuBasisCont", cnnTemp); + + // //Return data + ShowStuBasisContRet = dsENT; + } + + catch (Exception e1) + { + ShowStuBasisContRet = null; + throw; + } // New Exception("kcENT.ShowStuBasisCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowStuBasisContRet; + + } + + public DataRow GetStuBasisCont(string StuBasisNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataRow GetStuBasisContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTStuBasisCont Where StuBasisNo Is Not Null"; + if ((StuBasisNo ?? "") != defString) + { + strSQL += " And StuBasisNo = '" + StuBasisNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTStuBasisCont", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetStuBasisContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetStuBasisContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetStuBasisContRet = null; + throw; + } // New Exception("kcENT.GetStuBasisCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetStuBasisContRet; + + } + + + + #endregion + } +} diff --git a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/wsSXS/wsSXS.csproj b/SRC/wsSXS/wsSXS.csproj index 1c0f518..a46a084 100644 --- a/SRC/wsSXS/wsSXS.csproj +++ b/SRC/wsSXS/wsSXS.csproj @@ -10,7 +10,7 @@ wsSXS 512 Windows - v4.6.2 + v4.7.2 SAK SAK @@ -147,6 +147,7 @@ + diff --git a/SRC/wsSXS/wxENT_21685/ws_21685.cs b/SRC/wsSXS/wxENT_21685/ws_21685.cs new file mode 100644 index 0000000..c2b12eb --- /dev/null +++ b/SRC/wsSXS/wxENT_21685/ws_21685.cs @@ -0,0 +1,1076 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System; +using System.Data; +using System.Web.Services; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.Base.iMESComSubroutine; +namespace wsSXS +{ + public class ws_21685 + { + private MEStc_SXS .clsENT_21685 objENT = new MEStc_SXS.clsENT_21685(); + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + //private kcBasis_UPD.clsBasis_UPD objBasis = new kcBasis_UPD.clsBasis_UPD(); //主檔優化 + //private kcBasis_Query.clsBasis_Query objQuery = new kcBasis_Query.clsBasis_Query(); //主檔優化 + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private string strResourceDir = "Resources"; + + public ws_21685() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + #region --- tblStuBasis_21685 学生信息 --- + + [WebMethod(Description = "Load StuBasis Data")] + public string LoadStuBasis(string InXml) + { + string LoadStuBasisRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string StuBasisNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入StuBasis,若有,表示要依StuBasis查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("StuBasisNo").Count > 0) + { + if (xmlDoc.GetElementsByTagName("StuBasisNo").Item(0).SelectNodes("value").Count > 0) + { + StuBasisNo = xmlDoc.DocumentElement.GetElementsByTagName("StuBasisNo").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objENT.LoadStuBasis(StuBasisNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show StuBasis Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show StuBasis Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadStuBasisRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadStuBasisRet; + + } + + [WebMethod(Description = "Add StuBasis data")] + public string AddStuBasis(string InXml) + { + string AddStuBasisRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var StuBasisNo = default(string); + string StuBasisName = defString; + string Sex = defString; + string Description = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // StuBasis一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("stubasisno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("stubasisno").Item(0).SelectNodes("value").Count > 0) + { + StuBasisNo = xmlDoc.DocumentElement.GetElementsByTagName("stubasisno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("stubasisname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("stubasisname").Item(0).SelectNodes("value").Count > 0) + { + StuBasisName = xmlDoc.DocumentElement.GetElementsByTagName("stubasisname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisName Not Found!"); + } + // Sex + if (xmlDoc.DocumentElement.GetElementsByTagName("sex").Count > 0) + { + if (xmlDoc.GetElementsByTagName("sex").Item(0).SelectNodes("value").Count > 0) + { + Sex = xmlDoc.DocumentElement.GetElementsByTagName("sex").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "Sex Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "Sex Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddStuBasis(StuBasisNo, StuBasisName, Sex, Description, Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, "AddStuBasis"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add StuBasis failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add StuBasis failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddStuBasisRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddStuBasisRet; + + } + + [WebMethod(Description = "Edit Specified StuBasis Data")] + public string EditStuBasis(string InXml) + { + string EditStuBasisRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var StuBasisNo = default(string); + int IssueState = defInteger; + string StuBasisName = defString; + string Description = defString; + string Sex = defString; + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // StuBasis一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("stubasisno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("stubasisno").Item(0).SelectNodes("value").Count > 0) + { + StuBasisNo = xmlDoc.DocumentElement.GetElementsByTagName("stubasisno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // StuBasisName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("stubasisname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("stubasisname").Item(0).SelectNodes("value").Count > 0) + { + StuBasisName = xmlDoc.DocumentElement.GetElementsByTagName("stubasisname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(StuBasisName)) + { + throw new iMESException.MESException("0000-200001", "StuBasisName is empty!"); + } + } + } + // Sex + if (xmlDoc.DocumentElement.GetElementsByTagName("sex").Count > 0) + { + if (xmlDoc.GetElementsByTagName("sex").Item(0).SelectNodes("value").Count > 0) + { + Sex = xmlDoc.DocumentElement.GetElementsByTagName("sex").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(StuBasisName)) + { + throw new iMESException.MESException("0000-200001", "Sex is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((StuBasisName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditStuBasis(StuBasisNo, StuBasisName,Sex, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, "EditStuBasis"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit StuBasis failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit StuBasis failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditStuBasisRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditStuBasisRet; + + } + + [WebMethod(Description = "Delete StuBasis By Specified StuBasis")] + public string DelStuBasis(string InXml) + { + string DelStuBasisRet = default(string); + + var StuBasisNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // StuBasis一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("stubasisno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("stubasisno").Item(0).SelectNodes("value").Count > 0) + { + StuBasisNo = xmlDoc.DocumentElement.GetElementsByTagName("stubasisno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objENT.DelStuBasis(StuBasisNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objENT.SetStuBasisIssueState(StuBasisNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objENT.DelStuBasis(StuBasisNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, "DelStuBasis:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete StuBasis failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete StuBasis failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelStuBasisRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelStuBasisRet; + + } + + [WebMethod(Description = "Approve Specified StuBasis Data")] + public string ApproveStuBasis(string InXml) + { + string ApproveStuBasisRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var StuBasisNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // StuBasis一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + StuBasisNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objENT.SetStuBasisIssueState(StuBasisNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, "ApproveStuBasis"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objENT.SetStuBasisIssueState(StuBasisNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, "ApproveStuBasis"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTStuBasis Set IssueState = 2 Where StuBasisNo = '" + StuBasisNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTStuBasis Set IssueState = 0 Where StuBasisNo = '" + StuBasisNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "StuBasisNo: " + StuBasisNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objENT.SetStuBasisIssueState(StuBasisNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, "ApproveStuBasis"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve StuBasis failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve StuBasis failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveStuBasisRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveStuBasisRet; + + } + + // StuBasis Contactor + [WebMethod(Description = "Load StuBasis Contactor Data")] + public string LoadStuBasisCont(string InXml) + { + string LoadStuBasisContRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string StuBasisNo = defString; + string TeacherName = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入StuBasisNo,若有,表示要依StuBasisNo查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("stubasisno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("stubasisno").Item(0).SelectNodes("value").Count > 0) + { + StuBasisNo = xmlDoc.DocumentElement.GetElementsByTagName("stubasisno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("teachername").Count > 0) + { + if (xmlDoc.GetElementsByTagName("teachername").Item(0).SelectNodes("value").Count > 0) + { + TeacherName = xmlDoc.DocumentElement.GetElementsByTagName("teachername").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行 + strReturnValue = objENT.LoadStuBasisCont(StuBasisNo, TeacherName); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show StuBasis Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show StuBasis Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadStuBasisContRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadStuBasisContRet; + + } + + [WebMethod(Description = "Add StuBasis Contactor data")] + public string AddStuBasisCont(string InXml) + { + string AddStuBasisContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var StuBasisNo = default(string); + var TeacherName = default(string); + string TelNo = defString; + string Description = defString; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // StuBasisNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("stubasisno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("stubasisno").Item(0).SelectNodes("value").Count > 0) + { + StuBasisNo = xmlDoc.DocumentElement.GetElementsByTagName("stubasisno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("teachername").Count > 0) + { + if (xmlDoc.GetElementsByTagName("teachername").Item(0).SelectNodes("value").Count > 0) + { + TeacherName = xmlDoc.DocumentElement.GetElementsByTagName("teachername").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "TeacherName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddStuBasisCont(StuBasisNo, TelNo, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, "AddStuBasisContactor ContactorName:" + TeacherName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add StuBasisContactor Data failed, ContactorName:" + TeacherName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add StuBasisContactor Data failed, ContactorName:" + TeacherName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddStuBasisContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddStuBasisContRet; + + } + + [WebMethod(Description = "Edit Specified StuBasis Contactor Data")] + public string EditStuBasisCont(string InXml) + { + string EditStuBasisContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var StuBasisNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // StuBasisNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + StuBasisNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditStuBasisCont(StuBasisNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, "EditStuBasisContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit StuBasisContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit StuBasisContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditStuBasisContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditStuBasisContRet; + + } + + [WebMethod(Description = "Delete StuBasis Contactor By Specified StuBasisNo and ContactorName")] + public string DelStuBasisCont(string InXml) + { + string DelStuBasisContRet = default(string); + + var StuBasisNo = default(string); + string ContactorName = defString; // 沒有傳入表示要刪除指定StuBasis的所有Contactor + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // StuBasisNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + StuBasisNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StuBasisNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + objENT.DelStuBasisCont(StuBasisNo, ContactorName); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, "DelStuBasisContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Del StuBasisContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Del StuBasisContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StuBasisNo", StuBasisNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelStuBasisContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelStuBasisContRet; + + } + + + #endregion + } +} From 53558957461ebbfe9c149268f9fed8eb233b5491 Mon Sep 17 00:00:00 2001 From: ISHAO <1870813041@qq.com> Date: Wed, 17 Jan 2024 16:05:54 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91?= =?UTF-8?q?=E5=AE=9E=E4=B9=A0=E7=94=9F=E7=BB=83=E4=B9=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../My Project/BuildIncrementVersionInfo.vb | 2 +- SRC/MESWin/SYS1/ET_21684/ET_Student.sln | 31 + SRC/MESWin/SYS1/ET_21684/ET_Student.vbproj | 194 +++ .../SYS1/ET_21684/ET_Student.vbproj.user | 7 + .../SYS1/ET_21684/ET_Student.vbproj.vspscc | 10 + .../My Project/Application.Designer.vb | 13 + .../ET_21684/My Project/Application.myapp | 10 + .../SYS1/ET_21684/My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../ET_21684/My Project/Resources.Designer.vb | 63 + .../SYS1/ET_21684/My Project/Resources.resx | 117 ++ .../ET_21684/My Project/Settings.Designer.vb | 73 ++ .../ET_21684/My Project/Settings.settings | 7 + .../SYS1/ET_21684/My Project/licenses.licx | 7 + SRC/MESWin/SYS1/ET_21684/frmStudent.resx | 120 ++ SRC/MESWin/SYS1/ET_21684/frmStudent.vb | 1123 +++++++++++++++++ .../SYS1/ET_21684/frmStudentContDef.resx | 120 ++ SRC/MESWin/SYS1/ET_21684/frmStudentContDef.vb | 631 +++++++++ SRC/MESWin/SYS1/ET_21684/frmStudentDef.resx | 120 ++ SRC/MESWin/SYS1/ET_21684/frmStudentDef.vb | 433 +++++++ SRC/MESWin/SYS1/ET_21684/iMES.snk | Bin 0 -> 596 bytes SRC/MEStc_SXS/21684tcENT/clsENT21684.cs | 949 ++++++++++++++ SRC/MEStc_SXS/MEStc_SXS.csproj | 1 + .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/MEStc_SXS/tcENT/clsENT.cs | 281 ++--- .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/wsSXS/wsENT_21684/wsENT_21684.cs | 1082 ++++++++++++++++ SRC/wsSXS/wsSXS.csproj | 2 +- SRC/wsSXS/wsSXS.csproj.user | 2 +- 29 files changed, 5288 insertions(+), 150 deletions(-) create mode 100644 SRC/MESWin/SYS1/ET_21684/ET_Student.sln create mode 100644 SRC/MESWin/SYS1/ET_21684/ET_Student.vbproj create mode 100644 SRC/MESWin/SYS1/ET_21684/ET_Student.vbproj.user create mode 100644 SRC/MESWin/SYS1/ET_21684/ET_Student.vbproj.vspscc create mode 100644 SRC/MESWin/SYS1/ET_21684/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS1/ET_21684/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS1/ET_21684/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS1/ET_21684/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS1/ET_21684/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS1/ET_21684/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS1/ET_21684/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS1/ET_21684/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS1/ET_21684/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS1/ET_21684/frmStudent.resx create mode 100644 SRC/MESWin/SYS1/ET_21684/frmStudent.vb create mode 100644 SRC/MESWin/SYS1/ET_21684/frmStudentContDef.resx create mode 100644 SRC/MESWin/SYS1/ET_21684/frmStudentContDef.vb create mode 100644 SRC/MESWin/SYS1/ET_21684/frmStudentDef.resx create mode 100644 SRC/MESWin/SYS1/ET_21684/frmStudentDef.vb create mode 100644 SRC/MESWin/SYS1/ET_21684/iMES.snk create mode 100644 SRC/MEStc_SXS/21684tcENT/clsENT21684.cs create mode 100644 SRC/wsSXS/wsENT_21684/wsENT_21684.cs diff --git a/SRC/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb index 5b3cb44..755cff8 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb @@ -1 +1 @@ - + diff --git a/SRC/MESWin/SYS1/ET_21684/ET_Student.sln b/SRC/MESWin/SYS1/ET_21684/ET_Student.sln new file mode 100644 index 0000000..1e77687 --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/ET_Student.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.34407.143 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_Student", "ET_Student.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test", "..\..\Test\Test.vbproj", "{C4A48E3F-38E4-4E88-A47D-FA5510686E57}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.ActiveCfg = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.Build.0 = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.ActiveCfg = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {674818D9-9790-4A86-93B8-665E012B20B5} + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS1/ET_21684/ET_Student.vbproj b/SRC/MESWin/SYS1/ET_21684/ET_Student.vbproj new file mode 100644 index 0000000..ff9b097 --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/ET_Student.vbproj @@ -0,0 +1,194 @@ + + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_ChengJi + ET_ChengJi + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_ChengJi.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_ChengJi.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmStudent.vb + + + frmStudentContDef.vb + + + frmStudentDef.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS1/ET_21684/ET_Student.vbproj.user b/SRC/MESWin/SYS1/ET_21684/ET_Student.vbproj.user new file mode 100644 index 0000000..6e4223f --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/ET_Student.vbproj.user @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS1/ET_21684/ET_Student.vbproj.vspscc b/SRC/MESWin/SYS1/ET_21684/ET_Student.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/ET_Student.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS1/ET_21684/My Project/Application.Designer.vb b/SRC/MESWin/SYS1/ET_21684/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS1/ET_21684/My Project/Application.myapp b/SRC/MESWin/SYS1/ET_21684/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS1/ET_21684/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS1/ET_21684/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS1/ET_21684/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS1/ET_21684/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS1/ET_21684/My Project/Resources.Designer.vb b/SRC/MESWin/SYS1/ET_21684/My Project/Resources.Designer.vb new file mode 100644 index 0000000..46b2823 --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_ChengJi.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS1/ET_21684/My Project/Resources.resx b/SRC/MESWin/SYS1/ET_21684/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS1/ET_21684/My Project/Settings.Designer.vb b/SRC/MESWin/SYS1/ET_21684/My Project/Settings.Designer.vb new file mode 100644 index 0000000..5d8dc58 --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_ChengJi.My.MySettings + Get + Return Global.ET_ChengJi.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS1/ET_21684/My Project/Settings.settings b/SRC/MESWin/SYS1/ET_21684/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS1/ET_21684/My Project/licenses.licx b/SRC/MESWin/SYS1/ET_21684/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS1/ET_21684/frmStudent.resx b/SRC/MESWin/SYS1/ET_21684/frmStudent.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/frmStudent.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS1/ET_21684/frmStudent.vb b/SRC/MESWin/SYS1/ET_21684/frmStudent.vb new file mode 100644 index 0000000..5c0c970 --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/frmStudent.vb @@ -0,0 +1,1123 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmChengJi + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTStudent As String '儲存取回資料表的名稱(master)? + Dim tblENTStudentCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim StudentNo As String 'for Gird to Focus + Dim ParentName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugStudent As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugStudent = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugStudent + ' + Me.iugStudent.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugStudent.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugStudent.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugStudent.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugStudent.Identity = "IMes" + Me.iugStudent.IdentityForm = "" + Me.iugStudent.LayOutFilePath = "" + Me.iugStudent.Location = New System.Drawing.Point(12, 53) + Me.iugStudent.Name = "iugStudent" + Me.iugStudent.PrintFitWidthToPages = 0 + Me.iugStudent.PrintLandscape = True + Me.iugStudent.PrintPageFooter = "" + Me.iugStudent.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugStudent.PrintPageFooterHeight = 20 + Me.iugStudent.PrintPageHeader = "" + Me.iugStudent.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugStudent.PrintPageHeaderHeight = 20 + Me.iugStudent.PrintZoom = 1.0R + Me.iugStudent.Size = New System.Drawing.Size(894, 192) + Me.iugStudent.TabIndex = 25 + Me.iugStudent.UserNo = "IMes" + ' + 'frmChengJi + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugStudent) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmChengJi" + Me.Text = "ENT Student" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugStudent, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmStudent_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadStudent() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"StudentNo", "StudentNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmStudent_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTStudent).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTStudent).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTStudent).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTStudent).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugStudent.iMESUltraGrid.DataSource = dsENT.Tables(tblENTStudent).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fStudentDef As New frmStudentDef + + fStudentDef.DefMode = 0 + fStudentDef.ShowDialog(Me) + fStudentDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + StudentNo = gReturnKeyValue + + '重新取出資料 + Call funLoadStudent() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugStudent, "StudentNo", StudentNo) + If Not ugrRow Is Nothing Then + Me.iugStudent.iMESUltraGrid.ActiveRow = ugrRow + Me.iugStudent.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugStudent.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugStudent.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTStudent).Select("StudentNo = '" _ + & Replace(Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fStudentDef As New frmStudentDef + fStudentDef.DefMode = 1 + fStudentDef.EditDataRow = Rows(0) + fStudentDef.ShowDialog(Me) + fStudentDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + StudentNo = gReturnKeyValue + + '重新取出資料 + Call funLoadStudent() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugStudent, "StudentNo", StudentNo) + If Not ugrRow Is Nothing Then + Me.iugStudent.iMESUltraGrid.ActiveRow = ugrRow + Me.iugStudent.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugStudent.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugStudent.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugStudent.iMESUltraGrid.ActiveRow.Selected Then + Me.iugStudent.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugStudent.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugStudent.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugStudent.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugStudent.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("studentno", "studentno", "string", CInput(Me.iugStudent.iMESUltraGrid.Selected.Rows(i).Cells("StudentNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "issuestate", "string", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "datastamp", "integer", iugStudent.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelStudent(InXml) + 'OutXml = InvokeSrv("wsENT.DelStudent", InXml) + OutXml = InvokeSrv("SXS.wsENT_21684.DelStudent", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadStudent() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugStudent.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugStudent.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTStudent).Select("StudentNo = '" _ + & Replace(Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString, "'", "''") & "'") + + Dim fStudentDef As New frmStudentDef + fStudentDef.DefMode = 2 + fStudentDef.EditDataRow = Rows(0) + fStudentDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + StudentNo = gReturnKeyValue + + '重新取出資料 + Call funLoadStudent() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugStudent, "StudentNo", StudentNo) + If Not ugrRow Is Nothing Then + Me.iugStudent.iMESUltraGrid.ActiveRow = ugrRow + Me.iugStudent.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugStudent.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugStudent.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugStudent.iMESUltraGrid.ActiveRow.Selected Then + Me.iugStudent.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugStudent.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugStudent.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugStudent.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugStudent.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("StudentNo", "StudentNo", "String", CInput(Me.iugStudent.iMESUltraGrid.Selected.Rows(i).Cells("StudentNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugStudent.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveStudent(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveStudent", InXml) + OutXml = InvokeSrv("SXS.wsENT_21684.ApproveStudent", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadStudent() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugStudent.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fStudentContDef As New frmStudentContDef + + fStudentContDef.DefMode = 0 + fStudentContDef.StudentNo = Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString + fStudentContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ParentName = gReturnKeyValue + + '重新取出資料 + Call funLoadStudentCont(Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ParentName", ParentName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugStudent.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugStudent.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTStudentCont).Select("StudentNo = '" _ + & Replace(Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString, "'", "''") & "'" _ + & " And ParentName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ParentName").Value.ToString, "'", "''") & "'") + + Dim fStudentContDef As New frmStudentContDef + fStudentContDef.DefMode = 1 + fStudentContDef.EditDataRow = Rows(0) + fStudentContDef.StudentNo = Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString + fStudentContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ParentName = gReturnKeyValue + + '重新取出資料 + Call funLoadStudentCont(Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ParentName", ParentName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("studentNo", "studentno", "string", CInput(Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("parentname", "parentname", "string", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ParentName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelStudentCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelStudentCont", InXml) + OutXml = InvokeSrv("SXS.wsENT_21684.DelStudentCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadStudentCont(Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugStudent.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugStudent.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTStudentCont).Select("StudentNo = '" _ + & Replace(Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString, "'", "''") & "'" _ + & " And ParentName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ParentName").Value.ToString, "'", "''") & "'") + + Dim fStudentContDef As New frmStudentContDef + fStudentContDef.DefMode = 2 + fStudentContDef.EditDataRow = Rows(0) + fStudentContDef.StudentNo = Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString + fStudentContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ParentName = gReturnKeyValue + + '重新取出資料 + Call funLoadStudentCont(Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ParentName", ParentName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTStudentCont).Select("StudentNo = '" _ + & Replace(Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString, "'", "''") & "'" _ + & " And ParentName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ParentName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadStudent() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugStudent_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugStudent.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("StudentNo") + .Header.Caption = "StudentNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("StudentName") + .Header.Caption = "StudentName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Score") + .Header.Caption = "Score" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugStudent_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugStudent.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugStudent.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadStudentCont(Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("StudentNo") + .Header.Caption = "StudentNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ParentName") + .Header.Caption = "ParentName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 10 + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTStudent 外包商資料 + + Private Sub funLoadStudent() + + '先判斷是否dataset中已有ENTStudent之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTStudent)) Then + dsENT.Tables.Remove(tblENTStudent) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadStudent(InXml) + 'OutXml = InvokeSrv("wsENT.LoadStudent", InXml) + OutXml = InvokeSrv("SXS.wsENT_21684.LoadStudent", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTStudent = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadStudent").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadStudent").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadStudent").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTStudent).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTStudent).DefaultView.Sort = "StudentNo" + + Me.iugStudent.iMESUltraGrid.DataSource = dsENT.Tables(tblENTStudent).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Student Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTStudentCont聯絡人資料 + + Private Sub funLoadStudentCont(ByRef StudentNo As String) + + If Not IsNothing(dsENT.Tables(tblENTStudentCont)) Then + dsENT.Tables.Remove(tblENTStudentCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("studentno", "studentno", "string", StudentNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadStudentCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadStudentCont", InXml) + OutXml = InvokeSrv("SXS.wsENT_21684.LoadStudentCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTStudentCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadStudentcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadStudentcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadStudentcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTStudentCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Student Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugStudent.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadStudentCont(Me.iugStudent.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugStudent 初始設定 + With Me.iugStudent.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugStudent.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + Private Sub iugDetail_Load(sender As Object, e As EventArgs) Handles iugDetail.Load + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS1/ET_21684/frmStudentContDef.resx b/SRC/MESWin/SYS1/ET_21684/frmStudentContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/frmStudentContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS1/ET_21684/frmStudentContDef.vb b/SRC/MESWin/SYS1/ET_21684/frmStudentContDef.vb new file mode 100644 index 0000000..384dbfa --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/frmStudentContDef.vb @@ -0,0 +1,631 @@ +Imports iMESExceptionManager + +Public Class frmStudentContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public StudentNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblParentName As System.Windows.Forms.Label + Friend WithEvents lblStudentNo As System.Windows.Forms.Label + Friend WithEvents gbxStudentContData As System.Windows.Forms.GroupBox + Friend WithEvents txtStudentNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtParentName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxStudentContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.lblStudentNo = New System.Windows.Forms.Label() + Me.lblParentName = New System.Windows.Forms.Label() + Me.txtStudentNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtParentName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxStudentContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtStudentNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtParentName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxStudentContData + ' + Me.gbxStudentContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxStudentContData.Controls.Add(Me.txtAddress) + Me.gbxStudentContData.Controls.Add(Me.txtEMail) + Me.gbxStudentContData.Controls.Add(Me.txtTitle) + Me.gbxStudentContData.Controls.Add(Me.txtFaxNo) + Me.gbxStudentContData.Controls.Add(Me.lblAddress) + Me.gbxStudentContData.Controls.Add(Me.lblEMail) + Me.gbxStudentContData.Controls.Add(Me.lblTitle) + Me.gbxStudentContData.Controls.Add(Me.lblFaxNo) + Me.gbxStudentContData.Controls.Add(Me.lblTelNo) + Me.gbxStudentContData.Controls.Add(Me.lblStudentNo) + Me.gbxStudentContData.Controls.Add(Me.lblParentName) + Me.gbxStudentContData.Controls.Add(Me.txtStudentNo) + Me.gbxStudentContData.Controls.Add(Me.txtParentName) + Me.gbxStudentContData.Controls.Add(Me.txtTelNo) + Me.gbxStudentContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxStudentContData.Location = New System.Drawing.Point(15, 8) + Me.gbxStudentContData.Name = "gbxStudentContData" + Me.gbxStudentContData.Size = New System.Drawing.Size(469, 306) + Me.gbxStudentContData.TabIndex = 0 + Me.gbxStudentContData.TabStop = False + Me.gbxStudentContData.Text = "ENT Student Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 22) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 22) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 22) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 121) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblStudentNo + ' + Me.lblStudentNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblStudentNo.Location = New System.Drawing.Point(14, 29) + Me.lblStudentNo.Name = "lblStudentNo" + Me.lblStudentNo.Size = New System.Drawing.Size(96, 14) + Me.lblStudentNo.TabIndex = 0 + Me.lblStudentNo.Text = "Student No" + Me.lblStudentNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblParentName + ' + Me.lblParentName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblParentName.Location = New System.Drawing.Point(24, 59) + Me.lblParentName.Name = "lblParentName" + Me.lblParentName.Size = New System.Drawing.Size(86, 14) + Me.lblParentName.TabIndex = 2 + Me.lblParentName.Text = "Parent Name" + Me.lblParentName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtStudentNo + ' + Me.txtStudentNo.Location = New System.Drawing.Point(120, 24) + Me.txtStudentNo.Name = "txtStudentNo" + Me.txtStudentNo.ReadOnly = True + Me.txtStudentNo.Size = New System.Drawing.Size(114, 22) + Me.txtStudentNo.TabIndex = 1 + Me.txtStudentNo.TabStop = False + ' + 'txtParentName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtParentName.Appearance = Appearance1 + Me.txtParentName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtParentName.Location = New System.Drawing.Point(120, 56) + Me.txtParentName.Name = "txtParentName" + Me.txtParentName.Size = New System.Drawing.Size(160, 22) + Me.txtParentName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'frmStudentContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxStudentContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmStudentContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Student Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxStudentContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxStudentContData.ResumeLayout(False) + Me.gbxStudentContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtStudentNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtParentName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmStudentContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtStudentNo.Text = EditDataRow.Item("StudentNo").ToString + txtParentName.Text = EditDataRow.Item("ParentName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + 'txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtStudentNo.Text = StudentNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtParentName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmStudentContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtParentName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtParentName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtStudentNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.Click + txtStudentNo.SelectAll() + End Sub + + Private Sub txtStudentNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.Enter + txtStudentNo.SelectAll() + End Sub + + Private Sub txtStudentNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtStudentNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtStudentNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtParentName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtParentName.Click + txtParentName.SelectAll() + End Sub + + Private Sub txtParentName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtParentName.Enter + txtParentName.SelectAll() + End Sub + + Private Sub txtParentName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtParentName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtParentName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtParentName.Leave + If txtParentName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtParentName.Text & "@" + End If + txtParentName.Text = UCase(txtParentName.Text) + End Sub + + Private Sub txtParentName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtParentName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + 'Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) + ' txtDescription.SelectAll() + 'End Sub + + 'Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) + ' txtDescription.SelectAll() + 'End Sub + + 'Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) + ' If e.KeyChar = Convert.ToChar(13) Then + ' SendKeys.Send("{TAB}") + ' End If + 'End Sub + ' + 'Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + ' btnApplyEnabled = True + 'End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtStudentNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%StudentNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtStudentNo.Focus() + Exit Function + End If + If txtParentName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ParentName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtParentName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("studentno", "studentNo", "string", CInput(txtStudentNo.Text), "") + strParameter = strParameter & CombineXMLParameter("parentname", "parentname", "string", CInput(txtParentName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "telno", "string", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "faxNo", "string", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "title", "string", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "address", "string", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "email", "string", CInput(txtEMail.Text), "") + 'strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "creator", "string", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddStudentCont(InXml) + OutXml = InvokeSrv("SXS.wsENT_21684.AddStudentCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "datastamp", "integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditStudentCont(InXml) + OutXml = InvokeSrv("SXS.wsENT_21684.EditStudentCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtParentName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Student Parent Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmStudentContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Private Sub btnConfirm_Click_1(sender As Object, e As EventArgs) Handles btnConfirm.Click + + End Sub +End Class + diff --git a/SRC/MESWin/SYS1/ET_21684/frmStudentDef.resx b/SRC/MESWin/SYS1/ET_21684/frmStudentDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/frmStudentDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS1/ET_21684/frmStudentDef.vb b/SRC/MESWin/SYS1/ET_21684/frmStudentDef.vb new file mode 100644 index 0000000..49f9c95 --- /dev/null +++ b/SRC/MESWin/SYS1/ET_21684/frmStudentDef.vb @@ -0,0 +1,433 @@ +Imports iMESExceptionManager + +Public Class frmStudentDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtSCORE As System.Windows.Forms.RichTextBox + Friend WithEvents lblScore As System.Windows.Forms.Label + Friend WithEvents lblStudentNo As System.Windows.Forms.Label + Friend WithEvents lblStudentName As System.Windows.Forms.Label + Friend WithEvents gbxStudentData As System.Windows.Forms.GroupBox + Friend WithEvents txtStudentNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtStudentName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxStudentData = New System.Windows.Forms.GroupBox() + Me.txtSCORE = New System.Windows.Forms.RichTextBox() + Me.lblScore = New System.Windows.Forms.Label() + Me.lblStudentNo = New System.Windows.Forms.Label() + Me.lblStudentName = New System.Windows.Forms.Label() + Me.txtStudentNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtStudentName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxStudentData.SuspendLayout() + CType(Me.txtStudentNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtStudentName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 185) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 264) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 264) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 264) + ' + 'gbxStudentData + ' + Me.gbxStudentData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxStudentData.Controls.Add(Me.txtSCORE) + Me.gbxStudentData.Controls.Add(Me.lblScore) + Me.gbxStudentData.Controls.Add(Me.lblStudentNo) + Me.gbxStudentData.Controls.Add(Me.lblStudentName) + Me.gbxStudentData.Controls.Add(Me.txtStudentNo) + Me.gbxStudentData.Controls.Add(Me.txtStudentName) + Me.gbxStudentData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxStudentData.Location = New System.Drawing.Point(12, 8) + Me.gbxStudentData.Name = "gbxStudentData" + Me.gbxStudentData.Size = New System.Drawing.Size(479, 169) + Me.gbxStudentData.TabIndex = 7 + Me.gbxStudentData.TabStop = False + Me.gbxStudentData.Text = "Student Data" + ' + 'txtSCORE + ' + Me.txtSCORE.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtSCORE.Location = New System.Drawing.Point(128, 86) + Me.txtSCORE.Name = "txtSCORE" + Me.txtSCORE.Size = New System.Drawing.Size(334, 67) + Me.txtSCORE.TabIndex = 2 + Me.txtSCORE.Text = "" + ' + 'lblScore + ' + Me.lblScore.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblScore.Location = New System.Drawing.Point(56, 88) + Me.lblScore.Name = "lblScore" + Me.lblScore.Size = New System.Drawing.Size(64, 14) + Me.lblScore.TabIndex = 13 + Me.lblScore.Text = "SCORE" + Me.lblScore.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblStudentNo + ' + Me.lblStudentNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblStudentNo.Location = New System.Drawing.Point(24, 24) + Me.lblStudentNo.Name = "lblStudentNo" + Me.lblStudentNo.Size = New System.Drawing.Size(96, 32) + Me.lblStudentNo.TabIndex = 5 + Me.lblStudentNo.Text = "Student No" + Me.lblStudentNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblStudentName + ' + Me.lblStudentName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblStudentName.Location = New System.Drawing.Point(8, 56) + Me.lblStudentName.Name = "lblStudentName" + Me.lblStudentName.Size = New System.Drawing.Size(112, 32) + Me.lblStudentName.TabIndex = 9 + Me.lblStudentName.Text = "Student Name" + Me.lblStudentName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtStudentNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtStudentNo.Appearance = Appearance1 + Me.txtStudentNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtStudentNo.Location = New System.Drawing.Point(128, 24) + Me.txtStudentNo.Name = "txtStudentNo" + Me.txtStudentNo.Size = New System.Drawing.Size(152, 22) + Me.txtStudentNo.TabIndex = 0 + ' + 'txtStudentName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtStudentName.Appearance = Appearance2 + Me.txtStudentName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtStudentName.Location = New System.Drawing.Point(128, 55) + Me.txtStudentName.Name = "txtStudentName" + Me.txtStudentName.Size = New System.Drawing.Size(334, 22) + Me.txtStudentName.TabIndex = 1 + ' + 'frmStudentDef + ' + Me.ClientSize = New System.Drawing.Size(503, 309) + Me.Controls.Add(Me.gbxStudentData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmStudentDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Student" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxStudentData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxStudentData.ResumeLayout(False) + Me.gbxStudentData.PerformLayout() + CType(Me.txtStudentNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtStudentName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmStudentDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtStudentNo.Text = EditDataRow.Item("StudentNo").ToString + txtStudentName.Text = EditDataRow.Item("StudentName").ToString + 'txtScore是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtSCORE.Text = EditDataRow.Item("Score").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtStudentNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmStudentDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtStudentNo.Focus() + Else + txtStudentName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtStudentNo.Focus() + Else + txtStudentName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmStudentDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtStudentNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.Click + txtStudentNo.SelectAll() + End Sub + + Private Sub txtStudentNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.Enter + txtStudentNo.SelectAll() + End Sub + + Private Sub txtStudentNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtStudentNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtStudentNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.Leave + txtStudentNo.Text = UCase(txtStudentNo.Text) + End Sub + + Private Sub txtStudentNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtStudentName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentName.Click + txtStudentName.SelectAll() + End Sub + + Private Sub txtStudentName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentName.Enter + txtStudentName.SelectAll() + End Sub + + Private Sub txtStudentName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtStudentName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtStudentName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtScore_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtSCORE.Click + txtSCORE.SelectAll() + End Sub + + Private Sub txtScore_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtSCORE.Enter + txtSCORE.SelectAll() + End Sub + + Private Sub txtScore_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSCORE.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtStudentNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%StudentNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtStudentNo.Focus() + Exit Function + End If + + If txtStudentName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%StudentName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtStudentName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("studentno", "studentNo", "string", CInput(txtStudentNo.Text), "") + strParameter = strParameter & CombineXMLParameter("studentname", "studentname", "string", CInput(txtStudentName.Text), "") + strParameter = strParameter & CombineXMLParameter("score", "score", "string", CInput(txtSCORE.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "creator", "string", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "createDate", "datetime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddStudent(InXml) + OutXml = InvokeSrv("SXS.wsENT_21684.AddStudent", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditStudent(InXml) + OutXml = InvokeSrv("SXS.wsENT_21684.EditStudent", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtStudentNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Student Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + + Private Sub lblScore_Click(sender As Object, e As EventArgs) Handles lblScore.Click + + End Sub + + Private Sub btnConfirm_Click_1(sender As Object, e As EventArgs) Handles btnConfirm.Click + + End Sub + + Private Sub btnClose_Click_1(sender As Object, e As EventArgs) Handles btnClose.Click + + End Sub + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS1/ET_21684/iMES.snk b/SRC/MESWin/SYS1/ET_21684/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) 0) + { + GetStudentRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetStudentRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetStudentRet = null; + throw; + } // New Exception("kcENT.GetStudent: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetStudentRet; + + } + public string SetStudentIssueState(string StudentNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetStudentIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTChengJi Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where StudentNo ='" + StudentNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetStudentIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetStudentIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetStudentIssueState: " & e1.Message) + + return SetStudentIssueStateRet; + + } + + + public string AddStudentCont(string StudentNo, string ParentName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Score = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddStudentContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTChengJiCont (StudentNo, ParentName"; + strSQLAddValue = " Values ('" + StudentNo + "','" + ParentName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddStudentContRet = "success"; + } + + catch (Exception e1) + { + AddStudentContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddStudentCont: " & e1.Message) + + return AddStudentContRet; + + } + + + public string EditStudentCont(string StudentNo, string ParentName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Score = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditStudentContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTChengJiCont Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where StudentNo = '" + StudentNo + "'" + " And ParentName ='" + ParentName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditStudentContRet = "success"; + } + + catch (Exception e1) + { + EditStudentContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditStudentCont: " & e1.Message) + + return EditStudentContRet; + + } + + public string DelStudentCont(string StudentNo, string ParentName = defString, string AdditionalXml = "") + { + string DelStudentContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From tblENTChengJiCont " + " Where StudentNo='" + StudentNo + "'"; + + if ((ParentName ?? "") != defString) + { + strSQL += " And ParentName = '" + ParentName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelStudentContRet = "success"; + } + + catch (Exception e1) + { + DelStudentContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelStudentCont: " & e1.Message) + + return DelStudentContRet; + + } + + public string LoadStudentCont(string StudentNo = defString, string ParentName = defString, string AdditionalXml = "") + { + string LoadStudentContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTChengJiCont Where StudentNo Is Not Null"; + + // 有傳入StudentNo表示只取該StudentNo之資料 + if ((StudentNo ?? "") != defString) + { + strSQL += " And StudentNo = '" + StudentNo + "'"; + } + if ((ParentName ?? "") != defString) + { + strSQL += " And ParentName = '" + ParentName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJiCont", cnnTemp); + + // //Combine return value + LoadStudentContRet = CombineXMLReturnValue("loadStudentcont", "tblENTChengJiCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadStudentContRet = "fail"; + throw; + } // New Exception("kcENT.LoadStudentCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadStudentContRet; + + } + + public DataSet ShowStudentCont(string StudentNo = defString, string ParentName = defString, string AdditionalXml = "") + { + DataSet ShowStudentContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTChengJiCont Where StudentNo Is Not Null"; + if ((StudentNo ?? "") != defString) + { + strSQL += " And StudentNo = '" + StudentNo + "'"; + } + if ((ParentName ?? "") != defString) + { + strSQL += " And ParentName = '" + ParentName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJiCont", cnnTemp); + + // //Return data + ShowStudentContRet = dsENT; + } + + catch (Exception e1) + { + ShowStudentContRet = null; + throw; + } // New Exception("kcENT.ShowStudentCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowStudentContRet; + + } + + public DataRow GetStudentCont(string StudentNo = defString, string ParentName = defString, string AdditionalXml = "") + { + DataRow GetStudentContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTChengJiCont Where StudentNo Is Not Null"; + if ((StudentNo ?? "") != defString) + { + strSQL += " And StudentNo = '" + StudentNo + "'"; + } + if ((ParentName ?? "") != defString) + { + strSQL += " And ParentName = '" + ParentName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJiCont", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetStudentContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetStudentContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetStudentContRet = null; + throw; + } // New Exception("kcENT.GetStudentCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetStudentContRet; + + } + + + + #endregion + } +} diff --git a/SRC/MEStc_SXS/MEStc_SXS.csproj b/SRC/MEStc_SXS/MEStc_SXS.csproj index 0854ab1..d8b3545 100644 --- a/SRC/MEStc_SXS/MEStc_SXS.csproj +++ b/SRC/MEStc_SXS/MEStc_SXS.csproj @@ -111,6 +111,7 @@ + diff --git a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/MEStc_SXS/tcENT/clsENT.cs b/SRC/MEStc_SXS/tcENT/clsENT.cs index 2af6c9d..b5c8a5b 100644 --- a/SRC/MEStc_SXS/tcENT/clsENT.cs +++ b/SRC/MEStc_SXS/tcENT/clsENT.cs @@ -36,7 +36,7 @@ namespace MEStc_SXS #region --- Initial Object --- public clsENT() - { + { // Get database type strDataBaseType = objSetting.GetDataBaseType(); // Get connection string @@ -124,12 +124,12 @@ namespace MEStc_SXS } #endregion - #region --- Subcontractor 外包商 --- + #region --- Student 外包商 --- - public string AddSubcontractor(string SubcontractorNo, string SubcontractorName, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + public string AddStudent(string StudentNo, string StudentName, string Score = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") { - string AddSubcontractorRet = default(string); + string AddStudentRet = default(string); // 此 Function 將新增一筆資料 // 傳入值: 各欄位新增值 // 傳回值: success(成功), fail(失敗) @@ -139,13 +139,13 @@ namespace MEStc_SXS try { - strSQLAddField = "Insert into tblENTSubcontractor (SubcontractorNo, SubcontractorName, IssueState"; - strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; + strSQLAddField = "Insert into tblENTChengJi (StudentNo, StudentName, IssueState"; + strSQLAddValue = " Values ('" + StudentNo + "','" + StudentName + "', 0"; - if ((Description ?? "") != defString) + if ((Score ?? "") != defString) { - strSQLAddField += ",Description"; - strSQLAddValue += ",'" + Description + "'"; + strSQLAddField += ",Score"; + strSQLAddValue += ",'" + Score + "'"; } if ((Creator ?? "") != defString) { @@ -175,24 +175,24 @@ namespace MEStc_SXS ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); // //Return success - AddSubcontractorRet = "success"; + AddStudentRet = "success"; } catch (Exception e1) { - AddSubcontractorRet = "fail"; + AddStudentRet = "fail"; // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 throw; - } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + } // New Exception("kcENT.AddStudent: " & e1.Message) - return AddSubcontractorRet; + return AddStudentRet; } - public string EditSubcontractor(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + public string EditStudent(string StudentNo, string StudentName = defString, string Score = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) { - string EditSubcontractorRet = default(string); + string EditStudentRet = default(string); // 此 Function 將修改一筆資料 // 傳入值: 各欄位修改值 // 傳回值: success(成功), fail(失敗) @@ -200,15 +200,15 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractor Set "; + strSQL = "Update tblENTChengJi Set "; - if ((SubcontractorName ?? "") != defString) + if ((StudentName ?? "") != defString) { - strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + strSQL += "StudentName = '" + StudentName + "',"; } - if ((Description ?? "") != defString) + if ((Score ?? "") != defString) { - strSQL += "Description = '" + Description + "',"; + strSQL += "Score = '" + Score + "',"; } if (Reviser != defString) @@ -235,7 +235,7 @@ namespace MEStc_SXS strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); } - strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL += " Where StudentNo ='" + StudentNo + "'"; strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; // 有額外的條件式時再Append進原來的strSQL中 @@ -250,23 +250,23 @@ namespace MEStc_SXS } // //Return success - EditSubcontractorRet = "success"; + EditStudentRet = "success"; } catch (Exception e1) { - EditSubcontractorRet = "fail"; + EditStudentRet = "fail"; // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 throw; - } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + } // New Exception("kcENT.EditStudent: " & e1.Message) - return EditSubcontractorRet; + return EditStudentRet; } - public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "") + public string DelStudent(string StudentNo, string AdditionalXml = "") { - string DelSubcontractorRet = default(string); + string DelStudentRet = default(string); // 此 Function 將刪除資料 // 傳入值: 刪除的索引值 // 傳回值: success(成功), fail(失敗) @@ -274,12 +274,12 @@ namespace MEStc_SXS try { - // 1. 刪除Contactor - strSQL = "Delete From tblENTSubcontractorCont " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + // 1. 刪除Parent + strSQL = "Delete From tblENTChengJiCont " + "Where StudentNo='" + StudentNo + "'"; CollectionSQL.Add(strSQL); // 2. 刪除主檔 - strSQL = "Delete From tblENTSubcontractor " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = "Delete From tblENTChengJi " + " Where StudentNo ='" + StudentNo + "'"; if (!string.IsNullOrEmpty(AdditionalXml)) { @@ -293,24 +293,24 @@ namespace MEStc_SXS ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); // //Return success - DelSubcontractorRet = "success"; + DelStudentRet = "success"; } catch (Exception e1) { - DelSubcontractorRet = "fail"; + DelStudentRet = "fail"; // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 throw; - } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + } // New Exception("kcENT.DelStudent: " & e1.Message) - return DelSubcontractorRet; + return DelStudentRet; } - public string LoadSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + public string LoadStudent(string StudentNo = defString, int IssueState = defInteger, string AdditionalXml = "") { - string LoadSubcontractorRet = default(string); + string LoadStudentRet = default(string); // 此 Function 將資料以XML方式取出 // 傳入值: 索引值 // 傳回值: XML(成功), fail(失敗) @@ -323,11 +323,11 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTChengJi Where StudentNo Is Not Null"; - if ((SubcontractorNo ?? "") != defString) + if ((StudentNo ?? "") != defString) { - strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + strSQL += " And StudentNo = '" + StudentNo + "'"; } if (IssueState != defInteger) { @@ -342,17 +342,17 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJi", cnnTemp); // //Combine return value - LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + LoadStudentRet = CombineXMLReturnValue("loadStudent", "tblENTChengJi", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); } catch (Exception e1) { - LoadSubcontractorRet = "fail"; + LoadStudentRet = "fail"; throw; - } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + } // New Exception("kcENT.LoadStudent: " & e1.Message) finally { @@ -364,13 +364,13 @@ namespace MEStc_SXS } - return LoadSubcontractorRet; + return LoadStudentRet; } - public DataSet ShowSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + public DataSet ShowStudent(string StudentNo = defString, int IssueState = defInteger, string AdditionalXml = "") { - DataSet ShowSubcontractorRet = default(DataSet); + DataSet ShowStudentRet = default(DataSet); // 此 Function 將資料以 Dataset 方式取出 // 傳入值: 索引值 // 傳回值: Dataset(成功), Nothing(失敗) @@ -383,11 +383,11 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTChengJi Where StudentNo Is Not Null"; - if ((SubcontractorNo ?? "") != defString) + if ((StudentNo ?? "") != defString) { - strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + strSQL += " And StudentNo = '" + StudentNo + "'"; } if (IssueState != defInteger) { @@ -402,17 +402,17 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJi", cnnTemp); // //Return data - ShowSubcontractorRet = dsENT; + ShowStudentRet = dsENT; } catch (Exception e1) { - ShowSubcontractorRet = null; + ShowStudentRet = null; throw; - } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + } // New Exception("kcENT.ShowStudent: " & e1.Message) finally { @@ -424,13 +424,13 @@ namespace MEStc_SXS } - return ShowSubcontractorRet; + return ShowStudentRet; } - public DataRow GetSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + public DataRow GetStudent(string StudentNo = defString, int IssueState = defInteger, string AdditionalXml = "") { - DataRow GetSubcontractorRet = default(DataRow); + DataRow GetStudentRet = default(DataRow); // 此 Function 將資料以 DataRow 方式取出 // 傳入值: 索引值 // 傳回值: DataRow(成功), Nothing(失敗) @@ -443,11 +443,11 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTChengJi Where StudentNo Is Not Null"; - if ((SubcontractorNo ?? "") != defString) + if ((StudentNo ?? "") != defString) { - strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + strSQL += " And StudentNo = '" + StudentNo + "'"; } if (IssueState != defInteger) { @@ -462,23 +462,23 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJi", cnnTemp); // //Return data if (dsENT.Tables[0].Rows.Count > 0) { - GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + GetStudentRet = dsENT.Tables[0].Rows[0]; } else { - GetSubcontractorRet = dsENT.Tables[0].NewRow(); + GetStudentRet = dsENT.Tables[0].NewRow(); } } catch (Exception e1) { - GetSubcontractorRet = null; + GetStudentRet = null; throw; - } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + } // New Exception("kcENT.GetStudent: " & e1.Message) finally { @@ -490,12 +490,12 @@ namespace MEStc_SXS } - return GetSubcontractorRet; + return GetStudentRet; } - public string SetSubcontractorIssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + public string SetStudentIssueState(string StudentNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) { - string SetSubcontractorIssueStateRet = default(string); + string SetStudentIssueStateRet = default(string); // 此 Function 將修改IssueState欄位的值 // 傳入值: IssueState修改後的值及VendorNo // 傳回值: success(成功), fail(失敗) @@ -503,7 +503,7 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractor Set IssueState = " + IssueState + ","; + strSQL = "Update tblENTChengJi Set IssueState = " + IssueState + ","; if (Reviser != defString) strSQL = strSQL + "Reviser = '" + Reviser + "',"; @@ -521,7 +521,7 @@ namespace MEStc_SXS strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); } - strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " Where StudentNo ='" + StudentNo + "'"; strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; // 呼叫執行SQL指令 @@ -529,33 +529,33 @@ namespace MEStc_SXS } // //Return success - SetSubcontractorIssueStateRet = "success"; + SetStudentIssueStateRet = "success"; } catch (Exception e1) { - SetSubcontractorIssueStateRet = "fail"; + SetStudentIssueStateRet = "fail"; // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 throw; - } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + } // New Exception("kcENT.SetStudentIssueState: " & e1.Message) - return SetSubcontractorIssueStateRet; + return SetStudentIssueStateRet; } - public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + public string AddStudentCont(string StudentNo, string ParentName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Score = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) { - string AddSubcontractorContRet = default(string); + string AddStudentContRet = default(string); // 此 Function 將新增一筆資料 // 傳入值: 各欄位新增值 // 傳回值: success(成功), fail(失敗) try { - strSQLAddField = "Insert into tblENTSubcontractorCont (SubcontractorNo, ContactorName"; - strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + strSQLAddField = "Insert into tblENTChengJiCont (StudentNo, ParentName"; + strSQLAddValue = " Values ('" + StudentNo + "','" + ParentName + "'"; if ((TelNo ?? "") != defString) { @@ -582,11 +582,6 @@ namespace MEStc_SXS strSQLAddField += ",EMail"; strSQLAddValue += ",'" + EMail + "'"; } - if ((Description ?? "") != defString) - { - strSQLAddField += ",Description"; - strSQLAddValue += ",'" + Description + "'"; - } if (Creator != defString) { strSQLAddField = strSQLAddField + ",Creator"; @@ -615,25 +610,25 @@ namespace MEStc_SXS ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); // //Return success - AddSubcontractorContRet = "success"; + AddStudentContRet = "success"; } catch (Exception e1) { - AddSubcontractorContRet = "fail"; + AddStudentContRet = "fail"; // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 throw; - } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + } // New Exception("kcENT.AddStudentCont: " & e1.Message) - return AddSubcontractorContRet; + return AddStudentContRet; } - public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + public string EditStudentCont(string StudentNo, string ParentName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Score = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) { - string EditSubcontractorContRet = default(string); + string EditStudentContRet = default(string); // 此 Function 將修改一筆資料 // 傳入值: 各欄位修改值 @@ -642,7 +637,7 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractorCont Set "; + strSQL = "Update tblENTChengJiCont Set "; if ((TelNo ?? "") != defString) { @@ -664,10 +659,6 @@ namespace MEStc_SXS { strSQL += "EMail = '" + EMail + "',"; } - if ((Description ?? "") != defString) - { - strSQL += "Description = '" + Description + "',"; - } if (Reviser != defString) strSQL = strSQL + "Reviser = '" + Reviser + "',"; @@ -693,7 +684,7 @@ namespace MEStc_SXS strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); } - strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL += " Where StudentNo = '" + StudentNo + "'" + " And ParentName ='" + ParentName + "'"; strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; // 有額外的條件式時再Append進原來的strSQL中 @@ -708,35 +699,35 @@ namespace MEStc_SXS } // //Return success - EditSubcontractorContRet = "success"; + EditStudentContRet = "success"; } catch (Exception e1) { - EditSubcontractorContRet = "fail"; + EditStudentContRet = "fail"; // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 throw; - } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + } // New Exception("kcENT.EditStudentCont: " & e1.Message) - return EditSubcontractorContRet; + return EditStudentContRet; } - public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") + public string DelStudentCont(string StudentNo, string ParentName = defString, string AdditionalXml = "") { - string DelSubcontractorContRet = default(string); + string DelStudentContRet = default(string); // 此 Function 將刪除資料 // 傳入值: 刪除的索引值 // 傳回值: success(成功), fail(失敗) try { - strSQL = "Delete From tblENTSubcontractorCont " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + strSQL = "Delete From tblENTChengJiCont " + " Where StudentNo='" + StudentNo + "'"; - if ((ContactorName ?? "") != defString) + if ((ParentName ?? "") != defString) { - strSQL += " And ContactorName = '" + ContactorName + "'"; + strSQL += " And ParentName = '" + ParentName + "'"; } if (!string.IsNullOrEmpty(AdditionalXml)) @@ -749,24 +740,24 @@ namespace MEStc_SXS ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); // //Return success - DelSubcontractorContRet = "success"; + DelStudentContRet = "success"; } catch (Exception e1) { - DelSubcontractorContRet = "fail"; + DelStudentContRet = "fail"; // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 throw; - } // New Exception("kcENT.DelSubcontractorCont: " & e1.Message) + } // New Exception("kcENT.DelStudentCont: " & e1.Message) - return DelSubcontractorContRet; + return DelStudentContRet; } - public string LoadSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + public string LoadStudentCont(string StudentNo = defString, string ParentName = defString, string AdditionalXml = "") { - string LoadSubcontractorContRet = default(string); + string LoadStudentContRet = default(string); // 此 Function 將資料以XML方式取出 // 傳入值: 索引值 // 傳回值: XML(成功), fail(失敗) @@ -779,16 +770,16 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTChengJiCont Where StudentNo Is Not Null"; - // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 - if ((SubcontractorNo ?? "") != defString) + // 有傳入StudentNo表示只取該StudentNo之資料 + if ((StudentNo ?? "") != defString) { - strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + strSQL += " And StudentNo = '" + StudentNo + "'"; } - if ((ContactorName ?? "") != defString) + if ((ParentName ?? "") != defString) { - strSQL += " And ContactorName = '" + ContactorName + "'"; + strSQL += " And ParentName = '" + ParentName + "'"; } if (!string.IsNullOrEmpty(AdditionalXml)) @@ -799,17 +790,17 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJiCont", cnnTemp); // //Combine return value - LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + LoadStudentContRet = CombineXMLReturnValue("loadStudentcont", "tblENTChengJiCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); } catch (Exception e1) { - LoadSubcontractorContRet = "fail"; + LoadStudentContRet = "fail"; throw; - } // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message) + } // New Exception("kcENT.LoadStudentCont: " & e1.Message) finally { @@ -821,13 +812,13 @@ namespace MEStc_SXS } - return LoadSubcontractorContRet; + return LoadStudentContRet; } - public DataSet ShowSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + public DataSet ShowStudentCont(string StudentNo = defString, string ParentName = defString, string AdditionalXml = "") { - DataSet ShowSubcontractorContRet = default(DataSet); + DataSet ShowStudentContRet = default(DataSet); // 此 Function 將資料以 Dataset 方式取出 // 傳入值: 索引值 // 傳回值: Dataset(成功), Nothing(失敗) @@ -841,14 +832,14 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; - if ((SubcontractorNo ?? "") != defString) + strSQL = "Select * From tblENTChengJiCont Where StudentNo Is Not Null"; + if ((StudentNo ?? "") != defString) { - strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + strSQL += " And StudentNo = '" + StudentNo + "'"; } - if ((ContactorName ?? "") != defString) + if ((ParentName ?? "") != defString) { - strSQL += " And ContactorName = '" + ContactorName + "'"; + strSQL += " And ParentName = '" + ParentName + "'"; } if (!string.IsNullOrEmpty(AdditionalXml)) @@ -859,17 +850,17 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJiCont", cnnTemp); // //Return data - ShowSubcontractorContRet = dsENT; + ShowStudentContRet = dsENT; } catch (Exception e1) { - ShowSubcontractorContRet = null; + ShowStudentContRet = null; throw; - } // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message) + } // New Exception("kcENT.ShowStudentCont: " & e1.Message) finally { @@ -881,13 +872,13 @@ namespace MEStc_SXS } - return ShowSubcontractorContRet; + return ShowStudentContRet; } - public DataRow GetSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + public DataRow GetStudentCont(string StudentNo = defString, string ParentName = defString, string AdditionalXml = "") { - DataRow GetSubcontractorContRet = default(DataRow); + DataRow GetStudentContRet = default(DataRow); // 此 Function 將資料以 DataRow 方式取出 // 傳入值: 索引值 // 傳回值: DataRow(成功), Nothing(失敗) @@ -901,14 +892,14 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; - if ((SubcontractorNo ?? "") != defString) + strSQL = "Select * From tblENTChengJiCont Where StudentNo Is Not Null"; + if ((StudentNo ?? "") != defString) { - strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + strSQL += " And StudentNo = '" + StudentNo + "'"; } - if ((ContactorName ?? "") != defString) + if ((ParentName ?? "") != defString) { - strSQL += " And ContactorName = '" + ContactorName + "'"; + strSQL += " And ParentName = '" + ParentName + "'"; } if (!string.IsNullOrEmpty(AdditionalXml)) @@ -919,23 +910,23 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJiCont", cnnTemp); // //Return data if (dsENT.Tables[0].Rows.Count > 0) { - GetSubcontractorContRet = dsENT.Tables[0].Rows[0]; + GetStudentContRet = dsENT.Tables[0].Rows[0]; } else { - GetSubcontractorContRet = dsENT.Tables[0].NewRow(); + GetStudentContRet = dsENT.Tables[0].NewRow(); } } catch (Exception e1) { - GetSubcontractorContRet = null; + GetStudentContRet = null; throw; - } // New Exception("kcENT.GetSubcontractorCont: " & e1.Message) + } // New Exception("kcENT.GetStudentCont: " & e1.Message) finally { @@ -947,7 +938,7 @@ namespace MEStc_SXS } - return GetSubcontractorContRet; + return GetStudentContRet; } diff --git a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/wsSXS/wsENT_21684/wsENT_21684.cs b/SRC/wsSXS/wsENT_21684/wsENT_21684.cs new file mode 100644 index 0000000..e914338 --- /dev/null +++ b/SRC/wsSXS/wsENT_21684/wsENT_21684.cs @@ -0,0 +1,1082 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System; +using System.Data; +using System.Web.Services; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.Base.iMESComSubroutine; +namespace wsSXS +{ + public class wsENT_21684 + { + private MEStc_SXS.clsENT21684 objENT = new MEStc_SXS.clsENT21684(); + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + //private kcBasis_UPD.clsBasis_UPD objBasis = new kcBasis_UPD.clsBasis_UPD(); //主檔優化 + //private kcBasis_Query.clsBasis_Query objQuery = new kcBasis_Query.clsBasis_Query(); //主檔優化 + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private string strResourceDir = "Resources"; + + public wsENT_21684() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + #region --- Student 外包商 --- + + [WebMethod(Description = "Load Student Data")] + public string LoadStudent(string InXml) + { + string LoadStudentRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string StudentNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Student,若有,表示要依Student查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("Studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("Studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("Studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objENT.LoadStudent(StudentNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Student Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Student Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadStudentRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadStudentRet; + + } + + [WebMethod(Description = "Add Student data")] + public string AddStudent(string InXml) + { + string AddStudentRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var StudentNo = default(string); + string StudentName; + string Score = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Student一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("studentname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentname").Item(0).SelectNodes("value").Count > 0) + { + StudentName = xmlDoc.DocumentElement.GetElementsByTagName("studentname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentName Not Found!"); + } + // Score + if (xmlDoc.DocumentElement.GetElementsByTagName("score").Count > 0) + { + if (xmlDoc.GetElementsByTagName("score").Item(0).SelectNodes("value").Count > 0) + { + Score = xmlDoc.DocumentElement.GetElementsByTagName("score").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddStudent(StudentNo, StudentName, Score, Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "AddStudent"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Student failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Student failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddStudentRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddStudentRet; + + } + + [WebMethod(Description = "Edit Specified Student Data")] + public string EditStudent(string InXml) + { + string EditStudentRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var StudentNo = default(string); + int IssueState = defInteger; + string StudentName = defString; + string Score = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Student一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // StudentName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentname").Item(0).SelectNodes("value").Count > 0) + { + StudentName = xmlDoc.DocumentElement.GetElementsByTagName("studentname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(StudentName)) + { + throw new iMESException.MESException("0000-200001", "StudentName is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("score").Count > 0) + { + if (xmlDoc.GetElementsByTagName("score").Item(0).SelectNodes("value").Count > 0) + { + Score = xmlDoc.DocumentElement.GetElementsByTagName("score").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((StudentName ?? "") != defString | (Score ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditStudent(StudentNo, StudentName, Score, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "EditStudent"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Student failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Student failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditStudentRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditStudentRet; + + } + + [WebMethod(Description = "Delete Student By Specified Student")] + public string DelStudent(string InXml) + { + string DelStudentRet = default(string); + + var StudentNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Student一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objENT.DelStudent(StudentNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objENT.SetStudentIssueState(StudentNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objENT.DelStudent(StudentNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "DelStudent:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Student failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Student failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelStudentRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelStudentRet; + + } + + [WebMethod(Description = "Approve Specified Student Data")] + public string ApproveStudent(string InXml) + { + string ApproveStudentRet = default(string); + + string IssueNo = "Student BASIS"; // 簽核編號:Student BASIS.若找不到,表示直接將狀態改為Active. + var StudentNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Student一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objENT.SetStudentIssueState(StudentNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "ApproveStudent"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objENT.SetStudentIssueState(StudentNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "ApproveStudent"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTStudent Set IssueState = 2 Where StudentNo = '" + StudentNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTStudent Set IssueState = 0 Where StudentNo = '" + StudentNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "StudentNo: " + StudentNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objENT.SetStudentIssueState(StudentNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "ApproveStudent"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Student failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Student failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveStudentRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveStudentRet; + + } + + // Student parent + [WebMethod(Description = "Load Student parent Data")] + public string LoadStudentCont(string InXml) + { + string LoadStudentContRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string StudentNo = defString; + string parentName = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入StudentNo,若有,表示要依StudentNo查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("parentname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("parentname").Item(0).SelectNodes("value").Count > 0) + { + parentName = xmlDoc.DocumentElement.GetElementsByTagName("parentname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行 + strReturnValue = objENT.LoadStudentCont(StudentNo, parentName); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Student parent Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Student parent Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadStudentContRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadStudentContRet; + + } + + [WebMethod(Description = "Add Student parent data")] + public string AddStudentCont(string InXml) + { + string AddStudentContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var StudentNo = default(string); + var parentName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // StudentNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + // parentName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("parentname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("parentname").Item(0).SelectNodes("value").Count > 0) + { + parentName = xmlDoc.DocumentElement.GetElementsByTagName("parentname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "parentName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "parentName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + //if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + //{ + // if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + // { + // Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + // } + // + //} + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddStudentCont(StudentNo, parentName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "AddStudentparent parentName:" + parentName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Studentparent Data failed, parentName:" + parentName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Studentparent Data failed, parentName:" + parentName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddStudentContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddStudentContRet; + + } + + [WebMethod(Description = "Edit Specified Student parent Data")] + public string EditStudentCont(string InXml) + { + string EditStudentContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var StudentNo = default(string); + var parentName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + //string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // StudentNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + // parentName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("parentname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("parentname").Item(0).SelectNodes("value").Count > 0) + { + parentName = xmlDoc.DocumentElement.GetElementsByTagName("parentname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "parentName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "parentName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + //if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + //{ + // if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + // { + // Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + // } + //} + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditStudentCont(StudentNo, parentName, TelNo, FaxNo, Title, Address, EMail, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "EditStudentparent parentName:" + parentName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Studentparent Data failed, parentName:" + parentName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Studentparent Data failed, parentName:" + parentName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditStudentContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditStudentContRet; + + } + + [WebMethod(Description = "Delete Student parent By Specified StudentNo and parentName")] + public string DelStudentCont(string InXml) + { + string DelStudentContRet = default(string); + + var StudentNo = default(string); + string parentName = defString; // 沒有傳入表示要刪除指定Student的所有parent + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // StudentNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + // parentName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("parentname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("parentname").Item(0).SelectNodes("value").Count > 0) + { + parentName = xmlDoc.DocumentElement.GetElementsByTagName("parentname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + objENT.DelStudentCont(StudentNo, parentName); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "DelStudentparent parentName:" + parentName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Del Studentparent Data failed, parentName:" + parentName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Del Studentparent Data failed, parentName:" + parentName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT_21684", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelStudentContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelStudentContRet; + + } + #endregion + } +} diff --git a/SRC/wsSXS/wsSXS.csproj b/SRC/wsSXS/wsSXS.csproj index 1c0f518..365c887 100644 --- a/SRC/wsSXS/wsSXS.csproj +++ b/SRC/wsSXS/wsSXS.csproj @@ -146,7 +146,7 @@ True - + diff --git a/SRC/wsSXS/wsSXS.csproj.user b/SRC/wsSXS/wsSXS.csproj.user index 3c48538..11b510e 100644 --- a/SRC/wsSXS/wsSXS.csproj.user +++ b/SRC/wsSXS/wsSXS.csproj.user @@ -1,6 +1,6 @@  - E:\code\SRC\MES_S_DLL\ + E:\VisualStudio_app\Digihua\iMES\MES_S_DLL\ \ No newline at end of file From eb3716b9042ff80f040085cc073b991bb19ae2a2 Mon Sep 17 00:00:00 2001 From: wwaitt123 <1056807149@qq.com> Date: Wed, 17 Jan 2024 16:13:07 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91?= =?UTF-8?q?=E5=AE=9E=E4=B9=A0=E7=94=9F=E7=BB=83=E4=B9=A0=E4=B8=BB=E6=A1=A3?= =?UTF-8?q?21686?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ET_Subcontractor.vbproj.vspscc | 10 + .../ET_TestData21686/ET_TestData21686.sln | 31 + .../ET_TestData21686/ET_TestData21686.vbproj | 194 ++ .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../My Project/Resources.Designer.vb | 63 + .../My Project/Resources.resx | 117 ++ .../My Project/Settings.Designer.vb | 73 + .../My Project/Settings.settings | 7 + .../ET_TestData21686/My Project/licenses.licx | 7 + .../ET_TestData21686/frmTestData21686.resx | 120 ++ .../SYS2/ET_TestData21686/frmTestData21686.vb | 1129 +++++++++++ .../frmTestData21686ContDef.resx | 120 ++ .../frmTestData21686ContDef.vb | 656 +++++++ .../ET_TestData21686/frmTestData21686Def.resx | 120 ++ .../ET_TestData21686/frmTestData21686Def.vb | 421 +++++ SRC/MESWin/SYS2/ET_TestData21686/iMES.snk | Bin 0 -> 596 bytes SRC/MEStc_SXS/MEStc_SXS.csproj | 1 + .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/MEStc_SXS/tcTEST21686/clsENT_21686.cs | 1369 ++++++++++++++ .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/wsSXS/wsSXS.csproj | 1 + SRC/wsSXS/wsSXS.csproj.user | 2 +- SRC/wsSXS/wsTest21686/wsTEST_21686.cs | 1676 +++++++++++++++++ 26 files changed, 6177 insertions(+), 3 deletions(-) create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/ET_TestData21686.sln create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/ET_TestData21686.vbproj create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686.resx create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686.vb create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686ContDef.resx create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686ContDef.vb create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686Def.resx create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686Def.vb create mode 100644 SRC/MESWin/SYS2/ET_TestData21686/iMES.snk create mode 100644 SRC/MEStc_SXS/tcTEST21686/clsENT_21686.cs create mode 100644 SRC/wsSXS/wsTest21686/wsTEST_21686.cs diff --git a/SRC/MESWin/SYS2/ET_TestData21686/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/SYS2/ET_TestData21686/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS2/ET_TestData21686/ET_TestData21686.sln b/SRC/MESWin/SYS2/ET_TestData21686/ET_TestData21686.sln new file mode 100644 index 0000000..3f1e4eb --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/ET_TestData21686.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.34407.143 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_TestData21686", "ET_TestData21686.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test", "..\..\Test\Test.vbproj", "{C4A48E3F-38E4-4E88-A47D-FA5510686E57}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.ActiveCfg = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.Build.0 = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.ActiveCfg = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {3F364CFB-259E-4043-9DEC-470482BE77CB} + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS2/ET_TestData21686/ET_TestData21686.vbproj b/SRC/MESWin/SYS2/ET_TestData21686/ET_TestData21686.vbproj new file mode 100644 index 0000000..a07b0ad --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/ET_TestData21686.vbproj @@ -0,0 +1,194 @@ + + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_TestData21686 + ET_TestData21686 + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_TestData21686.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_TestData21686.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmTestData21686.vb + + + frmTestData21686ContDef.vb + + + frmTestData21686Def.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_TestData21686/My Project/Application.Designer.vb b/SRC/MESWin/SYS2/ET_TestData21686/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS2/ET_TestData21686/My Project/Application.myapp b/SRC/MESWin/SYS2/ET_TestData21686/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS2/ET_TestData21686/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS2/ET_TestData21686/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS2/ET_TestData21686/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS2/ET_TestData21686/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS2/ET_TestData21686/My Project/Resources.Designer.vb b/SRC/MESWin/SYS2/ET_TestData21686/My Project/Resources.Designer.vb new file mode 100644 index 0000000..1923e05 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_TestData21686.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS2/ET_TestData21686/My Project/Resources.resx b/SRC/MESWin/SYS2/ET_TestData21686/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_TestData21686/My Project/Settings.Designer.vb b/SRC/MESWin/SYS2/ET_TestData21686/My Project/Settings.Designer.vb new file mode 100644 index 0000000..bdf3e41 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_TestData21686.My.MySettings + Get + Return Global.ET_TestData21686.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS2/ET_TestData21686/My Project/Settings.settings b/SRC/MESWin/SYS2/ET_TestData21686/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS2/ET_TestData21686/My Project/licenses.licx b/SRC/MESWin/SYS2/ET_TestData21686/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686.resx b/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686.vb b/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686.vb new file mode 100644 index 0000000..011ec5f --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686.vb @@ -0,0 +1,1129 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmTestData21686 + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmTestData21686Def + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmTestData21686Def + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmTestData21686Def + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmTestData21686ContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestData21686ContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestData21686ContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsTest_21686.LoadTestDataBasis_21686", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686ContDef.resx b/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686ContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686ContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686ContDef.vb b/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686ContDef.vb new file mode 100644 index 0000000..c691a3e --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686ContDef.vb @@ -0,0 +1,656 @@ +Imports iMESExceptionManager + +Public Class frmTestData21686ContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 306) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 22) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 22) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 22) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 121) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 22) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 22) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub +End Class + diff --git a/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686Def.resx b/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686Def.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686Def.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686Def.vb b/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686Def.vb new file mode 100644 index 0000000..45a7636 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_TestData21686/frmTestData21686Def.vb @@ -0,0 +1,421 @@ +Imports iMESExceptionManager + +Public Class frmTestData21686Def + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 185) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 264) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 264) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 264) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 169) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance1 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 22) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance2 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 22) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 309) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("wsENT.AddSubcontractor", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("wsENT.EditSubcontractor", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS2/ET_TestData21686/iMES.snk b/SRC/MESWin/SYS2/ET_TestData21686/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) + diff --git a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/MEStc_SXS/tcTEST21686/clsENT_21686.cs b/SRC/MEStc_SXS/tcTEST21686/clsENT_21686.cs new file mode 100644 index 0000000..6ae8f1d --- /dev/null +++ b/SRC/MEStc_SXS/tcTEST21686/clsENT_21686.cs @@ -0,0 +1,1369 @@ +using iMESCore.Settings; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +namespace MEStc_SXS +{ + public class clsENT_21686 : IDisposable + { + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + private string strSQLAddField; + private string strSQLAddValue; + + #region --- Initial Object --- + + public clsENT_21686() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + #region --- Subcontractor 外包商 --- + + + public string AddSubcontractor(string SubcontractorNo, string SubcontractorName, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into tblENTSubcontractor (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + + public string EditSubcontractor(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor Set "; + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "") + { + string DelSubcontractorRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + strSQL = "Delete From tblENTSubcontractorCont " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From tblENTSubcontractor " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelSubcontractorRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + + return DelSubcontractorRet; + + } + + public string LoadSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadSubcontractorRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + + // //Combine return value + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorRet; + + } + + public DataSet ShowSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowSubcontractorRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + + // //Return data + ShowSubcontractorRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorRet; + + } + + public DataRow GetSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetSubcontractorRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorRet = null; + throw; + } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorRet; + + } + public string SetSubcontractorIssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetSubcontractorIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetSubcontractorIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetSubcontractorIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + + return SetSubcontractorIssueStateRet; + + } + + + public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddSubcontractorContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTSubcontractorCont (SubcontractorNo, ContactorName"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + + + public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractorCont Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + + public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") + { + string DelSubcontractorContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From tblENTSubcontractorCont " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractorCont: " & e1.Message) + + return DelSubcontractorContRet; + + } + + public string LoadSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + string LoadSubcontractorContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + + // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Combine return value + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorContRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorContRet; + + } + + public DataSet ShowSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataSet ShowSubcontractorContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Return data + ShowSubcontractorContRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorContRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorContRet; + + } + + public DataRow GetSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataRow GetSubcontractorContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorContRet = null; + throw; + } // New Exception("kcENT.GetSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorContRet; + + } + + + + #endregion + + + //------------------------------------------------------------------------- + #region + //新增 + public string AddTestDataBasis_21686(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddSubcontractorContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTSubcontractorCont (SubcontractorNo, ContactorName"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + + + public string EditAddTestDataBasis_21686(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractorCont Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + + public string DelAddTestDataBasis_21686(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") + { + string DelSubcontractorContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From tblENTSubcontractorCont " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractorCont: " & e1.Message) + + return DelSubcontractorContRet; + + } + + public string LoadAddTestDataBasis_21686(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + string LoadSubcontractorContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + + // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Combine return value + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorContRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorContRet; + + } + + public DataSet ShowAddTestDataBasis_21686(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataSet ShowSubcontractorContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Return data + ShowSubcontractorContRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorContRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorContRet; + + } + + public DataRow GetAddTestDataBasis_21686(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataRow GetSubcontractorContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorContRet = null; + throw; + } // New Exception("kcENT.GetSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorContRet; + + } +#endregion + } +} diff --git a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/wsSXS/wsSXS.csproj b/SRC/wsSXS/wsSXS.csproj index 1c0f518..5715b10 100644 --- a/SRC/wsSXS/wsSXS.csproj +++ b/SRC/wsSXS/wsSXS.csproj @@ -145,6 +145,7 @@ Settings.settings True + diff --git a/SRC/wsSXS/wsSXS.csproj.user b/SRC/wsSXS/wsSXS.csproj.user index 3c48538..47f2fac 100644 --- a/SRC/wsSXS/wsSXS.csproj.user +++ b/SRC/wsSXS/wsSXS.csproj.user @@ -1,6 +1,6 @@  - E:\code\SRC\MES_S_DLL\ + D:\dgh\Sources\app\607.4\DefaultSite\MESws_STD\bin\ \ No newline at end of file diff --git a/SRC/wsSXS/wsTest21686/wsTEST_21686.cs b/SRC/wsSXS/wsTest21686/wsTEST_21686.cs new file mode 100644 index 0000000..0b443ed --- /dev/null +++ b/SRC/wsSXS/wsTest21686/wsTEST_21686.cs @@ -0,0 +1,1676 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System; +using System.Data; +using System.Web.Services; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.Base.iMESComSubroutine; +namespace wsSXS +{ + public class wsTEST_21686 + { + private MEStc_SXS .clsENT objENT = new MEStc_SXS.clsENT(); + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + //private kcBasis_UPD.clsBasis_UPD objBasis = new kcBasis_UPD.clsBasis_UPD(); //主檔優化 + //private kcBasis_Query.clsBasis_Query objQuery = new kcBasis_Query.clsBasis_Query(); //主檔優化 + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private string strResourceDir = "Resources"; + + public wsTEST_21686() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + #region --- Subcontractor 外包商 --- + + [WebMethod(Description = "Load Subcontractor Data")] + public string LoadSubcontractor(string InXml) + { + string LoadSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractor(SubcontractorNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorRet; + + } + + [WebMethod(Description = "Add Subcontractor data")] + public string AddSubcontractor(string InXml) + { + string AddSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractor(SubcontractorNo, SubcontractorName, Description, Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data")] + public string EditSubcontractor(string InXml) + { + string EditSubcontractorRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractor(SubcontractorNo, SubcontractorName, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] + public string DelSubcontractor(string InXml) + { + string DelSubcontractorRet = default(string); + + var SubcontractorNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objENT.SetSubcontractorIssueState(SubcontractorNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorRet; + + } + + [WebMethod(Description = "Approve Specified Subcontractor Data")] + public string ApproveSubcontractor(string InXml) + { + string ApproveSubcontractorRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var SubcontractorNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTSubcontractor Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTSubcontractor Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "SubcontractorNo: " + SubcontractorNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objENT.SetSubcontractorIssueState(SubcontractorNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveSubcontractorRet; + + } + + // Subcontractor Contactor + [WebMethod(Description = "Load Subcontractor Contactor Data")] + public string LoadSubcontractorCont(string InXml) + { + string LoadSubcontractorContRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + string ContactorName = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入SubcontractorNo,若有,表示要依SubcontractorNo查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractorCont(SubcontractorNo, ContactorName); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorContRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorContRet; + + } + + [WebMethod(Description = "Add Subcontractor Contactor data")] + public string AddSubcontractorCont(string InXml) + { + string AddSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorContRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Contactor Data")] + public string EditSubcontractorCont(string InXml) + { + string EditSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditSubcontractorContRet; + + } + + [WebMethod(Description = "Delete Subcontractor Contactor By Specified SubcontractorNo and ContactorName")] + public string DelSubcontractorCont(string InXml) + { + string DelSubcontractorContRet = default(string); + + var SubcontractorNo = default(string); + string ContactorName = defString; // 沒有傳入表示要刪除指定Subcontractor的所有Contactor + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + objENT.DelSubcontractorCont(SubcontractorNo, ContactorName); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorContRet; + + } + + + #endregion + + + //------------------------------------------------------------------------------------------ + + #region + + + [WebMethod(Description = "Load Subcontractor Data")] + public string LoadTestDataBasis_21686(string InXml) + { + string LoadTestDataBasis_21686Ret = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractor(SubcontractorNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadTestDataBasis_21686Ret = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadTestDataBasis_21686Ret; + + } + + [WebMethod(Description = "Add Subcontractor data")] + public string AddTestDataBasis_21686(string InXml) + { + string AddTestDataBasis_21686Ret = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractor(SubcontractorNo, SubcontractorName, Description, Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddTestDataBasis_21686Ret = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddTestDataBasis_21686Ret; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data")] + public string EditTestDataBasis_21686(string InXml) + { + string EditTestDataBasis_21686Ret = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractor(SubcontractorNo, SubcontractorName, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditTestDataBasis_21686Ret = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditTestDataBasis_21686Ret; + + } + + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] + public string DelTestDataBasis_21686(string InXml) + { + string DelTestDataBasis_21686Ret = default(string); + + var SubcontractorNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objENT.SetSubcontractorIssueState(SubcontractorNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelTestDataBasis_21686Ret = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelTestDataBasis_21686Ret; + + } + + [WebMethod(Description = "Approve Specified Subcontractor Data")] + public string ApproveTestDataBasis_21686(string InXml) + { + string ApproveTestDataBasis_21686Ret = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var SubcontractorNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTSubcontractor Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTSubcontractor Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "SubcontractorNo: " + SubcontractorNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objENT.SetSubcontractorIssueState(SubcontractorNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveTestDataBasis_21686Ret = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveTestDataBasis_21686Ret; + + } + } + + #endregion +} From ae2b188efddcd1a0cdd7c09e55a6b4edf61428bd Mon Sep 17 00:00:00 2001 From: "LAPTOP-0K9GR3I2\\86158" Date: Wed, 17 Jan 2024 16:14:54 +0800 Subject: [PATCH 06/13] =?UTF-8?q?21671=E7=94=B0=E9=9D=99=5F=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ET_Subcontractor/ET_Subcontractor.vbproj | 11 +- .../My Project/Application.Designer.vb | 8 +- .../My Project/BuildIncrementVersionInfo.vb | 2 +- .../My Project/Resources.Designer.vb | 28 +- .../My Project/Settings.Designer.vb | 18 +- .../ENT/ET_Subcontractor/frmSubcontractor.vb | 13 + .../frmSubcontractorContDef.vb | 55 +- .../ET_Subcontractor/frmSubcontractorDef.vb | 37 +- .../ET_Subcontractor.vbproj.vspscc | 10 + .../ET_Subcontractor21671.sln | 31 + .../ET_Subcontractor21671.vbproj | 194 +++ .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../My Project/Resources.Designer.vb | 63 + .../My Project/Resources.resx | 117 ++ .../My Project/Settings.Designer.vb | 73 ++ .../My Project/Settings.settings | 7 + .../My Project/licenses.licx | 7 + .../SYS6_ENTBasis_21671/frmTestData21671.resx | 120 ++ .../SYS6_ENTBasis_21671/frmTestData21671.vb | 1142 +++++++++++++++++ .../frmTestData21671ContDef.resx | 120 ++ .../frmTestData21671ContDef.vb | 691 ++++++++++ .../frmTestData21671Def.resx | 120 ++ .../frmTestData21671Def.vb | 448 +++++++ SRC/MESWin/SYS6/SYS6_ENTBasis_21671/iMES.snk | Bin 0 -> 596 bytes SRC/MEStc_SXS/tcENT/clsENT.cs | 71 +- SRC/MEStc_SXS/tcTWEST21671/tcTEST_21671.cs | 977 ++++++++++++++ SRC/wsSXS/wsTEST21671/wsTEST_21671.cs | 1115 ++++++++++++++++ SRC/wsSXS/wxENT/wsENT.cs | 40 +- 31 files changed, 5499 insertions(+), 78 deletions(-) create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/ET_Subcontractor21671.sln create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/ET_Subcontractor21671.vbproj create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671.resx create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671.vb create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671ContDef.resx create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671ContDef.vb create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671Def.resx create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671Def.vb create mode 100644 SRC/MESWin/SYS6/SYS6_ENTBasis_21671/iMES.snk create mode 100644 SRC/MEStc_SXS/tcTWEST21671/tcTEST_21671.cs create mode 100644 SRC/wsSXS/wsTEST21671/wsTEST_21671.cs diff --git a/SRC/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj b/SRC/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj index e0eb1cb..c04410c 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj +++ b/SRC/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj @@ -6,11 +6,11 @@ x86 {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} Library - ET_Subcontractor - ET_Subcontractor + ET_Subcontractor_21671 + ET_Subcontractor_21671 512 Windows - v4.6.2 + v4.7.2 SAK SAK @@ -34,7 +34,7 @@ true true ..\..\..\MESClient\ - ET_Subcontractor.xml + ET_Subcontractor_21671.xml 0 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 full @@ -45,7 +45,7 @@ true ..\..\..\MESClient\ - ET_Subcontractor.xml + ET_Subcontractor_21671.xml true 0 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 @@ -139,6 +139,7 @@ True Application.myapp + True True diff --git a/SRC/MESWin/ENT/ET_Subcontractor/My Project/Application.Designer.vb b/SRC/MESWin/ENT/ET_Subcontractor/My Project/Application.Designer.vb index 4f9342a..537244b 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/My Project/Application.Designer.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/My Project/Application.Designer.vb @@ -1,10 +1,10 @@ '------------------------------------------------------------------------------ ' -' 這段程式碼是由工具產生的。 -' 執行階段版本:4.0.30319.42000 +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 ' -' 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, -' 變更將會遺失。 +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 ' '------------------------------------------------------------------------------ diff --git a/SRC/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb index 5b3cb44..d2f2e21 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb @@ -1 +1 @@ - + diff --git a/SRC/MESWin/ENT/ET_Subcontractor/My Project/Resources.Designer.vb b/SRC/MESWin/ENT/ET_Subcontractor/My Project/Resources.Designer.vb index 4bb7628..f788748 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/My Project/Resources.Designer.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/My Project/Resources.Designer.vb @@ -1,10 +1,10 @@ '------------------------------------------------------------------------------ ' -' 這段程式碼是由工具產生的。 -' 執行階段版本:4.0.30319.42000 +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 ' -' 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, -' 變更將會遺失。 +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 ' '------------------------------------------------------------------------------ @@ -15,14 +15,14 @@ Imports System Namespace My.Resources - '這個類別是自動產生的,是利用 StronglyTypedResourceBuilder - '類別透過 ResGen 或 Visual Studio 這類工具。 - '若要加入或移除成員,請編輯您的 .ResX 檔,然後重新執行 ResGen - '(利用 /str 選項),或重建您的 VS 專案。 + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 ''' - ''' 用於查詢當地語系化字串等的強類型資源類別。 + ''' 一个强类型的资源类,用于查找本地化的字符串等。 ''' - _ @@ -33,13 +33,13 @@ Namespace My.Resources Private resourceCulture As Global.System.Globalization.CultureInfo ''' - ''' 傳回這個類別使用的快取的 ResourceManager 執行個體。 + ''' 返回此类使用的缓存的 ResourceManager 实例。 ''' _ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager Get If Object.ReferenceEquals(resourceMan, Nothing) Then - Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor.Resources", GetType(Resources).Assembly) + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor_21671.Resources", GetType(Resources).Assembly) resourceMan = temp End If Return resourceMan @@ -47,8 +47,8 @@ Namespace My.Resources End Property ''' - ''' 覆寫目前執行緒的 CurrentUICulture 屬性,對象是所有 - ''' 使用這個強類型資源類別的資源查閱。 + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 ''' _ Friend Property Culture() As Global.System.Globalization.CultureInfo diff --git a/SRC/MESWin/ENT/ET_Subcontractor/My Project/Settings.Designer.vb b/SRC/MESWin/ENT/ET_Subcontractor/My Project/Settings.Designer.vb index 1ba8a79..24a9740 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/My Project/Settings.Designer.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/My Project/Settings.Designer.vb @@ -1,10 +1,10 @@ '------------------------------------------------------------------------------ ' -' 這段程式碼是由工具產生的。 -' 執行階段版本:4.0.30319.42000 +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 ' -' 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, -' 變更將會遺失。 +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 ' '------------------------------------------------------------------------------ @@ -15,21 +15,21 @@ Option Explicit On Namespace My _ Partial Friend NotInheritable Class MySettings Inherits Global.System.Configuration.ApplicationSettingsBase Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) -#Region "My.Settings 自動儲存功能" +#Region "My.Settings 自动保存功能" #If _MyType = "WindowsForms" Then Private Shared addedHandler As Boolean Private Shared addedHandlerLockObject As New Object _ - Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) If My.Application.SaveMySettingsOnExit Then My.Settings.Save() End If @@ -64,9 +64,9 @@ Namespace My Friend Module MySettingsProperty _ - Friend ReadOnly Property Settings() As Global.ET_Subcontractor.My.MySettings + Friend ReadOnly Property Settings() As Global.ET_Subcontractor_21671.My.MySettings Get - Return Global.ET_Subcontractor.My.MySettings.Default + Return Global.ET_Subcontractor_21671.My.MySettings.Default End Get End Property End Module diff --git a/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractor.vb b/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractor.vb index c3933f9..d2a3050 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractor.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractor.vb @@ -832,6 +832,12 @@ Public Class frmSubcontractor .Hidden = False .Header.VisiblePosition = 7 End With + With .Bands(0).Columns("AGE") + .Header.Caption = "AGE" + .Width = 150 + .Hidden = False + .Header.VisiblePosition = 8 + End With With e.Layout.Bands(0).Columns("DataStamp") .Hidden = True End With @@ -933,6 +939,13 @@ Public Class frmSubcontractor .Hidden = False .Header.VisiblePosition = 11 End With + With .Bands(0).Columns("AGE") + .Header.Caption = "AGE" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 12 + End With With e.Layout.Bands(0).Columns("DataStamp") .Hidden = True End With diff --git a/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.vb b/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.vb index c489735..3547573 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.vb @@ -18,6 +18,8 @@ Public Class frmSubcontractorContDef Dim strIdentity As String Dim strParameter As String + Friend WithEvents UltraTextEditor1 As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents dll21671 As Label Dim intDataStamp As Integer '紀錄DataStamp #Region " Windows Form Designer generated code " @@ -84,6 +86,8 @@ Public Class frmSubcontractorContDef Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.dll21671 = New System.Windows.Forms.Label() + Me.UltraTextEditor1 = New Infragistics.Win.UltraWinEditors.UltraTextEditor() CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() Me.gbxSubcontractorContData.SuspendLayout() CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() @@ -93,6 +97,7 @@ Public Class frmSubcontractorContDef CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.UltraTextEditor1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'gbxBasisData @@ -117,6 +122,8 @@ Public Class frmSubcontractorContDef Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.UltraTextEditor1) + Me.gbxSubcontractorContData.Controls.Add(Me.dll21671) Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) @@ -143,30 +150,30 @@ Public Class frmSubcontractorContDef ' 'txtAddress ' - Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Location = New System.Drawing.Point(116, 152) Me.txtAddress.Name = "txtAddress" - Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.Size = New System.Drawing.Size(336, 26) Me.txtAddress.TabIndex = 13 ' 'txtEMail ' Me.txtEMail.Location = New System.Drawing.Point(320, 120) Me.txtEMail.Name = "txtEMail" - Me.txtEMail.Size = New System.Drawing.Size(136, 22) + Me.txtEMail.Size = New System.Drawing.Size(136, 26) Me.txtEMail.TabIndex = 11 ' 'txtTitle ' Me.txtTitle.Location = New System.Drawing.Point(120, 120) Me.txtTitle.Name = "txtTitle" - Me.txtTitle.Size = New System.Drawing.Size(114, 22) + Me.txtTitle.Size = New System.Drawing.Size(114, 26) Me.txtTitle.TabIndex = 9 ' 'txtFaxNo ' Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) Me.txtFaxNo.Name = "txtFaxNo" - Me.txtFaxNo.Size = New System.Drawing.Size(136, 22) + Me.txtFaxNo.Size = New System.Drawing.Size(136, 26) Me.txtFaxNo.TabIndex = 7 ' 'lblAddress @@ -222,9 +229,9 @@ Public Class frmSubcontractorContDef 'txtDescription ' Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Location = New System.Drawing.Point(116, 190) Me.txtDescription.Name = "txtDescription" - Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.Size = New System.Drawing.Size(316, 36) Me.txtDescription.TabIndex = 15 Me.txtDescription.Text = "" ' @@ -263,7 +270,7 @@ Public Class frmSubcontractorContDef Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) Me.txtSubcontractorNo.Name = "txtSubcontractorNo" Me.txtSubcontractorNo.ReadOnly = True - Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 22) + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 26) Me.txtSubcontractorNo.TabIndex = 1 Me.txtSubcontractorNo.TabStop = False ' @@ -274,16 +281,33 @@ Public Class frmSubcontractorContDef Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) Me.txtContactorName.Location = New System.Drawing.Point(120, 56) Me.txtContactorName.Name = "txtContactorName" - Me.txtContactorName.Size = New System.Drawing.Size(160, 22) + Me.txtContactorName.Size = New System.Drawing.Size(160, 26) Me.txtContactorName.TabIndex = 3 ' 'txtTelNo ' Me.txtTelNo.Location = New System.Drawing.Point(120, 88) Me.txtTelNo.Name = "txtTelNo" - Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.Size = New System.Drawing.Size(114, 26) Me.txtTelNo.TabIndex = 5 ' + 'dll21671 + ' + Me.dll21671.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.dll21671.Location = New System.Drawing.Point(14, 236) + Me.dll21671.Name = "dll21671" + Me.dll21671.Size = New System.Drawing.Size(86, 14) + Me.dll21671.TabIndex = 16 + Me.dll21671.Text = "AGE" + Me.dll21671.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'UltraTextEditor1 + ' + Me.UltraTextEditor1.Location = New System.Drawing.Point(116, 232) + Me.UltraTextEditor1.Name = "UltraTextEditor1" + Me.UltraTextEditor1.Size = New System.Drawing.Size(114, 26) + Me.UltraTextEditor1.TabIndex = 17 + ' 'frmSubcontractorContDef ' Me.ClientSize = New System.Drawing.Size(496, 446) @@ -308,6 +332,7 @@ Public Class frmSubcontractorContDef CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.UltraTextEditor1, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) End Sub @@ -346,6 +371,7 @@ Public Class frmSubcontractorContDef txtTitle.Text = EditDataRow.Item("Title").ToString txtAddress.Text = EditDataRow.Item("Address").ToString txtEMail.Text = EditDataRow.Item("EMail").ToString + dll21671.Text = EditDataRow.Item("AGE").ToString 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) txtDescription.Text = EditDataRow.Item("Description").ToString If DefMode = 1 Then @@ -609,6 +635,7 @@ Public Class frmSubcontractorContDef strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + strParameter = strParameter & CombineXMLParameter("AGE", "AGE", "String", CInput(dll21671.Text), "") If DefMode = 0 Or DefMode = 2 Then 'Add or Copy @@ -652,5 +679,13 @@ Public Class frmSubcontractorContDef Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() End Sub + + Private Sub UltraTextEditor1_ValueChanged(sender As Object, e As EventArgs) Handles UltraTextEditor1.ValueChanged + + End Sub + + Private Sub DD_Click(sender As Object, e As EventArgs) Handles dll21671.Click + + End Sub End Class diff --git a/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.vb b/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.vb index ff97a9a..c48d303 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.vb @@ -16,6 +16,8 @@ Public Class frmSubcontractorDef Dim strIdentity As String Dim strParameter As String + Friend WithEvents RichTextBox1 As RichTextBox + Friend WithEvents dll21671_01 As Label Dim intDataStamp As Integer '紀錄DataStamp #Region " Windows Form Designer generated code " @@ -63,6 +65,8 @@ Public Class frmSubcontractorDef Me.lblSubcontractorName = New System.Windows.Forms.Label() Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.dll21671_01 = New System.Windows.Forms.Label() + Me.RichTextBox1 = New System.Windows.Forms.RichTextBox() CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() Me.gbxSubcontractorData.SuspendLayout() CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() @@ -91,6 +95,8 @@ Public Class frmSubcontractorDef Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.RichTextBox1) + Me.gbxSubcontractorData.Controls.Add(Me.dll21671_01) Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) @@ -110,7 +116,7 @@ Public Class frmSubcontractorDef Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtDescription.Location = New System.Drawing.Point(128, 86) Me.txtDescription.Name = "txtDescription" - Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.Size = New System.Drawing.Size(316, 33) Me.txtDescription.TabIndex = 2 Me.txtDescription.Text = "" ' @@ -151,7 +157,7 @@ Public Class frmSubcontractorDef Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) Me.txtSubcontractorNo.Name = "txtSubcontractorNo" - Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 22) + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 26) Me.txtSubcontractorNo.TabIndex = 0 ' 'txtSubcontractorName @@ -161,9 +167,28 @@ Public Class frmSubcontractorDef Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) Me.txtSubcontractorName.Name = "txtSubcontractorName" - Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 22) + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 26) Me.txtSubcontractorName.TabIndex = 1 ' + 'dll21671_01 + ' + Me.dll21671_01.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.dll21671_01.Location = New System.Drawing.Point(56, 128) + Me.dll21671_01.Name = "dll21671_01" + Me.dll21671_01.Size = New System.Drawing.Size(64, 14) + Me.dll21671_01.TabIndex = 14 + Me.dll21671_01.Text = "AGE" + Me.dll21671_01.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'RichTextBox1 + ' + Me.RichTextBox1.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.RichTextBox1.Location = New System.Drawing.Point(128, 125) + Me.RichTextBox1.Name = "RichTextBox1" + Me.RichTextBox1.Size = New System.Drawing.Size(120, 33) + Me.RichTextBox1.TabIndex = 15 + Me.RichTextBox1.Text = "" + ' 'frmSubcontractorDef ' Me.ClientSize = New System.Drawing.Size(503, 309) @@ -215,6 +240,7 @@ Public Class frmSubcontractorDef txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 txtDescription.Text = EditDataRow.Item("Description").ToString + dll21671_01.Text = EditDataRow.Item("AGE").ToString End If If DefMode = 0 Or DefMode = 2 Then 'Add or Copy @@ -373,6 +399,7 @@ Public Class frmSubcontractorDef strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + strParameter = strParameter & CombineXMLParameter("AGE", "AGE", "String", dll21671_01.Text, "") If DefMode = 0 Or DefMode = 2 Then 'Add or Copy strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") @@ -380,7 +407,7 @@ Public Class frmSubcontractorDef InXml = CombineXMLRequest(strIdentity, strParameter) ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) - OutXml = InvokeSrv("wsENT.AddSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractor", InXml) Else '修改 @@ -390,7 +417,7 @@ Public Class frmSubcontractorDef InXml = CombineXMLRequest(strIdentity, strParameter) ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) - OutXml = InvokeSrv("wsENT.EditSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractor", InXml) End If diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/ET_Subcontractor21671.sln b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/ET_Subcontractor21671.sln new file mode 100644 index 0000000..90e4f92 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/ET_Subcontractor21671.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.34407.143 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_Subcontractor21671", "ET_Subcontractor21671.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test", "..\..\Test\Test.vbproj", "{C4A48E3F-38E4-4E88-A47D-FA5510686E57}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.ActiveCfg = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.Build.0 = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.ActiveCfg = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {27A8E809-CCBB-41A0-A6A6-F3A27B70C5DF} + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/ET_Subcontractor21671.vbproj b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/ET_Subcontractor21671.vbproj new file mode 100644 index 0000000..813d604 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/ET_Subcontractor21671.vbproj @@ -0,0 +1,194 @@ + + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_Subcontractor_21671 + ET_Subcontractor_21671 + 512 + Windows + v4.7.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_Subcontractor_21671.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_Subcontractor_21671.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmTestData21671.vb + + + frmTestData21671ContDef.vb + + + frmTestData21671Def.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Application.Designer.vb b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Application.myapp b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Resources.Designer.vb b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Resources.Designer.vb new file mode 100644 index 0000000..f788748 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor_21671.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Resources.resx b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Settings.Designer.vb b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Settings.Designer.vb new file mode 100644 index 0000000..24a9740 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_Subcontractor_21671.My.MySettings + Get + Return Global.ET_Subcontractor_21671.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Settings.settings b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/licenses.licx b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671.resx b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671.vb b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671.vb new file mode 100644 index 0000000..9e23284 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671.vb @@ -0,0 +1,1142 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmTESTDATA21671 + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmTestData21671Def + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmTestData21671Def + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmTestData21671Def + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmTestData21671ContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestData21671ContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestData21671ContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("AGE") + .Header.Caption = "AGE" + .Width = 150 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With .Bands(0).Columns("AGE") + .Header.Caption = "AGE" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 12 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractor", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671ContDef.resx b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671ContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671ContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671ContDef.vb b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671ContDef.vb new file mode 100644 index 0000000..d56c682 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671ContDef.vb @@ -0,0 +1,691 @@ +Imports iMESExceptionManager + +Public Class frmTestData21671ContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Friend WithEvents UltraTextEditor1 As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents dll21671 As Label + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.dll21671 = New System.Windows.Forms.Label() + Me.UltraTextEditor1 = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.UltraTextEditor1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.UltraTextEditor1) + Me.gbxSubcontractorContData.Controls.Add(Me.dll21671) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 306) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(116, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 26) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 26) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 26) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 26) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 121) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(116, 190) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(316, 36) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 26) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 26) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 26) + Me.txtTelNo.TabIndex = 5 + ' + 'dll21671 + ' + Me.dll21671.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.dll21671.Location = New System.Drawing.Point(14, 236) + Me.dll21671.Name = "dll21671" + Me.dll21671.Size = New System.Drawing.Size(86, 14) + Me.dll21671.TabIndex = 16 + Me.dll21671.Text = "AGE" + Me.dll21671.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'UltraTextEditor1 + ' + Me.UltraTextEditor1.Location = New System.Drawing.Point(116, 232) + Me.UltraTextEditor1.Name = "UltraTextEditor1" + Me.UltraTextEditor1.Size = New System.Drawing.Size(114, 26) + Me.UltraTextEditor1.TabIndex = 17 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.UltraTextEditor1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + dll21671.Text = EditDataRow.Item("AGE").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + strParameter = strParameter & CombineXMLParameter("AGE", "AGE", "String", CInput(dll21671.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Private Sub UltraTextEditor1_ValueChanged(sender As Object, e As EventArgs) Handles UltraTextEditor1.ValueChanged + + End Sub + + Private Sub DD_Click(sender As Object, e As EventArgs) Handles dll21671.Click + + End Sub +End Class + diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671Def.resx b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671Def.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671Def.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671Def.vb b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671Def.vb new file mode 100644 index 0000000..8662239 --- /dev/null +++ b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/frmTestData21671Def.vb @@ -0,0 +1,448 @@ +Imports iMESExceptionManager + +Public Class frmTestData21671Def + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Friend WithEvents RichTextBox1 As RichTextBox + Friend WithEvents dll21671_01 As Label + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.dll21671_01 = New System.Windows.Forms.Label() + Me.RichTextBox1 = New System.Windows.Forms.RichTextBox() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 185) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 264) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 264) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 264) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.RichTextBox1) + Me.gbxSubcontractorData.Controls.Add(Me.dll21671_01) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 169) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(316, 33) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance1 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 26) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance2 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 26) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'dll21671_01 + ' + Me.dll21671_01.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.dll21671_01.Location = New System.Drawing.Point(56, 128) + Me.dll21671_01.Name = "dll21671_01" + Me.dll21671_01.Size = New System.Drawing.Size(64, 14) + Me.dll21671_01.TabIndex = 14 + Me.dll21671_01.Text = "AGE" + Me.dll21671_01.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'RichTextBox1 + ' + Me.RichTextBox1.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.RichTextBox1.Location = New System.Drawing.Point(128, 125) + Me.RichTextBox1.Name = "RichTextBox1" + Me.RichTextBox1.Size = New System.Drawing.Size(120, 33) + Me.RichTextBox1.TabIndex = 15 + Me.RichTextBox1.Text = "" + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 309) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + dll21671_01.Text = EditDataRow.Item("AGE").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + strParameter = strParameter & CombineXMLParameter("AGE", "AGE", "String", dll21671_01.Text, "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractor", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractor", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/iMES.snk b/SRC/MESWin/SYS6/SYS6_ENTBasis_21671/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) 0) @@ -503,7 +512,7 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractor Set IssueState = " + IssueState + ","; + strSQL = "Update A_21671main Set IssueState = " + IssueState + ","; if (Reviser != defString) strSQL = strSQL + "Reviser = '" + Reviser + "',"; @@ -545,7 +554,7 @@ namespace MEStc_SXS } - public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string AGE = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) { string AddSubcontractorContRet = default(string); // 此 Function 將新增一筆資料 @@ -554,7 +563,7 @@ namespace MEStc_SXS try { - strSQLAddField = "Insert into tblENTSubcontractorCont (SubcontractorNo, ContactorName"; + strSQLAddField = "Insert into A_21671sub (SubcontractorNo, ContactorName"; strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; if ((TelNo ?? "") != defString) @@ -582,6 +591,11 @@ namespace MEStc_SXS strSQLAddField += ",EMail"; strSQLAddValue += ",'" + EMail + "'"; } + if ((AGE ?? "") != defString) + { + strSQLAddField += ",AGE"; + strSQLAddValue += ",'" + AGE + "'"; + } if ((Description ?? "") != defString) { strSQLAddField += ",Description"; @@ -631,7 +645,7 @@ namespace MEStc_SXS } - public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string AGE = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) { string EditSubcontractorContRet = default(string); @@ -642,7 +656,7 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractorCont Set "; + strSQL = "Update A_21671sub Set "; if ((TelNo ?? "") != defString) { @@ -664,6 +678,11 @@ namespace MEStc_SXS { strSQL += "EMail = '" + EMail + "',"; } + if ((AGE ?? "") != defString) + { + strSQLAddField += ",AGE"; + strSQLAddValue += ",'" + AGE + "'"; + } if ((Description ?? "") != defString) { strSQL += "Description = '" + Description + "',"; @@ -732,7 +751,7 @@ namespace MEStc_SXS try { - strSQL = "Delete From tblENTSubcontractorCont " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + strSQL = "Delete From A_21671sub " + " Where SubcontractorNo='" + SubcontractorNo + "'"; if ((ContactorName ?? "") != defString) { @@ -779,7 +798,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + strSQL = "Select * From A_21671sub Where SubcontractorNo Is Not Null"; // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 if ((SubcontractorNo ?? "") != defString) @@ -799,10 +818,10 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21671sub", cnnTemp); // //Combine return value - LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "A_21671sub", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); } catch (Exception e1) @@ -841,7 +860,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + strSQL = "Select * From A_21671sub Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; @@ -859,7 +878,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21671sub", cnnTemp); // //Return data ShowSubcontractorContRet = dsENT; @@ -901,7 +920,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + strSQL = "Select * From A_21671sub Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; @@ -919,7 +938,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21671sub", cnnTemp); // //Return data if (dsENT.Tables[0].Rows.Count > 0) diff --git a/SRC/MEStc_SXS/tcTWEST21671/tcTEST_21671.cs b/SRC/MEStc_SXS/tcTWEST21671/tcTEST_21671.cs new file mode 100644 index 0000000..d8ff364 --- /dev/null +++ b/SRC/MEStc_SXS/tcTWEST21671/tcTEST_21671.cs @@ -0,0 +1,977 @@ +using iMESCore.Settings; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +namespace MEStc_SXS +{ + public class clsTEST_21671 : IDisposable + { + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + private string strSQLAddField; + private string strSQLAddValue; + + #region --- Initial Object --- + + public clsTEST_21671() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + #region --- Subcontractor 外包商 --- + + + public string AddSubcontractor(string SubcontractorNo, string SubcontractorName, string Description = defString, string AGE = defString,string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into A_21671main (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((AGE ?? "") != defString) + { + strSQLAddField += ",AGE"; + strSQLAddValue += ",'" + AGE + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + + public string EditSubcontractor(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AGE = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update A_21671main Set "; + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + if ((AGE ?? "") != defString) + { + strSQL += "AGE = '" + AGE + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "") + { + string DelSubcontractorRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + strSQL = "Delete From A_21671sub " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From A_21671main " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelSubcontractorRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + + return DelSubcontractorRet; + + } + + public string LoadSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadSubcontractorRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From A_21671main Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21671main", cnnTemp); + + // //Combine return value + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "A_21671main", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorRet; + + } + + public DataSet ShowSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowSubcontractorRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From A_21671main Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21671main", cnnTemp); + + // //Return data + ShowSubcontractorRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorRet; + + } + + public DataRow GetSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetSubcontractorRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From A_21671main Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21671main", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorRet = null; + throw; + } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorRet; + + } + public string SetSubcontractorIssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetSubcontractorIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update A_21671main Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetSubcontractorIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetSubcontractorIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + + return SetSubcontractorIssueStateRet; + + } + + + public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string AGE = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddSubcontractorContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into A_21671sub (SubcontractorNo, ContactorName"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((AGE ?? "") != defString) + { + strSQLAddField += ",AGE"; + strSQLAddValue += ",'" + AGE + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + + + public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string AGE = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update A_21671sub Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((AGE ?? "") != defString) + { + strSQLAddField += ",AGE"; + strSQLAddValue += ",'" + AGE + "'"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + + public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") + { + string DelSubcontractorContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From A_21671sub " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractorCont: " & e1.Message) + + return DelSubcontractorContRet; + + } + + public string LoadSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + string LoadSubcontractorContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From A_21671sub Where SubcontractorNo Is Not Null"; + + // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21671sub", cnnTemp); + + // //Combine return value + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "A_21671sub", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorContRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorContRet; + + } + + public DataSet ShowSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataSet ShowSubcontractorContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From A_21671sub Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21671sub", cnnTemp); + + // //Return data + ShowSubcontractorContRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorContRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorContRet; + + } + + public DataRow GetSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataRow GetSubcontractorContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From A_21671sub Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21671sub", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorContRet = null; + throw; + } // New Exception("kcENT.GetSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorContRet; + + } + + + + #endregion + } +} diff --git a/SRC/wsSXS/wsTEST21671/wsTEST_21671.cs b/SRC/wsSXS/wsTEST21671/wsTEST_21671.cs new file mode 100644 index 0000000..11212fe --- /dev/null +++ b/SRC/wsSXS/wsTEST21671/wsTEST_21671.cs @@ -0,0 +1,1115 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System; +using System.Data; +using System.Web.Services; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.Base.iMESComSubroutine; +namespace wsSXS +{ + public class wsTEST_21671 + { + private MEStc_SXS .clsENT objENT = new MEStc_SXS.clsENT(); + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + //private kcBasis_UPD.clsBasis_UPD objBasis = new kcBasis_UPD.clsBasis_UPD(); //主檔優化 + //private kcBasis_Query.clsBasis_Query objQuery = new kcBasis_Query.clsBasis_Query(); //主檔優化 + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private string strResourceDir = "Resources"; + + public wsTEST_21671() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + #region --- Subcontractor 外包商 --- + + [WebMethod(Description = "Load Subcontractor Data")] + public string LoadSubcontractor(string InXml) + { + string LoadSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractor(SubcontractorNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorRet; + + } + + [WebMethod(Description = "Add Subcontractor data")] + public string AddSubcontractor(string InXml) + { + string AddSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string Creator = defString; + string AGE = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractor(SubcontractorNo, SubcontractorName, Description,AGE, Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data")] + public string EditSubcontractor(string InXml) + { + string EditSubcontractorRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + string AGE = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + AGE = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractor(SubcontractorNo, SubcontractorName, Description,AGE, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime);; + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] + public string DelSubcontractor(string InXml) + { + string DelSubcontractorRet = default(string); + + var SubcontractorNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objENT.SetSubcontractorIssueState(SubcontractorNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorRet; + + } + + [WebMethod(Description = "Approve Specified Subcontractor Data")] + public string ApproveSubcontractor(string InXml) + { + string ApproveSubcontractorRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var SubcontractorNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTSubcontractor Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTSubcontractor Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "SubcontractorNo: " + SubcontractorNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objENT.SetSubcontractorIssueState(SubcontractorNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveSubcontractorRet; + + } + + // Subcontractor Contactor + [WebMethod(Description = "Load Subcontractor Contactor Data")] + public string LoadSubcontractorCont(string InXml) + { + string LoadSubcontractorContRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + string ContactorName = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入SubcontractorNo,若有,表示要依SubcontractorNo查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractorCont(SubcontractorNo, ContactorName); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorContRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorContRet; + + } + + [WebMethod(Description = "Add Subcontractor Contactor data")] + public string AddSubcontractorCont(string InXml) + { + string AddSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string AGE = defString; + string Description = defString; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + AGE = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail,AGE, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorContRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Contactor Data")] + public string EditSubcontractorCont(string InXml) + { + string EditSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string AGE = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + AGE = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, AGE,Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditSubcontractorContRet; + + } + + [WebMethod(Description = "Delete Subcontractor Contactor By Specified SubcontractorNo and ContactorName")] + public string DelSubcontractorCont(string InXml) + { + string DelSubcontractorContRet = default(string); + + var SubcontractorNo = default(string); + string ContactorName = defString; // 沒有傳入表示要刪除指定Subcontractor的所有Contactor + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + objENT.DelSubcontractorCont(SubcontractorNo, ContactorName); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorContRet; + + } + + + #endregion + } +} diff --git a/SRC/wsSXS/wxENT/wsENT.cs b/SRC/wsSXS/wxENT/wsENT.cs index 86dad90..ced8ab1 100644 --- a/SRC/wsSXS/wxENT/wsENT.cs +++ b/SRC/wsSXS/wxENT/wsENT.cs @@ -120,6 +120,7 @@ namespace wsSXS string SubcontractorName; string Description = defString; string Creator = defString; + string AGE = defString; ArriveTime = DateTime.Now; @@ -171,6 +172,13 @@ namespace wsSXS Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; } } + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } // Creator if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) { @@ -181,7 +189,7 @@ namespace wsSXS } // 呼叫Dll執行新增資料 - objENT.AddSubcontractor(SubcontractorNo, SubcontractorName, Description, Creator); + objENT.AddSubcontractor(SubcontractorNo, SubcontractorName, Description,AGE, Creator); strException = ""; strResult = "success"; @@ -228,6 +236,7 @@ namespace wsSXS int IssueState = defInteger; string SubcontractorName = defString; string Description = defString; + string AGE = defString; int DataStamp = defInteger; string AdditionalXml = ""; @@ -294,6 +303,13 @@ namespace wsSXS Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; } } + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + AGE = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } // AdditionalXml GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); @@ -307,7 +323,7 @@ namespace wsSXS if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) { // 呼叫Dll執行修改 - objENT.EditSubcontractor(SubcontractorNo, SubcontractorName, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objENT.EditSubcontractor(SubcontractorNo, SubcontractorName, Description,AGE, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime);; } } @@ -704,6 +720,7 @@ namespace wsSXS string Title = defString; string Address = defString; string EMail = defString; + string AGE = defString; string Description = defString; string AdditionalXml = ""; @@ -798,12 +815,19 @@ namespace wsSXS Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; } } + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + AGE = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } // AdditionalXml GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); // 呼叫Dll執行新增資料 - objENT.AddSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + objENT.AddSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail,AGE, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); strException = ""; strResult = "success"; @@ -852,6 +876,7 @@ namespace wsSXS string Title = defString; string Address = defString; string EMail = defString; + string AGE = defString; string Description = defString; int DataStamp = defInteger; @@ -947,6 +972,13 @@ namespace wsSXS Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; } } + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + AGE = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } // AdditionalXml GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); @@ -959,7 +991,7 @@ namespace wsSXS if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) { // 呼叫Dll執行修改 - objENT.EditSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objENT.EditSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, AGE,Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); } // End If From e2d245dad22628c33fe48c8b1603f1c7511450ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BA=A2=E7=83=A7=E7=8B=AE=E5=AD=90=E5=A4=B4?= <1144190178@qq.com> Date: Wed, 17 Jan 2024 16:17:54 +0800 Subject: [PATCH 07/13] =?UTF-8?q?=E5=94=90=E7=A5=9D=E8=B6=85=5F217031?= =?UTF-8?q?=E6=9C=8816=E6=97=A5=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ET_Subcontractor/ET_Subcontractor.vbproj | 9 +- .../My Project/Application.Designer.vb | 8 +- .../My Project/BuildIncrementVersionInfo.vb | 2 +- .../My Project/Resources.Designer.vb | 28 +- .../My Project/Settings.Designer.vb | 18 +- .../frmSubcontractorContDef.vb | 30 +- .../ET_Subcontractor/frmSubcontractorDef.vb | 49 +- .../ET_Subcontractor.sln | 31 + .../ET_Subcontractor.vbproj.vspscc | 10 + .../ET_TestDataBasis_21703.vbproj | 194 +++ .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../My Project/Resources.Designer.vb | 63 + .../My Project/Resources.resx | 117 ++ .../My Project/Settings.Designer.vb | 73 ++ .../My Project/Settings.settings | 7 + .../My Project/licenses.licx | 7 + .../frmTestDataBasis_21703.resx | 120 ++ .../frmTestDataBasis_21703.vb | 1129 +++++++++++++++++ .../frmTestDataBasis_21703ContDef.resx | 120 ++ .../frmTestDataBasis_21703ContDef.vb | 684 ++++++++++ .../frmTestDataBasis_21703Def.resx | 120 ++ .../frmTestDataBasis_21703Def.vb | 464 +++++++ .../ENT/ET_TestDataBasis_21703/iMES.snk | Bin 0 -> 596 bytes SRC/MEStc_SXS/MEStc_SXS.csproj | 1 + .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/MEStc_SXS/tcENT/clsENT.cs | 71 +- SRC/MEStc_SXS/tcTEST21703/clsTEST_21703.cs | 975 ++++++++++++++ .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/wsSXS/wsSXS.csproj | 1 + SRC/wsSXS/wsTEST_21703/wsTEST_21703.cs | 717 +++++++++++ SRC/wsSXS/wxENT/wsENT.cs | 46 +- 34 files changed, 5087 insertions(+), 70 deletions(-) create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/ET_Subcontractor.sln create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/ET_TestDataBasis_21703.vbproj create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Application.myapp create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Resources.resx create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Settings.settings create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/licenses.licx create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703.resx create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703.vb create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703ContDef.resx create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703ContDef.vb create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703Def.resx create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703Def.vb create mode 100644 SRC/MESWin/ENT/ET_TestDataBasis_21703/iMES.snk create mode 100644 SRC/MEStc_SXS/tcTEST21703/clsTEST_21703.cs create mode 100644 SRC/wsSXS/wsTEST_21703/wsTEST_21703.cs diff --git a/SRC/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj b/SRC/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj index e0eb1cb..19f26f4 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj +++ b/SRC/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj @@ -6,8 +6,8 @@ x86 {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} Library - ET_Subcontractor - ET_Subcontractor + ET_Subcontractor_21703 + ET_Subcontractor_21703 512 Windows v4.6.2 @@ -34,7 +34,7 @@ true true ..\..\..\MESClient\ - ET_Subcontractor.xml + ET_Subcontractor_21703.xml 0 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 full @@ -45,7 +45,7 @@ true ..\..\..\MESClient\ - ET_Subcontractor.xml + ET_Subcontractor_21703.xml true 0 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 @@ -139,6 +139,7 @@ True Application.myapp + True True diff --git a/SRC/MESWin/ENT/ET_Subcontractor/My Project/Application.Designer.vb b/SRC/MESWin/ENT/ET_Subcontractor/My Project/Application.Designer.vb index 4f9342a..537244b 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/My Project/Application.Designer.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/My Project/Application.Designer.vb @@ -1,10 +1,10 @@ '------------------------------------------------------------------------------ ' -' 這段程式碼是由工具產生的。 -' 執行階段版本:4.0.30319.42000 +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 ' -' 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, -' 變更將會遺失。 +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 ' '------------------------------------------------------------------------------ diff --git a/SRC/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb index 5b3cb44..d2f2e21 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb @@ -1 +1 @@ - + diff --git a/SRC/MESWin/ENT/ET_Subcontractor/My Project/Resources.Designer.vb b/SRC/MESWin/ENT/ET_Subcontractor/My Project/Resources.Designer.vb index 4bb7628..ba66bd0 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/My Project/Resources.Designer.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/My Project/Resources.Designer.vb @@ -1,10 +1,10 @@ '------------------------------------------------------------------------------ ' -' 這段程式碼是由工具產生的。 -' 執行階段版本:4.0.30319.42000 +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 ' -' 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, -' 變更將會遺失。 +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 ' '------------------------------------------------------------------------------ @@ -15,14 +15,14 @@ Imports System Namespace My.Resources - '這個類別是自動產生的,是利用 StronglyTypedResourceBuilder - '類別透過 ResGen 或 Visual Studio 這類工具。 - '若要加入或移除成員,請編輯您的 .ResX 檔,然後重新執行 ResGen - '(利用 /str 選項),或重建您的 VS 專案。 + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 ''' - ''' 用於查詢當地語系化字串等的強類型資源類別。 + ''' 一个强类型的资源类,用于查找本地化的字符串等。 ''' - _ @@ -33,13 +33,13 @@ Namespace My.Resources Private resourceCulture As Global.System.Globalization.CultureInfo ''' - ''' 傳回這個類別使用的快取的 ResourceManager 執行個體。 + ''' 返回此类使用的缓存的 ResourceManager 实例。 ''' _ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager Get If Object.ReferenceEquals(resourceMan, Nothing) Then - Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor.Resources", GetType(Resources).Assembly) + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor_21703.Resources", GetType(Resources).Assembly) resourceMan = temp End If Return resourceMan @@ -47,8 +47,8 @@ Namespace My.Resources End Property ''' - ''' 覆寫目前執行緒的 CurrentUICulture 屬性,對象是所有 - ''' 使用這個強類型資源類別的資源查閱。 + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 ''' _ Friend Property Culture() As Global.System.Globalization.CultureInfo diff --git a/SRC/MESWin/ENT/ET_Subcontractor/My Project/Settings.Designer.vb b/SRC/MESWin/ENT/ET_Subcontractor/My Project/Settings.Designer.vb index 1ba8a79..75379dd 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/My Project/Settings.Designer.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/My Project/Settings.Designer.vb @@ -1,10 +1,10 @@ '------------------------------------------------------------------------------ ' -' 這段程式碼是由工具產生的。 -' 執行階段版本:4.0.30319.42000 +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 ' -' 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, -' 變更將會遺失。 +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 ' '------------------------------------------------------------------------------ @@ -15,21 +15,21 @@ Option Explicit On Namespace My _ Partial Friend NotInheritable Class MySettings Inherits Global.System.Configuration.ApplicationSettingsBase Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) -#Region "My.Settings 自動儲存功能" +#Region "My.Settings 自动保存功能" #If _MyType = "WindowsForms" Then Private Shared addedHandler As Boolean Private Shared addedHandlerLockObject As New Object _ - Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) If My.Application.SaveMySettingsOnExit Then My.Settings.Save() End If @@ -64,9 +64,9 @@ Namespace My Friend Module MySettingsProperty _ - Friend ReadOnly Property Settings() As Global.ET_Subcontractor.My.MySettings + Friend ReadOnly Property Settings() As Global.ET_Subcontractor_21703.My.MySettings Get - Return Global.ET_Subcontractor.My.MySettings.Default + Return Global.ET_Subcontractor_21703.My.MySettings.Default End Get End Property End Module diff --git a/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.vb b/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.vb index c489735..760db42 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.vb @@ -18,6 +18,8 @@ Public Class frmSubcontractorContDef Dim strIdentity As String Dim strParameter As String + Friend WithEvents lblAge As Label + Friend WithEvents txtAge As Infragistics.Win.UltraWinEditors.UltraTextEditor Dim intDataStamp As Integer '紀錄DataStamp #Region " Windows Form Designer generated code " @@ -68,6 +70,7 @@ Public Class frmSubcontractorContDef Private Sub InitializeComponent() Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.lblAge = New System.Windows.Forms.Label() Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() @@ -84,6 +87,7 @@ Public Class frmSubcontractorContDef Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtAge = New Infragistics.Win.UltraWinEditors.UltraTextEditor() CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() Me.gbxSubcontractorContData.SuspendLayout() CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() @@ -93,6 +97,7 @@ Public Class frmSubcontractorContDef CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtAge, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'gbxBasisData @@ -117,6 +122,8 @@ Public Class frmSubcontractorContDef Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAge) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAge) Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) @@ -141,6 +148,16 @@ Public Class frmSubcontractorContDef Me.gbxSubcontractorContData.TabStop = False Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" ' + 'lblAge + ' + Me.lblAge.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAge.Location = New System.Drawing.Point(24, 226) + Me.lblAge.Name = "lblAge" + Me.lblAge.Size = New System.Drawing.Size(86, 18) + Me.lblAge.TabIndex = 16 + Me.lblAge.Text = "Age" + Me.lblAge.TextAlign = System.Drawing.ContentAlignment.TopRight + ' 'txtAddress ' Me.txtAddress.Location = New System.Drawing.Point(120, 152) @@ -224,7 +241,7 @@ Public Class frmSubcontractorContDef Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtDescription.Location = New System.Drawing.Point(120, 184) Me.txtDescription.Name = "txtDescription" - Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.Size = New System.Drawing.Size(336, 21) Me.txtDescription.TabIndex = 15 Me.txtDescription.Text = "" ' @@ -284,6 +301,13 @@ Public Class frmSubcontractorContDef Me.txtTelNo.Size = New System.Drawing.Size(114, 22) Me.txtTelNo.TabIndex = 5 ' + 'txtAge + ' + Me.txtAge.Location = New System.Drawing.Point(120, 222) + Me.txtAge.Name = "txtAge" + Me.txtAge.Size = New System.Drawing.Size(336, 22) + Me.txtAge.TabIndex = 17 + ' 'frmSubcontractorContDef ' Me.ClientSize = New System.Drawing.Size(496, 446) @@ -308,6 +332,7 @@ Public Class frmSubcontractorContDef CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtAge, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) End Sub @@ -346,6 +371,7 @@ Public Class frmSubcontractorContDef txtTitle.Text = EditDataRow.Item("Title").ToString txtAddress.Text = EditDataRow.Item("Address").ToString txtEMail.Text = EditDataRow.Item("EMail").ToString + txtAge.Text = EditDataRow.Item("Age").ToString 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) txtDescription.Text = EditDataRow.Item("Description").ToString If DefMode = 1 Then @@ -608,6 +634,7 @@ Public Class frmSubcontractorContDef strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("age", "Age", "String", txtAge.Text, "") strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") @@ -652,5 +679,6 @@ Public Class frmSubcontractorContDef Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() End Sub + End Class diff --git a/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.vb b/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.vb index ff97a9a..002815e 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.vb +++ b/SRC/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.vb @@ -16,6 +16,8 @@ Public Class frmSubcontractorDef Dim strIdentity As String Dim strParameter As String + Friend WithEvents txtAge As RichTextBox + Friend WithEvents lblAge As Label Dim intDataStamp As Integer '紀錄DataStamp #Region " Windows Form Designer generated code " @@ -57,6 +59,8 @@ Public Class frmSubcontractorDef Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtAge = New System.Windows.Forms.RichTextBox() + Me.lblAge = New System.Windows.Forms.Label() Me.txtDescription = New System.Windows.Forms.RichTextBox() Me.lblDescription = New System.Windows.Forms.Label() Me.lblSubcontractorNo = New System.Windows.Forms.Label() @@ -91,6 +95,8 @@ Public Class frmSubcontractorDef Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.txtAge) + Me.gbxSubcontractorData.Controls.Add(Me.lblAge) Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) @@ -105,12 +111,31 @@ Public Class frmSubcontractorDef Me.gbxSubcontractorData.TabStop = False Me.gbxSubcontractorData.Text = "Subcontractor Data" ' + 'txtAge + ' + Me.txtAge.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtAge.Location = New System.Drawing.Point(126, 122) + Me.txtAge.Name = "txtAge" + Me.txtAge.Size = New System.Drawing.Size(334, 24) + Me.txtAge.TabIndex = 15 + Me.txtAge.Text = "" + ' + 'lblAge + ' + Me.lblAge.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAge.Location = New System.Drawing.Point(56, 125) + Me.lblAge.Name = "lblAge" + Me.lblAge.Size = New System.Drawing.Size(64, 21) + Me.lblAge.TabIndex = 14 + Me.lblAge.Text = "Age" + Me.lblAge.TextAlign = System.Drawing.ContentAlignment.TopRight + ' 'txtDescription ' Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtDescription.Location = New System.Drawing.Point(128, 86) Me.txtDescription.Name = "txtDescription" - Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.Size = New System.Drawing.Size(334, 24) Me.txtDescription.TabIndex = 2 Me.txtDescription.Text = "" ' @@ -215,6 +240,7 @@ Public Class frmSubcontractorDef txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 txtDescription.Text = EditDataRow.Item("Description").ToString + txtAge.Text = EditDataRow.Item("Age").ToString End If If DefMode = 0 Or DefMode = 2 Then 'Add or Copy @@ -339,6 +365,18 @@ Public Class frmSubcontractorDef btnApplyEnabled = True End Sub + Private Sub txtAge_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtAge.Click + txtAge.SelectAll() + End Sub + + Private Sub txtAge_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtAge.Enter + txtAge.SelectAll() + End Sub + + Private Sub txtAge_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAge.TextChanged + btnApplyEnabled = True + End Sub + #End Region #Region "Others" @@ -373,6 +411,7 @@ Public Class frmSubcontractorDef strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + strParameter = strParameter & CombineXMLParameter("age", "Age", "String", txtAge.Text, "") If DefMode = 0 Or DefMode = 2 Then 'Add or Copy strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") @@ -380,7 +419,7 @@ Public Class frmSubcontractorDef InXml = CombineXMLRequest(strIdentity, strParameter) ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) - OutXml = InvokeSrv("wsENT.AddSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractor", InXml) Else '修改 @@ -390,7 +429,7 @@ Public Class frmSubcontractorDef InXml = CombineXMLRequest(strIdentity, strParameter) ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) - OutXml = InvokeSrv("wsENT.EditSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractor", InXml) End If @@ -415,6 +454,10 @@ Public Class frmSubcontractorDef End Function + Private Sub lblDescription_Click(sender As Object, e As EventArgs) Handles lblDescription.Click + + End Sub + #End Region End Class diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/ET_Subcontractor.sln b/SRC/MESWin/ENT/ET_TestDataBasis_21703/ET_Subcontractor.sln new file mode 100644 index 0000000..d58f249 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/ET_Subcontractor.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.34407.143 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_TestDataBasis_21703", "ET_TestDataBasis_21703.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test", "..\..\Test\Test.vbproj", "{C4A48E3F-38E4-4E88-A47D-FA5510686E57}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.ActiveCfg = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.Build.0 = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.ActiveCfg = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C7713F10-7426-414E-9FD7-82FA9F3EF5F6} + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/ENT/ET_TestDataBasis_21703/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/ET_TestDataBasis_21703.vbproj b/SRC/MESWin/ENT/ET_TestDataBasis_21703/ET_TestDataBasis_21703.vbproj new file mode 100644 index 0000000..64ef550 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/ET_TestDataBasis_21703.vbproj @@ -0,0 +1,194 @@ + + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_TestDataBasis_21703 + ET_TestDataBasis_21703 + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_TestDataBasis_21703.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_TestDataBasis_21703.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmTestDataBasis_21703.vb + + + frmTestDataBasis_21703ContDef.vb + + + frmTestDataBasis_21703Def.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Application.Designer.vb b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Application.myapp b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/AssemblyInfo.vb b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Resources.Designer.vb b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Resources.Designer.vb new file mode 100644 index 0000000..b34a865 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_TestDataBasis_21703.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Resources.resx b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Settings.Designer.vb b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Settings.Designer.vb new file mode 100644 index 0000000..7939df3 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_TestDataBasis_21703.My.MySettings + Get + Return Global.ET_TestDataBasis_21703.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Settings.settings b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/licenses.licx b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703.resx b/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703.vb b/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703.vb new file mode 100644 index 0000000..5ca8141 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703.vb @@ -0,0 +1,1129 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmTestDataBasis_21703 + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmTestDataBasis_21703 + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmTestDataBasis_21703" + Me.Text = "TBLENTTESTDATA21703" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmTestDataBasis_21703Def + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmTestDataBasis_21703Def + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmTestDataBasis_21703Def + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmTestDataBasis_21703ContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestDataBasis_21703ContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestDataBasis_21703ContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractor", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703ContDef.resx b/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703ContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703ContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703ContDef.vb b/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703ContDef.vb new file mode 100644 index 0000000..479b53f --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703ContDef.vb @@ -0,0 +1,684 @@ +Imports iMESExceptionManager + +Public Class frmTestDataBasis_21703ContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Friend WithEvents lblAge As Label + Friend WithEvents txtAge As Infragistics.Win.UltraWinEditors.UltraTextEditor + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.lblAge = New System.Windows.Forms.Label() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtAge = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtAge, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAge) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAge) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 306) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'lblAge + ' + Me.lblAge.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAge.Location = New System.Drawing.Point(24, 226) + Me.lblAge.Name = "lblAge" + Me.lblAge.Size = New System.Drawing.Size(86, 18) + Me.lblAge.TabIndex = 16 + Me.lblAge.Text = "Age" + Me.lblAge.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 22) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 22) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 22) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 121) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 21) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 22) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 22) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'txtAge + ' + Me.txtAge.Location = New System.Drawing.Point(120, 222) + Me.txtAge.Name = "txtAge" + Me.txtAge.Size = New System.Drawing.Size(336, 22) + Me.txtAge.TabIndex = 17 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtAge, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + txtAge.Text = EditDataRow.Item("Age").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("age", "Age", "String", txtAge.Text, "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +End Class + diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703Def.resx b/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703Def.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703Def.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703Def.vb b/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703Def.vb new file mode 100644 index 0000000..062b7bc --- /dev/null +++ b/SRC/MESWin/ENT/ET_TestDataBasis_21703/frmTestDataBasis_21703Def.vb @@ -0,0 +1,464 @@ +Imports iMESExceptionManager + +Public Class frmTestDataBasis_21703Def + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Friend WithEvents txtAge As RichTextBox + Friend WithEvents lblAge As Label + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtAge = New System.Windows.Forms.RichTextBox() + Me.lblAge = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 185) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 264) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 264) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 264) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.txtAge) + Me.gbxSubcontractorData.Controls.Add(Me.lblAge) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 169) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'txtAge + ' + Me.txtAge.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtAge.Location = New System.Drawing.Point(126, 122) + Me.txtAge.Name = "txtAge" + Me.txtAge.Size = New System.Drawing.Size(334, 24) + Me.txtAge.TabIndex = 15 + Me.txtAge.Text = "" + ' + 'lblAge + ' + Me.lblAge.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAge.Location = New System.Drawing.Point(56, 125) + Me.lblAge.Name = "lblAge" + Me.lblAge.Size = New System.Drawing.Size(64, 21) + Me.lblAge.TabIndex = 14 + Me.lblAge.Text = "Age" + Me.lblAge.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 24) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance1 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 22) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance2 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 22) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 309) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + txtAge.Text = EditDataRow.Item("Age").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAge_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtAge.Click + txtAge.SelectAll() + End Sub + + Private Sub txtAge_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtAge.Enter + txtAge.SelectAll() + End Sub + + Private Sub txtAge_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAge.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + strParameter = strParameter & CombineXMLParameter("age", "Age", "String", txtAge.Text, "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractor", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractor", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + + Private Sub lblDescription_Click(sender As Object, e As EventArgs) Handles lblDescription.Click + + End Sub + +#End Region + +End Class + diff --git a/SRC/MESWin/ENT/ET_TestDataBasis_21703/iMES.snk b/SRC/MESWin/ENT/ET_TestDataBasis_21703/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) + diff --git a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/MEStc_SXS/tcENT/clsENT.cs b/SRC/MEStc_SXS/tcENT/clsENT.cs index 2af6c9d..7fc69a2 100644 --- a/SRC/MEStc_SXS/tcENT/clsENT.cs +++ b/SRC/MEStc_SXS/tcENT/clsENT.cs @@ -127,7 +127,7 @@ namespace MEStc_SXS #region --- Subcontractor 外包商 --- - public string AddSubcontractor(string SubcontractorNo, string SubcontractorName, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + public string AddSubcontractor(string SubcontractorNo, string SubcontractorName, string Description = defString, string Age = defString,string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") { string AddSubcontractorRet = default(string); // 此 Function 將新增一筆資料 @@ -139,9 +139,13 @@ namespace MEStc_SXS try { - strSQLAddField = "Insert into tblENTSubcontractor (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddField = "Insert into A_21703MAIN (SubcontractorNo, SubcontractorName, IssueState"; strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; - + if ((Age ?? "") != defString) + { + strSQLAddField += ",Age"; + strSQLAddValue += ",'" + Age + "'"; + } if ((Description ?? "") != defString) { strSQLAddField += ",Description"; @@ -190,7 +194,7 @@ namespace MEStc_SXS } - public string EditSubcontractor(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + public string EditSubcontractor(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string Age = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) { string EditSubcontractorRet = default(string); // 此 Function 將修改一筆資料 @@ -200,8 +204,12 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractor Set "; + strSQL = "Update A_21703MAIN Set "; + if ((Age ?? "") != defString) + { + strSQL += "Age = '" + Age + "',"; + } if ((SubcontractorName ?? "") != defString) { strSQL += "SubcontractorName = '" + SubcontractorName + "',"; @@ -275,11 +283,11 @@ namespace MEStc_SXS try { // 1. 刪除Contactor - strSQL = "Delete From tblENTSubcontractorCont " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + strSQL = "Delete From A_21703SUB " + "Where SubcontractorNo='" + SubcontractorNo + "'"; CollectionSQL.Add(strSQL); // 2. 刪除主檔 - strSQL = "Delete From tblENTSubcontractor " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = "Delete From A_21703MAIN " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; if (!string.IsNullOrEmpty(AdditionalXml)) { @@ -323,7 +331,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + strSQL = "Select * From A_21703MAIN Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { @@ -342,10 +350,10 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21703MAIN", cnnTemp); // //Combine return value - LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "A_21703MAIN", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); } catch (Exception e1) @@ -383,7 +391,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + strSQL = "Select * From A_21703MAIN Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { @@ -402,7 +410,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21703MAIN", cnnTemp); // //Return data ShowSubcontractorRet = dsENT; @@ -443,7 +451,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + strSQL = "Select * From A_21703MAIN Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { @@ -462,7 +470,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21703MAIN", cnnTemp); // //Return data if (dsENT.Tables[0].Rows.Count > 0) @@ -503,7 +511,7 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractor Set IssueState = " + IssueState + ","; + strSQL = "Update A_21703MAIN Set IssueState = " + IssueState + ","; if (Reviser != defString) strSQL = strSQL + "Reviser = '" + Reviser + "',"; @@ -545,7 +553,7 @@ namespace MEStc_SXS } - public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string Age = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) { string AddSubcontractorContRet = default(string); // 此 Function 將新增一筆資料 @@ -554,9 +562,14 @@ namespace MEStc_SXS try { - strSQLAddField = "Insert into tblENTSubcontractorCont (SubcontractorNo, ContactorName"; + strSQLAddField = "Insert into A_21703SUB (SubcontractorNo, ContactorName"; strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + if ((Age ?? "") != defString) + { + strSQLAddField += ",Age"; + strSQLAddValue += ",'" + Age + "'"; + } if ((TelNo ?? "") != defString) { strSQLAddField += ",TelNo"; @@ -631,7 +644,7 @@ namespace MEStc_SXS } - public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string Age = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) { string EditSubcontractorContRet = default(string); @@ -642,8 +655,12 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractorCont Set "; + strSQL = "Update A_21703SUB Set "; + if ((Age ?? "") != defString) + { + strSQL += "Age = '" + Age + "',"; + } if ((TelNo ?? "") != defString) { strSQL += "TelNo = '" + TelNo + "',"; @@ -732,7 +749,7 @@ namespace MEStc_SXS try { - strSQL = "Delete From tblENTSubcontractorCont " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + strSQL = "Delete From A_21703SUB " + " Where SubcontractorNo='" + SubcontractorNo + "'"; if ((ContactorName ?? "") != defString) { @@ -779,7 +796,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + strSQL = "Select * From A_21703SUB Where SubcontractorNo Is Not Null"; // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 if ((SubcontractorNo ?? "") != defString) @@ -799,10 +816,10 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21703SUB", cnnTemp); // //Combine return value - LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "A_21703SUB", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); } catch (Exception e1) @@ -841,7 +858,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + strSQL = "Select * From A_21703SUB Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; @@ -859,7 +876,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21703SUB", cnnTemp); // //Return data ShowSubcontractorContRet = dsENT; @@ -901,7 +918,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + strSQL = "Select * From A_21703SUB Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; @@ -919,7 +936,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "A_21703SUB", cnnTemp); // //Return data if (dsENT.Tables[0].Rows.Count > 0) diff --git a/SRC/MEStc_SXS/tcTEST21703/clsTEST_21703.cs b/SRC/MEStc_SXS/tcTEST21703/clsTEST_21703.cs new file mode 100644 index 0000000..8f6d0bc --- /dev/null +++ b/SRC/MEStc_SXS/tcTEST21703/clsTEST_21703.cs @@ -0,0 +1,975 @@ +using iMESCore.Settings; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +namespace MEStc_SXS +{ + public class clsTEST_21703 : IDisposable + { + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + private string strSQLAddField; + private string strSQLAddValue; + + #region --- Initial Object --- + + public clsTEST_21703() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + #region --- test21703 --- + + + public string AddTestDataBasis_21703(string SubcontractorNo, string SubcontractorName, string Description = defString, string Age = defString,string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into TestDataBasis_21703 (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; + if ((Age ?? "") != defString) + { + strSQLAddField += ",Age"; + strSQLAddValue += ",'" + Age + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + + public string EditTestDataBasis_21703(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string Age = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update TestDataBasis_21703 Set "; + + if ((Age ?? "") != defString) + { + strSQL += "Age = '" + Age + "',"; + } + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelTestDataBasis_21703(string SubcontractorNo, string AdditionalXml = "") + { + string DelSubcontractorRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + strSQL = "Delete From TestDataBasis_21703Cont " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From TestDataBasis_21703 " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelSubcontractorRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + + return DelSubcontractorRet; + + } + + public string LoadTestDataBasis_21703(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadSubcontractorRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From TestDataBasis_21703 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "TestDataBasis_21703", cnnTemp); + + // //Combine return value + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "TestDataBasis_21703", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorRet; + + } + + public DataSet ShowTestDataBasis_21703(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowSubcontractorRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From TestDataBasis_21703 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "TestDataBasis_21703", cnnTemp); + + // //Return data + ShowSubcontractorRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorRet; + + } + + public DataRow GetTestDataBasis_21703(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetSubcontractorRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From TestDataBasis_21703 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "TestDataBasis_21703", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorRet = null; + throw; + } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorRet; + + } + public string SetTestDataBasis_21703IssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetSubcontractorIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update TestDataBasis_21703 Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetSubcontractorIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetSubcontractorIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + + return SetSubcontractorIssueStateRet; + + } + + + public string AddTestDataBasis_21703Cont(string SubcontractorNo, string ContactorName, string TelNo = defString, string Age = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddSubcontractorContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into TestDataBasis_21703Cont (SubcontractorNo, ContactorName"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + + if ((Age ?? "") != defString) + { + strSQLAddField += ",Age"; + strSQLAddValue += ",'" + Age + "'"; + } + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + + + public string EditTestDataBasis_21703Cont(string SubcontractorNo, string ContactorName, string TelNo = defString, string Age = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update TestDataBasis_21703Cont Set "; + + if ((Age ?? "") != defString) + { + strSQL += "Age = '" + Age + "',"; + } + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + + public string DelTestDataBasis_21703Cont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") + { + string DelSubcontractorContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From TestDataBasis_21703Cont " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractorCont: " & e1.Message) + + return DelSubcontractorContRet; + + } + + public string LoadTestDataBasis_21703Cont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + string LoadSubcontractorContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From TestDataBasis_21703Cont Where SubcontractorNo Is Not Null"; + + // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "TestDataBasis_21703Cont", cnnTemp); + + // //Combine return value + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "TestDataBasis_21703Cont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorContRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorContRet; + + } + + public DataSet ShowSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataSet ShowSubcontractorContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From TestDataBasis_21703Cont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "TestDataBasis_21703Cont", cnnTemp); + + // //Return data + ShowSubcontractorContRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorContRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorContRet; + + } + + public DataRow GetSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataRow GetSubcontractorContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From TestDataBasis_21703Cont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "TestDataBasis_21703Cont", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorContRet = null; + throw; + } // New Exception("kcENT.GetSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorContRet; + + } + + + + #endregion + } +} diff --git a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/wsSXS/wsSXS.csproj b/SRC/wsSXS/wsSXS.csproj index 1c0f518..acdffc4 100644 --- a/SRC/wsSXS/wsSXS.csproj +++ b/SRC/wsSXS/wsSXS.csproj @@ -145,6 +145,7 @@ Settings.settings True + diff --git a/SRC/wsSXS/wsTEST_21703/wsTEST_21703.cs b/SRC/wsSXS/wsTEST_21703/wsTEST_21703.cs new file mode 100644 index 0000000..9f19548 --- /dev/null +++ b/SRC/wsSXS/wsTEST_21703/wsTEST_21703.cs @@ -0,0 +1,717 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System; +using System.Data; +using System.Web.Services; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.Base.iMESComSubroutine; +namespace wsSXS +{ + public class wsTEST_21703 + { + // private MEStc_SXS .clsENT objENT = new MEStc_SXS.clsENT(); + private MEStc_SXS .clsTEST_21703 testObjENT = new MEStc_SXS.clsTEST_21703(); + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + //private kcBasis_UPD.clsBasis_UPD objBasis = new kcBasis_UPD.clsBasis_UPD(); //主檔優化 + //private kcBasis_Query.clsBasis_Query objQuery = new kcBasis_Query.clsBasis_Query(); //主檔優化 + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private string strResourceDir = "Resources"; + + public wsTEST_21703() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + #region --- Subcontractor 外包商 --- + #region "TEST21703" + + [WebMethod(Description = "Load TestDataBasis_21703 Data")] + public string LoadSubcontractor(string InXml) + { + string LoadSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objSYS.LoadSubcontractor(SubcontractorNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorRet; + + } + + [WebMethod(Description = "Add TestDataBasis_21703 data")] + public string AddSubcontractor(string InXml) + { + string AddSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string Age = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Age + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + Age = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objSYS.AddSubcontractor(SubcontractorNo, SubcontractorName, Description,Age, Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + + [WebMethod(Description = "Edit Specified TestDataBasis_21703 Data")] + public string EditSubcontractor(string InXml) + { + string EditSubcontractorRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + string Age = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Age + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + Age = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objSYS.EditSubcontractor(SubcontractorNo, SubcontractorName, Description,Age, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + + [WebMethod(Description = "Delete TestDataBasis_21703 By Specified Subcontractor")] + public string DelSubcontractor(string InXml) + { + string DelSubcontractorRet = default(string); + + var SubcontractorNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objSYS.DelSubcontractor(SubcontractorNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objSYS.SetSubcontractorIssueState(SubcontractorNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objSYS.DelSubcontractor(SubcontractorNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorRet; + + } + + [WebMethod(Description = "Approve Specified TestDataBasis_21703 Data")] + public string ApproveSubcontractor(string InXml) + { + string ApproveSubcontractorRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var SubcontractorNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objSYS.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objSYS.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update A_21703MAIN Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update A_21703MAIN Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "SubcontractorNo: " + SubcontractorNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objSYS.SetSubcontractorIssueState(SubcontractorNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveSubcontractorRet; + + } + + // Subcontractor Contactor + [WebMethod(Description = "Load TestDataBasis_21703 Contactor Data")] + public string LoadSubcontractorCont(string InXml) + { + string LoadSubcontractorContRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + string ContactorName = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入SubcontractorNo,若有,表示要依SubcontractorNo查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行 + strReturnValue = objSYS.LoadSubcontractorCont(SubcontractorNo, ContactorName); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorContRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorContRet; + + } + + #endregion + } +} diff --git a/SRC/wsSXS/wxENT/wsENT.cs b/SRC/wsSXS/wxENT/wsENT.cs index 86dad90..d939a55 100644 --- a/SRC/wsSXS/wxENT/wsENT.cs +++ b/SRC/wsSXS/wxENT/wsENT.cs @@ -119,6 +119,7 @@ namespace wsSXS var SubcontractorNo = default(string); string SubcontractorName; string Description = defString; + string Age = defString; string Creator = defString; ArriveTime = DateTime.Now; @@ -171,6 +172,14 @@ namespace wsSXS Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; } } + // Age + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + Age = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } // Creator if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) { @@ -181,7 +190,7 @@ namespace wsSXS } // 呼叫Dll執行新增資料 - objENT.AddSubcontractor(SubcontractorNo, SubcontractorName, Description, Creator); + objENT.AddSubcontractor(SubcontractorNo, SubcontractorName, Description,Age, Creator); strException = ""; strResult = "success"; @@ -228,6 +237,7 @@ namespace wsSXS int IssueState = defInteger; string SubcontractorName = defString; string Description = defString; + string Age = defString; int DataStamp = defInteger; string AdditionalXml = ""; @@ -294,6 +304,14 @@ namespace wsSXS Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; } } + // Age + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + Age = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } // AdditionalXml GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); @@ -307,7 +325,7 @@ namespace wsSXS if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) { // 呼叫Dll執行修改 - objENT.EditSubcontractor(SubcontractorNo, SubcontractorName, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objENT.EditSubcontractor(SubcontractorNo, SubcontractorName, Description,Age, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); } } @@ -555,10 +573,10 @@ namespace wsSXS string IssueMasterNo; // 核准後應將狀態改為Active - tmpSQL = "Update tblENTSubcontractor Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + tmpSQL = "Update A_21703MAIN Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; ApproveSQL.Add(tmpSQL); // 退回則應將狀態回復到Unfrozen - tmpSQL = "Update tblENTSubcontractor Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + tmpSQL = "Update A_21703MAIN Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; RejectSQL.Add(tmpSQL); // Creator未傳入表示以目前的User @@ -705,6 +723,7 @@ namespace wsSXS string Address = defString; string EMail = defString; string Description = defString; + string Age = defString; string AdditionalXml = ""; ArriveTime = DateTime.Now; @@ -758,6 +777,14 @@ namespace wsSXS TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; } } + // Age + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + Age = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } // FaxNo if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) { @@ -803,7 +830,7 @@ namespace wsSXS // 呼叫Dll執行新增資料 - objENT.AddSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + objENT.AddSubcontractorCont(SubcontractorNo, ContactorName, TelNo, Age,FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); strException = ""; strResult = "success"; @@ -853,6 +880,7 @@ namespace wsSXS string Address = defString; string EMail = defString; string Description = defString; + string Age = defString; int DataStamp = defInteger; string AdditionalXml = ""; @@ -907,6 +935,14 @@ namespace wsSXS TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; } } + // Age + if (xmlDoc.DocumentElement.GetElementsByTagName("age").Count > 0) + { + if (xmlDoc.GetElementsByTagName("age").Item(0).SelectNodes("value").Count > 0) + { + Age = xmlDoc.DocumentElement.GetElementsByTagName("age").Item(0).SelectNodes("value").Item(0).InnerText; + } + } // FaxNo if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) { From b5910bc129670d6a440bcaae76be1bb90d4d89dc Mon Sep 17 00:00:00 2001 From: guojhb Date: Wed, 17 Jan 2024 16:21:46 +0800 Subject: [PATCH 08/13] =?UTF-8?q?1=E6=9C=8817=E5=8F=B721706=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SYS4/21706/ET_Subcontractor.vbproj.vspscc | 10 + .../SYS4/21706/ET_Subcontractor_21706.sln | 31 + .../SYS4/21706/ET_Subcontractor_21706.vbproj | 194 ++ .../21706/My Project/Application.Designer.vb | 13 + .../SYS4/21706/My Project/Application.myapp | 10 + .../SYS4/21706/My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../21706/My Project/Resources.Designer.vb | 63 + .../SYS4/21706/My Project/Resources.resx | 117 + .../21706/My Project/Settings.Designer.vb | 73 + .../SYS4/21706/My Project/Settings.settings | 7 + .../SYS4/21706/My Project/licenses.licx | 7 + .../SYS4/21706/frmDemo21706.Designer.vb | 5 + SRC/MESWin/SYS4/21706/frmDemo21706.resx | 120 + SRC/MESWin/SYS4/21706/frmDemo21706.vb | 3 + .../SYS4/21706/frmSubcontractor21706.resx | 120 + .../SYS4/21706/frmSubcontractor21706.vb | 1150 +++++++++ .../SYS4/21706/frmSubcontractorContDef.resx | 120 + .../SYS4/21706/frmSubcontractorContDef.vb | 688 +++++ .../SYS4/21706/frmSubcontractorDef.resx | 120 + SRC/MESWin/SYS4/21706/frmSubcontractorDef.vb | 497 ++++ SRC/MESWin/SYS4/21706/iMES.snk | Bin 0 -> 596 bytes .../21706NEW/ET_Subcontractor.vbproj.vspscc | 10 + SRC/MESWin/SYS4/21706NEW/ET_TestData21706.sln | 31 + .../SYS4/21706NEW/ET_TestData21706.vbproj | 194 ++ .../My Project/Application.Designer.vb | 13 + .../21706NEW/My Project/Application.myapp | 10 + .../SYS4/21706NEW/My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../21706NEW/My Project/Resources.Designer.vb | 63 + .../SYS4/21706NEW/My Project/Resources.resx | 117 + .../21706NEW/My Project/Settings.Designer.vb | 73 + .../21706NEW/My Project/Settings.settings | 7 + .../SYS4/21706NEW/My Project/licenses.licx | 7 + .../SYS4/21706NEW/frmTestData21706.resx | 120 + SRC/MESWin/SYS4/21706NEW/frmTestData21706.vb | 1129 ++++++++ .../21706NEW/frmTestData21706ContDef.resx | 120 + .../SYS4/21706NEW/frmTestData21706ContDef.vb | 656 +++++ .../SYS4/21706NEW/frmTestData21706Def.resx | 120 + .../SYS4/21706NEW/frmTestData21706Def.vb | 421 +++ SRC/MESWin/SYS4/21706NEW/iMES.snk | Bin 0 -> 596 bytes SRC/MEStc_SXS/MEStc_SXS.csproj | 1 + .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/MEStc_SXS/tcTEST21706/clsENT21706.cs | 548 ++++ .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/wsSXS/wsENT21706/wsENT_21706.cs | 2293 +++++++++++++++++ SRC/wsSXS/wsSXS.csproj | 1 + 47 files changed, 9356 insertions(+), 2 deletions(-) create mode 100644 SRC/MESWin/SYS4/21706/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS4/21706/ET_Subcontractor_21706.sln create mode 100644 SRC/MESWin/SYS4/21706/ET_Subcontractor_21706.vbproj create mode 100644 SRC/MESWin/SYS4/21706/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS4/21706/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS4/21706/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS4/21706/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS4/21706/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS4/21706/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS4/21706/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS4/21706/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS4/21706/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS4/21706/frmDemo21706.Designer.vb create mode 100644 SRC/MESWin/SYS4/21706/frmDemo21706.resx create mode 100644 SRC/MESWin/SYS4/21706/frmDemo21706.vb create mode 100644 SRC/MESWin/SYS4/21706/frmSubcontractor21706.resx create mode 100644 SRC/MESWin/SYS4/21706/frmSubcontractor21706.vb create mode 100644 SRC/MESWin/SYS4/21706/frmSubcontractorContDef.resx create mode 100644 SRC/MESWin/SYS4/21706/frmSubcontractorContDef.vb create mode 100644 SRC/MESWin/SYS4/21706/frmSubcontractorDef.resx create mode 100644 SRC/MESWin/SYS4/21706/frmSubcontractorDef.vb create mode 100644 SRC/MESWin/SYS4/21706/iMES.snk create mode 100644 SRC/MESWin/SYS4/21706NEW/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS4/21706NEW/ET_TestData21706.sln create mode 100644 SRC/MESWin/SYS4/21706NEW/ET_TestData21706.vbproj create mode 100644 SRC/MESWin/SYS4/21706NEW/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS4/21706NEW/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS4/21706NEW/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS4/21706NEW/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS4/21706NEW/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS4/21706NEW/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS4/21706NEW/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS4/21706NEW/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS4/21706NEW/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS4/21706NEW/frmTestData21706.resx create mode 100644 SRC/MESWin/SYS4/21706NEW/frmTestData21706.vb create mode 100644 SRC/MESWin/SYS4/21706NEW/frmTestData21706ContDef.resx create mode 100644 SRC/MESWin/SYS4/21706NEW/frmTestData21706ContDef.vb create mode 100644 SRC/MESWin/SYS4/21706NEW/frmTestData21706Def.resx create mode 100644 SRC/MESWin/SYS4/21706NEW/frmTestData21706Def.vb create mode 100644 SRC/MESWin/SYS4/21706NEW/iMES.snk create mode 100644 SRC/MEStc_SXS/tcTEST21706/clsENT21706.cs create mode 100644 SRC/wsSXS/wsENT21706/wsENT_21706.cs diff --git a/SRC/MESWin/SYS4/21706/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/SYS4/21706/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS4/21706/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS4/21706/ET_Subcontractor_21706.sln b/SRC/MESWin/SYS4/21706/ET_Subcontractor_21706.sln new file mode 100644 index 0000000..56a4e47 --- /dev/null +++ b/SRC/MESWin/SYS4/21706/ET_Subcontractor_21706.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.34407.143 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_Subcontractor_21706", "ET_Subcontractor_21706.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test", "..\..\Test\Test.vbproj", "{C4A48E3F-38E4-4E88-A47D-FA5510686E57}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.ActiveCfg = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.Build.0 = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.ActiveCfg = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {90AD5AEC-CF5E-4F34-BF22-34D3D94B3E15} + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS4/21706/ET_Subcontractor_21706.vbproj b/SRC/MESWin/SYS4/21706/ET_Subcontractor_21706.vbproj new file mode 100644 index 0000000..b5d5d6b --- /dev/null +++ b/SRC/MESWin/SYS4/21706/ET_Subcontractor_21706.vbproj @@ -0,0 +1,194 @@ + + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_Subcontractor_21706 + ET_Subcontractor_21706 + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_Subcontractor_21706.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_Subcontractor_21706.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmSubcontractor21706.vb + + + frmSubcontractorContDef.vb + + + frmSubcontractorDef.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21706/My Project/Application.Designer.vb b/SRC/MESWin/SYS4/21706/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/SYS4/21706/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS4/21706/My Project/Application.myapp b/SRC/MESWin/SYS4/21706/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS4/21706/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS4/21706/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS4/21706/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS4/21706/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS4/21706/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS4/21706/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/SYS4/21706/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS4/21706/My Project/Resources.Designer.vb b/SRC/MESWin/SYS4/21706/My Project/Resources.Designer.vb new file mode 100644 index 0000000..4535830 --- /dev/null +++ b/SRC/MESWin/SYS4/21706/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor_21706.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21706/My Project/Resources.resx b/SRC/MESWin/SYS4/21706/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS4/21706/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21706/My Project/Settings.Designer.vb b/SRC/MESWin/SYS4/21706/My Project/Settings.Designer.vb new file mode 100644 index 0000000..1348728 --- /dev/null +++ b/SRC/MESWin/SYS4/21706/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_Subcontractor_21706.My.MySettings + Get + Return Global.ET_Subcontractor_21706.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21706/My Project/Settings.settings b/SRC/MESWin/SYS4/21706/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS4/21706/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS4/21706/My Project/licenses.licx b/SRC/MESWin/SYS4/21706/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS4/21706/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS4/21706/frmDemo21706.Designer.vb b/SRC/MESWin/SYS4/21706/frmDemo21706.Designer.vb new file mode 100644 index 0000000..c29624a --- /dev/null +++ b/SRC/MESWin/SYS4/21706/frmDemo21706.Designer.vb @@ -0,0 +1,5 @@ + +Partial Class frmDemo21706 + + +End Class diff --git a/SRC/MESWin/SYS4/21706/frmDemo21706.resx b/SRC/MESWin/SYS4/21706/frmDemo21706.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21706/frmDemo21706.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21706/frmDemo21706.vb b/SRC/MESWin/SYS4/21706/frmDemo21706.vb new file mode 100644 index 0000000..7e88fba --- /dev/null +++ b/SRC/MESWin/SYS4/21706/frmDemo21706.vb @@ -0,0 +1,3 @@ +Public Class frmDemo21706 + +End Class \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21706/frmSubcontractor21706.resx b/SRC/MESWin/SYS4/21706/frmSubcontractor21706.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21706/frmSubcontractor21706.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21706/frmSubcontractor21706.vb b/SRC/MESWin/SYS4/21706/frmSubcontractor21706.vb new file mode 100644 index 0000000..1ecb531 --- /dev/null +++ b/SRC/MESWin/SYS4/21706/frmSubcontractor21706.vb @@ -0,0 +1,1150 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmSubcontractor21706 + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmSubcontractorDef + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + '如果有激活行才执行操作 + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + '删除方法,不需要调用客制化方法 + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmSubcontractorContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + 'OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + '调用客制化方法 + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorContCustom", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("NotNull") + .Header.Caption = "NotNull" + .Width = 150 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("Note21706") + .Header.Caption = "Note21706" + .Width = 150 + .Hidden = False + .Header.VisiblePosition = 9 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With .Bands(0).Columns("Note21706") + .Header.Caption = "Note21706" + .Width = 150 + .Hidden = False + .Header.VisiblePosition = 12 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractor", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21706/frmSubcontractorContDef.resx b/SRC/MESWin/SYS4/21706/frmSubcontractorContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21706/frmSubcontractorContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21706/frmSubcontractorContDef.vb b/SRC/MESWin/SYS4/21706/frmSubcontractorContDef.vb new file mode 100644 index 0000000..74984bb --- /dev/null +++ b/SRC/MESWin/SYS4/21706/frmSubcontractorContDef.vb @@ -0,0 +1,688 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Friend WithEvents lblNote21706 As Label + Friend WithEvents txtNote21706 As Infragistics.Win.UltraWinEditors.UltraTextEditor + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.lblNote21706 = New System.Windows.Forms.Label() + Me.txtNote21706 = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtNote21706, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 354) + Me.gbxBasisData.Size = New System.Drawing.Size(476, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(400, 433) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(212, 433) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(306, 433) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.lblNote21706) + Me.gbxSubcontractorContData.Controls.Add(Me.txtNote21706) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(473, 338) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'lblNote21706 + ' + Me.lblNote21706.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblNote21706.Location = New System.Drawing.Point(24, 302) + Me.lblNote21706.Name = "lblNote21706" + Me.lblNote21706.Size = New System.Drawing.Size(86, 14) + Me.lblNote21706.TabIndex = 17 + Me.lblNote21706.Text = "Note 21706" + Me.lblNote21706.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtNote21706 + ' + Me.txtNote21706.Location = New System.Drawing.Point(120, 298) + Me.txtNote21706.Name = "txtNote21706" + Me.txtNote21706.Size = New System.Drawing.Size(114, 22) + Me.txtNote21706.TabIndex = 16 + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 22) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 22) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 22) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 123) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 22) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 22) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(500, 478) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtNote21706, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + '以下为自己添加的字段 + txtNote21706.Text = EditDataRow.Item("Note21706").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + '以下为自己添加的字段 + strParameter = strParameter & CombineXMLParameter("note21706", "Note21706", "String", CInput(txtNote21706.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + 'OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCont", InXml) + '调用客制化方法 + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorContCustom", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + 'OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCont", InXml) + '调用客制化方法 + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorContCustom", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub +End Class + diff --git a/SRC/MESWin/SYS4/21706/frmSubcontractorDef.resx b/SRC/MESWin/SYS4/21706/frmSubcontractorDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21706/frmSubcontractorDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21706/frmSubcontractorDef.vb b/SRC/MESWin/SYS4/21706/frmSubcontractorDef.vb new file mode 100644 index 0000000..158f05b --- /dev/null +++ b/SRC/MESWin/SYS4/21706/frmSubcontractorDef.vb @@ -0,0 +1,497 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Friend WithEvents txtNote21706 As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents lblNote21706 As Label + Friend WithEvents lblKey21706 As Label + Friend WithEvents txtNotNull As Infragistics.Win.UltraWinEditors.UltraTextEditor + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance3 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance4 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.lblNote21706 = New System.Windows.Forms.Label() + Me.txtNote21706 = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtNotNull = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblKey21706 = New System.Windows.Forms.Label() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtNote21706, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtNotNull, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 266) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 345) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 345) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 345) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.lblKey21706) + Me.gbxSubcontractorData.Controls.Add(Me.txtNotNull) + Me.gbxSubcontractorData.Controls.Add(Me.lblNote21706) + Me.gbxSubcontractorData.Controls.Add(Me.txtNote21706) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 250) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'lblNote21706 + ' + Me.lblNote21706.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblNote21706.Location = New System.Drawing.Point(24, 193) + Me.lblNote21706.Name = "lblNote21706" + Me.lblNote21706.Size = New System.Drawing.Size(96, 32) + Me.lblNote21706.TabIndex = 14 + Me.lblNote21706.Text = "Note 21706" + Me.lblNote21706.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtNote21706 + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.txtNote21706.Appearance = Appearance2 + Me.txtNote21706.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.txtNote21706.Location = New System.Drawing.Point(128, 193) + Me.txtNote21706.Name = "txtNote21706" + Me.txtNote21706.Size = New System.Drawing.Size(152, 22) + Me.txtNote21706.TabIndex = 3 + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance3.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance3 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 22) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance4.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance4 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 22) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'txtNotNull + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtNotNull.Appearance = Appearance1 + Me.txtNotNull.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtNotNull.Location = New System.Drawing.Point(128, 162) + Me.txtNotNull.Name = "txtNotNull" + Me.txtNotNull.Size = New System.Drawing.Size(152, 22) + Me.txtNotNull.TabIndex = 15 + ' + 'lblKey21706 + ' + Me.lblKey21706.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblKey21706.Location = New System.Drawing.Point(24, 162) + Me.lblKey21706.Name = "lblKey21706" + Me.lblKey21706.Size = New System.Drawing.Size(96, 32) + Me.lblKey21706.TabIndex = 16 + Me.lblKey21706.Text = "Not Null" + Me.lblKey21706.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 390) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtNote21706, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtNotNull, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + '加入自定义字段 + txtNotNull.Text = EditDataRow.Item("NotNull").ToString + txtNote21706.Text = EditDataRow.Item("Note21706").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '以下为自定义的字段,如果非空字段为空,抛出异常之后退出函数(即不进行处理) + If txtNotNull.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%NotNull%]"), MsgBoxStyle.Exclamation, Me.Text) + txtNotNull.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + '以下为自己定义的字段 + strParameter = strParameter & CombineXMLParameter("notnull", "NotNull", "String", CInput(txtNotNull.Text), "") + strParameter = strParameter & CombineXMLParameter("note21706", "Note21706", "String", CInput(txtNote21706.Text), "") + + If DefMode = 0 Or DefMode = 2 Then + 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.AddSubcontractor", InXml) + '调用客制化方法 + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCustom", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.EditSubcontractor", InXml) + '调用客制化方法 + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCustom", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21706/iMES.snk b/SRC/MESWin/SYS4/21706/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_TestData21706 + ET_TestData21706 + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_TestData21706.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_TestData21706.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmTestData21706.vb + + + frmTestData21706ContDef.vb + + + frmTestData21706Def.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21706NEW/My Project/Application.Designer.vb b/SRC/MESWin/SYS4/21706NEW/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS4/21706NEW/My Project/Application.myapp b/SRC/MESWin/SYS4/21706NEW/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS4/21706NEW/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS4/21706NEW/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS4/21706NEW/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS4/21706NEW/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS4/21706NEW/My Project/Resources.Designer.vb b/SRC/MESWin/SYS4/21706NEW/My Project/Resources.Designer.vb new file mode 100644 index 0000000..3f59252 --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_TestData21706.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21706NEW/My Project/Resources.resx b/SRC/MESWin/SYS4/21706NEW/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21706NEW/My Project/Settings.Designer.vb b/SRC/MESWin/SYS4/21706NEW/My Project/Settings.Designer.vb new file mode 100644 index 0000000..49a2d86 --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_TestData21706.My.MySettings + Get + Return Global.ET_TestData21706.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21706NEW/My Project/Settings.settings b/SRC/MESWin/SYS4/21706NEW/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS4/21706NEW/My Project/licenses.licx b/SRC/MESWin/SYS4/21706NEW/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS4/21706NEW/frmTestData21706.resx b/SRC/MESWin/SYS4/21706NEW/frmTestData21706.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/frmTestData21706.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21706NEW/frmTestData21706.vb b/SRC/MESWin/SYS4/21706NEW/frmTestData21706.vb new file mode 100644 index 0000000..18ca685 --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/frmTestData21706.vb @@ -0,0 +1,1129 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmTestData21706 + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmTestData_21706 + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmTestData_21706" + Me.Text = "ENT TestData21706" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmTestData21706Def + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmTestData21706Def + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT_21706.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmTestData21706Def + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT_21706.ApproveTestData21706", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmTestData21706ContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestData21706ContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestData21706ContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT_21706.LoadTestData21706", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadTestData21706").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadTestData21706").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadTestData21706").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21706NEW/frmTestData21706ContDef.resx b/SRC/MESWin/SYS4/21706NEW/frmTestData21706ContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/frmTestData21706ContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21706NEW/frmTestData21706ContDef.vb b/SRC/MESWin/SYS4/21706NEW/frmTestData21706ContDef.vb new file mode 100644 index 0000000..3a58dc7 --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/frmTestData21706ContDef.vb @@ -0,0 +1,656 @@ +Imports iMESExceptionManager + +Public Class frmTestData21706ContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 306) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 22) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 22) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 22) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 121) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 22) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 22) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub +End Class + diff --git a/SRC/MESWin/SYS4/21706NEW/frmTestData21706Def.resx b/SRC/MESWin/SYS4/21706NEW/frmTestData21706Def.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/frmTestData21706Def.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21706NEW/frmTestData21706Def.vb b/SRC/MESWin/SYS4/21706NEW/frmTestData21706Def.vb new file mode 100644 index 0000000..2db3b2c --- /dev/null +++ b/SRC/MESWin/SYS4/21706NEW/frmTestData21706Def.vb @@ -0,0 +1,421 @@ +Imports iMESExceptionManager + +Public Class frmTestData21706Def + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 185) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 264) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 264) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 264) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 169) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance1 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 22) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance2 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 22) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 309) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT_21706.AddTestData21706", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT_21706.EditTestData21706", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21706NEW/iMES.snk b/SRC/MESWin/SYS4/21706NEW/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) + diff --git a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/MEStc_SXS/tcTEST21706/clsENT21706.cs b/SRC/MEStc_SXS/tcTEST21706/clsENT21706.cs new file mode 100644 index 0000000..30033bb --- /dev/null +++ b/SRC/MEStc_SXS/tcTEST21706/clsENT21706.cs @@ -0,0 +1,548 @@ +using iMESCore.Settings; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +namespace MEStc_SXS +{ + public class clsENT21706 : IDisposable + { + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + private string strSQLAddField; + private string strSQLAddValue; + + #region --- Initial Object --- + + public clsENT21706() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + #region --- Custom 自定义 --- + public string AddTestData21706(string SubcontractorNo, string SubcontractorName, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into tblENTTestData21706 (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + + public string EditTestData21706(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTTestData21706 Set "; + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + + public string DelTestData21706(string SubcontractorNo, string AdditionalXml = "") + { + string DelSubcontractorRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + strSQL = "Delete From tblENTTestData21706Cont " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From tblTestData21706 " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelSubcontractorRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + + return DelSubcontractorRet; + + } + + public string LoadTestData21706(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadSubcontractorRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTTestData21706 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTTestData21706", cnnTemp); + + // //Combine return value + LoadSubcontractorRet = CombineXMLReturnValue("loadTestData21706", "tblENTTestData21706", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorRet; + + } + + public DataSet ShowTestData21706(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowSubcontractorRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTTestData21706 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTTestData21706", cnnTemp); + + // //Return data + ShowSubcontractorRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorRet; + + } + + public DataRow GetTestData21706(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetSubcontractorRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTTestData21706 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTTestData21706", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorRet = null; + throw; + } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorRet; + + } + + public string SetTestData21706IssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetSubcontractorIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTTestData21706 Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetSubcontractorIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetSubcontractorIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + + return SetSubcontractorIssueStateRet; + + } + #endregion + } +} diff --git a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/wsSXS/wsENT21706/wsENT_21706.cs b/SRC/wsSXS/wsENT21706/wsENT_21706.cs new file mode 100644 index 0000000..9567c22 --- /dev/null +++ b/SRC/wsSXS/wsENT21706/wsENT_21706.cs @@ -0,0 +1,2293 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System; +using System.Data; +using System.Web.Services; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.Base.iMESComSubroutine; +namespace wsSXS +{ + public class wsENT_21706 + { + private MEStc_SXS.clsENT objENT = new MEStc_SXS.clsENT(); + private MEStc_SXS.clsENT21706 objTest21706 = new MEStc_SXS.clsENT21706(); // 宣告自定义物件 + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + //private kcBasis_UPD.clsBasis_UPD objBasis = new kcBasis_UPD.clsBasis_UPD(); //主檔優化 + //private kcBasis_Query.clsBasis_Query objQuery = new kcBasis_Query.clsBasis_Query(); //主檔優化 + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private string strResourceDir = "Resources"; + + public wsENT_21706() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + #region --- Subcontractor 外包商 --- + + [WebMethod(Description = "Load Subcontractor Data")] + public string LoadSubcontractor(string InXml) + { + string LoadSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractor(SubcontractorNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorRet; + + } + + [WebMethod(Description = "Add Subcontractor data")] + public string AddSubcontractor(string InXml) + { + string AddSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractor(SubcontractorNo, SubcontractorName, Description, Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + + [WebMethod(Description = "Add Subcontractor data(Custom)")] + public string AddSubcontractorCustom(string InXml) + { + string AddSubcontractorRet = default(string); + + // 此 Function 为用作练习之自定义 Function + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string Creator = defString; + + // 以下为自定义字段 + string NotNull; + string Note21706 = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // 自定义的非空字段 NotNull 一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("notnull").Count > 0) + { + if (xmlDoc.GetElementsByTagName("notnull").Item(0).SelectNodes("value").Count > 0) + { + NotNull = xmlDoc.DocumentElement.GetElementsByTagName("notnull").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "NotNull Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "NotNull Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Note21706 + if (xmlDoc.DocumentElement.GetElementsByTagName("note21706").Count > 0) + { + if (xmlDoc.GetElementsByTagName("note21706").Item(0).SelectNodes("value").Count > 0) + { + Note21706 = xmlDoc.DocumentElement.GetElementsByTagName("note21706").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractorCustom(SubcontractorNo, SubcontractorName, NotNull, Description, Creator, defDateTime, Note21706); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data")] + public string EditSubcontractor(string InXml) + { + string EditSubcontractorRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractor(SubcontractorNo, SubcontractorName, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data(Custom)")] + public string EditSubcontractorCustom(string InXml) + { + string EditSubcontractorRet = default(string); + + // 此 Function 为用作练习之自定义 Function + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + // 以下为自定义字段 + string NotNull = defString; + string Note21706 = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // NotNull不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("notnull").Count > 0) + { + if (xmlDoc.GetElementsByTagName("notnull").Item(0).SelectNodes("value").Count > 0) + { + NotNull = xmlDoc.DocumentElement.GetElementsByTagName("notnull").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "NotNull is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Note21706 + if (xmlDoc.DocumentElement.GetElementsByTagName("Note21706").Count > 0) + { + if (xmlDoc.GetElementsByTagName("Note21706").Item(0).SelectNodes("value").Count > 0) + { + Note21706 = xmlDoc.DocumentElement.GetElementsByTagName("Note21706").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractorCustom(SubcontractorNo, SubcontractorName, NotNull, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime, Note21706); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] + public string DelSubcontractor(string InXml) + { + string DelSubcontractorRet = default(string); + + var SubcontractorNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objENT.SetSubcontractorIssueState(SubcontractorNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorRet; + + } + + [WebMethod(Description = "Approve Specified Subcontractor Data")] + public string ApproveSubcontractor(string InXml) + { + string ApproveSubcontractorRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var SubcontractorNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTSubcontractor Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTSubcontractor Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "SubcontractorNo: " + SubcontractorNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objENT.SetSubcontractorIssueState(SubcontractorNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveSubcontractorRet; + + } + + // Subcontractor Contactor + [WebMethod(Description = "Load Subcontractor Contactor Data")] + public string LoadSubcontractorCont(string InXml) + { + string LoadSubcontractorContRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + string ContactorName = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入SubcontractorNo,若有,表示要依SubcontractorNo查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractorCont(SubcontractorNo, ContactorName); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorContRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorContRet; + + } + + [WebMethod(Description = "Add Subcontractor Contactor data")] + public string AddSubcontractorCont(string InXml) + { + string AddSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorContRet; + + } + + [WebMethod(Description = "Add Subcontractor Contactor data(Custom)")] + public string AddSubcontractorContCustom(string InXml) + { + string AddSubcontractorContRet = default(string); + + // 此 Function 为用作练习之自定义 Function + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + string AdditionalXml = ""; + + // 以下为自定义字段 + string Note21706 = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Note21706 + if (xmlDoc.DocumentElement.GetElementsByTagName("note21706").Count > 0) + { + if (xmlDoc.GetElementsByTagName("note21706").Item(0).SelectNodes("value").Count > 0) + { + Note21706 = xmlDoc.DocumentElement.GetElementsByTagName("note21706").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractorContCustom(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime, Note21706); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorContRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Contactor Data")] + public string EditSubcontractorCont(string InXml) + { + string EditSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditSubcontractorContRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Contactor Data(Custom)")] + public string EditSubcontractorContCustom(string InXml) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 为用作练习之自定义 Function + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + // 以下为自定义字段 + string Note21706 = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Note21706 + if (xmlDoc.DocumentElement.GetElementsByTagName("note21706").Count > 0) + { + if (xmlDoc.GetElementsByTagName("note21706").Item(0).SelectNodes("value").Count > 0) + { + Note21706 = xmlDoc.DocumentElement.GetElementsByTagName("note21706").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractorContCustom(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime, Note21706); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditSubcontractorContRet; + + } + + [WebMethod(Description = "Delete Subcontractor Contactor By Specified SubcontractorNo and ContactorName")] + public string DelSubcontractorCont(string InXml) + { + string DelSubcontractorContRet = default(string); + + var SubcontractorNo = default(string); + string ContactorName = defString; // 沒有傳入表示要刪除指定Subcontractor的所有Contactor + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + objENT.DelSubcontractorCont(SubcontractorNo, ContactorName); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorContRet; + + } + + + #endregion + + #region "21706" + [WebMethod(Description = "Load Subcontractor Data")] + public string LoadTestData21706(string InXml) + { + string LoadSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objTest21706.LoadTestData21706(SubcontractorNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorRet; + + } + + [WebMethod(Description = "Add Subcontractor data")] + public string AddTestData21706(string InXml) + { + string AddSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objTest21706.AddTestData21706(SubcontractorNo, SubcontractorName, Description, Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data")] + public string EditTestData21706(string InXml) + { + string EditSubcontractorRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objTest21706.EditTestData21706(SubcontractorNo, SubcontractorName, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] + public string DelTestData21706(string InXml) + { + string DelSubcontractorRet = default(string); + + var SubcontractorNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objTest21706.DelTestData21706(SubcontractorNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + //objENT.SetTestDataBasis_21706IssueState(SubcontractorNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objTest21706.DelTestData21706(SubcontractorNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorRet; + + } + + [WebMethod(Description = "Approve Specified Subcontractor Data")] + public string ApproveTestData21706(string InXml) + { + string ApproveSubcontractorRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var SubcontractorNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objTest21706.SetTestData21706IssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objTest21706.SetTestData21706IssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTSubcontractor Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTSubcontractor Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "SubcontractorNo: " + SubcontractorNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objTest21706.SetTestData21706IssueState(SubcontractorNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveSubcontractorRet; + + } + #endregion + + } +} diff --git a/SRC/wsSXS/wsSXS.csproj b/SRC/wsSXS/wsSXS.csproj index 1c0f518..5086d6d 100644 --- a/SRC/wsSXS/wsSXS.csproj +++ b/SRC/wsSXS/wsSXS.csproj @@ -145,6 +145,7 @@ Settings.settings True + From a6c36d080d59bb6c3b757987cb52e74fd23d198c Mon Sep 17 00:00:00 2001 From: ansmycode <3312308240@qq.com> Date: Wed, 17 Jan 2024 16:32:07 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E5=AE=9E=E4=B9=A0=E7=94=9F=E9=BB=84?= =?UTF-8?q?=E6=A2=93=E8=88=AA=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ET_Subcontractor.vbproj.vspscc | 10 + .../ET_Subcontractor21687.sln | 31 + .../ET_Subcontractor21687.vbproj | 194 ++ .../ET_Subcontractor21687.vbproj.user | 6 + .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../My Project/Resources.Designer.vb | 63 + .../My Project/Resources.resx | 117 + .../My Project/Settings.Designer.vb | 73 + .../My Project/Settings.settings | 7 + .../My Project/licenses.licx | 7 + .../frmTestData21687.resx | 120 + .../ET_Subcontractor21687/frmTestData21687.vb | 1129 +++++++++ .../frmTestData21687ContDef.resx | 120 + .../frmTestData21687ContDef.vb | 656 +++++ .../frmTestData21687Def.resx | 120 + .../frmTestData21687Def.vb | 421 ++++ .../SYS2/ET_Subcontractor21687/iMES.snk | Bin 0 -> 596 bytes .../SYS2/SYSENT21687/ET_Subcontractor.sln | 39 + .../SYS2/SYSENT21687/ET_Subcontractor.vbproj | 194 ++ .../SYSENT21687/ET_Subcontractor.vbproj.user | 6 + .../ET_Subcontractor.vbproj.vspscc | 10 + .../My Project/Application.Designer.vb | 13 + .../SYSENT21687/My Project/Application.myapp | 10 + .../SYSENT21687/My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../My Project/Resources.Designer.vb | 63 + .../SYSENT21687/My Project/Resources.resx | 117 + .../My Project/Settings.Designer.vb | 73 + .../SYSENT21687/My Project/Settings.settings | 7 + .../SYS2/SYSENT21687/My Project/licenses.licx | 7 + .../SYS2/SYSENT21687/frmSubcontractor.resx | 120 + .../SYS2/SYSENT21687/frmSubcontractor.vb | 1129 +++++++++ .../SYSENT21687/frmSubcontractorContDef.resx | 120 + .../SYSENT21687/frmSubcontractorContDef.vb | 784 ++++++ .../SYS2/SYSENT21687/frmSubcontractorDef.resx | 120 + .../SYS2/SYSENT21687/frmSubcontractorDef.vb | 458 ++++ SRC/MESWin/SYS2/SYSENT21687/iMES.snk | Bin 0 -> 596 bytes SRC/MEStc_SXS/MEStc_SXS.csproj | 1 + SRC/MEStc_SXS687/MEStc_ABC.csproj.vspscc | 10 + SRC/MEStc_SXS687/MEStc_SXS.csproj | 130 + SRC/MEStc_SXS687/MEStc_SXS.sln | 25 + SRC/MEStc_SXS687/Properties/AssemblyInfo.cs | 32 + .../Properties/BuildIncrementVersionInfo.cs | 1 + SRC/MEStc_SXS687/tcENT/clsENT.cs | 966 ++++++++ SRC/MEStc_SXS687/tcWIP/clsLot.cs | 337 +++ SRC/wsSXS/wsSXS.csproj | 1 + SRC/wsSXS/wxENT21687/wsENT687.cs | 2125 +++++++++++++++++ .../My Project/Application.Designer.cs | 11 + SRC/wsSXS687/My Project/Application.myapp | 10 + SRC/wsSXS687/My Project/Settings.Designer.cs | 26 + SRC/wsSXS687/My Project/Settings.settings | 7 + SRC/wsSXS687/Properties/AssemblyInfo.cs | 32 + .../Properties/BuildIncrementVersionInfo.cs | 1 + SRC/wsSXS687/Resources.Designer.cs | 63 + SRC/wsSXS687/Resources.resx | 117 + SRC/wsSXS687/wsABC.csproj.vspscc | 10 + SRC/wsSXS687/wsSXS.csproj | 180 ++ SRC/wsSXS687/wsSXS.csproj.user | 6 + SRC/wsSXS687/wsSXS.sln | 25 + SRC/wsSXS687/wsWIP/wsWIP.cs | 131 + SRC/wsSXS687/wxENT/wsENT.cs | 1099 +++++++++ 64 files changed, 11785 insertions(+) create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor21687.sln create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor21687.vbproj create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor21687.vbproj.user create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687.resx create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687ContDef.resx create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687ContDef.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687Def.resx create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687Def.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21687/iMES.snk create mode 100644 SRC/MESWin/SYS2/SYSENT21687/ET_Subcontractor.sln create mode 100644 SRC/MESWin/SYS2/SYSENT21687/ET_Subcontractor.vbproj create mode 100644 SRC/MESWin/SYS2/SYSENT21687/ET_Subcontractor.vbproj.user create mode 100644 SRC/MESWin/SYS2/SYSENT21687/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS2/SYSENT21687/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS2/SYSENT21687/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS2/SYSENT21687/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS2/SYSENT21687/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS2/SYSENT21687/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS2/SYSENT21687/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS2/SYSENT21687/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS2/SYSENT21687/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS2/SYSENT21687/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS2/SYSENT21687/frmSubcontractor.resx create mode 100644 SRC/MESWin/SYS2/SYSENT21687/frmSubcontractor.vb create mode 100644 SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorContDef.resx create mode 100644 SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorContDef.vb create mode 100644 SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorDef.resx create mode 100644 SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorDef.vb create mode 100644 SRC/MESWin/SYS2/SYSENT21687/iMES.snk create mode 100644 SRC/MEStc_SXS687/MEStc_ABC.csproj.vspscc create mode 100644 SRC/MEStc_SXS687/MEStc_SXS.csproj create mode 100644 SRC/MEStc_SXS687/MEStc_SXS.sln create mode 100644 SRC/MEStc_SXS687/Properties/AssemblyInfo.cs create mode 100644 SRC/MEStc_SXS687/Properties/BuildIncrementVersionInfo.cs create mode 100644 SRC/MEStc_SXS687/tcENT/clsENT.cs create mode 100644 SRC/MEStc_SXS687/tcWIP/clsLot.cs create mode 100644 SRC/wsSXS/wxENT21687/wsENT687.cs create mode 100644 SRC/wsSXS687/My Project/Application.Designer.cs create mode 100644 SRC/wsSXS687/My Project/Application.myapp create mode 100644 SRC/wsSXS687/My Project/Settings.Designer.cs create mode 100644 SRC/wsSXS687/My Project/Settings.settings create mode 100644 SRC/wsSXS687/Properties/AssemblyInfo.cs create mode 100644 SRC/wsSXS687/Properties/BuildIncrementVersionInfo.cs create mode 100644 SRC/wsSXS687/Resources.Designer.cs create mode 100644 SRC/wsSXS687/Resources.resx create mode 100644 SRC/wsSXS687/wsABC.csproj.vspscc create mode 100644 SRC/wsSXS687/wsSXS.csproj create mode 100644 SRC/wsSXS687/wsSXS.csproj.user create mode 100644 SRC/wsSXS687/wsSXS.sln create mode 100644 SRC/wsSXS687/wsWIP/wsWIP.cs create mode 100644 SRC/wsSXS687/wxENT/wsENT.cs diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor21687.sln b/SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor21687.sln new file mode 100644 index 0000000..6f613b4 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor21687.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.34407.143 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_Subcontractor21687", "ET_Subcontractor21687.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test", "..\..\Test\Test.vbproj", "{C4A48E3F-38E4-4E88-A47D-FA5510686E57}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.ActiveCfg = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.Build.0 = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.ActiveCfg = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B09F4D2D-D692-4EAA-BEC6-B7042FC26D72} + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor21687.vbproj b/SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor21687.vbproj new file mode 100644 index 0000000..a7f7d4f --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor21687.vbproj @@ -0,0 +1,194 @@ + + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_Subcontractor21687hzh + ET_Subcontractor21687hzh + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_Subcontractor21687hzh.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_Subcontractor21687hzh.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmTestData21687.vb + + + frmTestData21687ContDef.vb + + + frmTestData21687Def.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor21687.vbproj.user b/SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor21687.vbproj.user new file mode 100644 index 0000000..fd8a1cf --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/ET_Subcontractor21687.vbproj.user @@ -0,0 +1,6 @@ + + + + E:\dinghua\down\607.4\MESsc\SClientSource\ + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Application.Designer.vb b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Application.myapp b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Resources.Designer.vb b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Resources.Designer.vb new file mode 100644 index 0000000..44aa849 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor21687hzh.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Resources.resx b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Settings.Designer.vb b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Settings.Designer.vb new file mode 100644 index 0000000..4a093e8 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_Subcontractor21687hzh.My.MySettings + Get + Return Global.ET_Subcontractor21687hzh.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Settings.settings b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/licenses.licx b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687.resx b/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687.vb b/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687.vb new file mode 100644 index 0000000..3fadfc4 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687.vb @@ -0,0 +1,1129 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmTestData21687 + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmTestData21687Def + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmTestData21687Def + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SYS.wsENT687.DelTestDataBasis_21687", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmTestData21687Def + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SYS.wsENT687.ApproveTestDataBasis_21687", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmTestData21687ContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestData21687ContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT687.DelTestDataBasis_21687Cont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmTestData21687ContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT687.LoadTestDataBasis_21687", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT687.LoadTestDataBasis_21687Cont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687ContDef.resx b/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687ContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687ContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687ContDef.vb b/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687ContDef.vb new file mode 100644 index 0000000..93a00c3 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687ContDef.vb @@ -0,0 +1,656 @@ +Imports iMESExceptionManager + +Public Class frmTestData21687ContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 306) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 22) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 22) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 22) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 121) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 22) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 22) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT687.AddTestDataBasis_21687Cont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT687.EditTestDataBasis_21687Cont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub +End Class + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687Def.resx b/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687Def.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687Def.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687Def.vb b/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687Def.vb new file mode 100644 index 0000000..7e42048 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21687/frmTestData21687Def.vb @@ -0,0 +1,421 @@ +Imports iMESExceptionManager + +Public Class frmTestData21687Def + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 185) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 264) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 264) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 264) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 169) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance1 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 22) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance2 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 22) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 309) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT687.AddTestDataBasis_21687", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT687.EditTestDataBasis_21687", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21687/iMES.snk b/SRC/MESWin/SYS2/ET_Subcontractor21687/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_Subcontractor_21687 + ET_Subcontractor_21687 + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_Subcontractor_21687.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_Subcontractor_21687.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmSubcontractor.vb + + + frmSubcontractorContDef.vb + + + frmSubcontractorDef.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/SYSENT21687/ET_Subcontractor.vbproj.user b/SRC/MESWin/SYS2/SYSENT21687/ET_Subcontractor.vbproj.user new file mode 100644 index 0000000..fd8a1cf --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/ET_Subcontractor.vbproj.user @@ -0,0 +1,6 @@ + + + + E:\dinghua\down\607.4\MESsc\SClientSource\ + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/SYSENT21687/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/SYS2/SYSENT21687/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS2/SYSENT21687/My Project/Application.Designer.vb b/SRC/MESWin/SYS2/SYSENT21687/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS2/SYSENT21687/My Project/Application.myapp b/SRC/MESWin/SYS2/SYSENT21687/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS2/SYSENT21687/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS2/SYSENT21687/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS2/SYSENT21687/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS2/SYSENT21687/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS2/SYSENT21687/My Project/Resources.Designer.vb b/SRC/MESWin/SYS2/SYSENT21687/My Project/Resources.Designer.vb new file mode 100644 index 0000000..0d901b2 --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor_21687.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS2/SYSENT21687/My Project/Resources.resx b/SRC/MESWin/SYS2/SYSENT21687/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/SYSENT21687/My Project/Settings.Designer.vb b/SRC/MESWin/SYS2/SYSENT21687/My Project/Settings.Designer.vb new file mode 100644 index 0000000..6e6d67c --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_Subcontractor_21687.My.MySettings + Get + Return Global.ET_Subcontractor_21687.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS2/SYSENT21687/My Project/Settings.settings b/SRC/MESWin/SYS2/SYSENT21687/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS2/SYSENT21687/My Project/licenses.licx b/SRC/MESWin/SYS2/SYSENT21687/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractor.resx b/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractor.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractor.vb b/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractor.vb new file mode 100644 index 0000000..4b8fcdd --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractor.vb @@ -0,0 +1,1129 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmSubcontractor + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmSubcontractorDef + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS687.wsENT.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS687.wsENT.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmSubcontractorContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS687.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS687.wsENT.LoadSubcontractor", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS687.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorContDef.resx b/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorContDef.vb b/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorContDef.vb new file mode 100644 index 0000000..9f4f65b --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorContDef.vb @@ -0,0 +1,784 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Friend WithEvents gbxBasisData As Infragistics.Win.Misc.UltraGroupBox + Friend WithEvents txtReviseDate As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtReviser As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents lblReviseDate As Infragistics.Win.Misc.UltraLabel + Friend WithEvents lblReviser As Infragistics.Win.Misc.UltraLabel + Friend WithEvents txtCreateDate As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtCreator As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents lblCreateDate As Infragistics.Win.Misc.UltraLabel + Friend WithEvents lblCreator As Infragistics.Win.Misc.UltraLabel + Friend WithEvents btnApply As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnConfirm As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance3 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance4 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance5 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.txtReviseDate = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtReviser = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblReviseDate = New Infragistics.Win.Misc.UltraLabel() + Me.lblReviser = New Infragistics.Win.Misc.UltraLabel() + Me.txtCreateDate = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtCreator = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblCreateDate = New Infragistics.Win.Misc.UltraLabel() + Me.lblCreator = New Infragistics.Win.Misc.UltraLabel() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtReviseDate, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtReviser, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtCreateDate, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtCreator, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(395, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(207, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(301, 401) + ' + 'txtReviseDate + ' + Me.txtReviseDate.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txtReviseDate.Location = New System.Drawing.Point(327, 39) + Me.txtReviseDate.Margin = New System.Windows.Forms.Padding(3, 5, 3, 5) + Me.txtReviseDate.Name = "txtReviseDate" + Me.txtReviseDate.ReadOnly = True + Me.txtReviseDate.Size = New System.Drawing.Size(140, 21) + Me.txtReviseDate.TabIndex = 31 + ' + 'txtReviser + ' + Me.txtReviser.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txtReviser.Location = New System.Drawing.Point(100, 39) + Me.txtReviser.Margin = New System.Windows.Forms.Padding(3, 5, 3, 5) + Me.txtReviser.Name = "txtReviser" + Me.txtReviser.ReadOnly = True + Me.txtReviser.Size = New System.Drawing.Size(140, 21) + Me.txtReviser.TabIndex = 29 + ' + 'lblReviseDate + ' + Me.lblReviseDate.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Appearance1.TextHAlignAsString = "Right" + Appearance1.TextVAlignAsString = "Middle" + Me.lblReviseDate.Appearance = Appearance1 + Me.lblReviseDate.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblReviseDate.Location = New System.Drawing.Point(246, 40) + Me.lblReviseDate.Margin = New System.Windows.Forms.Padding(3, 5, 3, 5) + Me.lblReviseDate.Name = "lblReviseDate" + Me.lblReviseDate.Size = New System.Drawing.Size(75, 22) + Me.lblReviseDate.TabIndex = 30 + Me.lblReviseDate.Text = "Revise Date" + ' + 'lblReviser + ' + Me.lblReviser.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Appearance2.TextHAlignAsString = "Right" + Appearance2.TextVAlignAsString = "Middle" + Me.lblReviser.Appearance = Appearance2 + Me.lblReviser.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblReviser.Location = New System.Drawing.Point(19, 40) + Me.lblReviser.Margin = New System.Windows.Forms.Padding(3, 5, 3, 5) + Me.lblReviser.Name = "lblReviser" + Me.lblReviser.Size = New System.Drawing.Size(75, 22) + Me.lblReviser.TabIndex = 28 + Me.lblReviser.Text = "Reviser" + ' + 'txtCreateDate + ' + Me.txtCreateDate.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txtCreateDate.Location = New System.Drawing.Point(327, 7) + Me.txtCreateDate.Margin = New System.Windows.Forms.Padding(3, 5, 3, 5) + Me.txtCreateDate.Name = "txtCreateDate" + Me.txtCreateDate.ReadOnly = True + Me.txtCreateDate.Size = New System.Drawing.Size(140, 21) + Me.txtCreateDate.TabIndex = 27 + ' + 'txtCreator + ' + Me.txtCreator.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txtCreator.Location = New System.Drawing.Point(100, 7) + Me.txtCreator.Margin = New System.Windows.Forms.Padding(3, 5, 3, 5) + Me.txtCreator.Name = "txtCreator" + Me.txtCreator.ReadOnly = True + Me.txtCreator.Size = New System.Drawing.Size(140, 21) + Me.txtCreator.TabIndex = 25 + ' + 'lblCreateDate + ' + Me.lblCreateDate.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Appearance3.TextHAlignAsString = "Right" + Appearance3.TextVAlignAsString = "Middle" + Me.lblCreateDate.Appearance = Appearance3 + Me.lblCreateDate.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblCreateDate.Location = New System.Drawing.Point(246, 8) + Me.lblCreateDate.Margin = New System.Windows.Forms.Padding(3, 5, 3, 5) + Me.lblCreateDate.Name = "lblCreateDate" + Me.lblCreateDate.Size = New System.Drawing.Size(75, 22) + Me.lblCreateDate.TabIndex = 26 + Me.lblCreateDate.Text = "Create Date" + ' + 'lblCreator + ' + Me.lblCreator.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Appearance4.TextHAlignAsString = "Right" + Appearance4.TextVAlignAsString = "Middle" + Me.lblCreator.Appearance = Appearance4 + Me.lblCreator.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblCreator.Location = New System.Drawing.Point(19, 8) + Me.lblCreator.Margin = New System.Windows.Forms.Padding(3, 5, 3, 5) + Me.lblCreator.Name = "lblCreator" + Me.lblCreator.Size = New System.Drawing.Size(75, 22) + Me.lblCreator.TabIndex = 24 + Me.lblCreator.Text = "Creator" + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 306) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 22) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 22) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 22) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 121) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 22) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance5.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance5 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 22) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtReviseDate, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtReviser, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtCreateDate, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtCreator, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS687.wsENT.AddSubcontractorCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS687.wsENT.EditSubcontractorCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub +End Class + diff --git a/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorDef.resx b/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorDef.vb b/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorDef.vb new file mode 100644 index 0000000..87fdf9f --- /dev/null +++ b/SRC/MESWin/SYS2/SYSENT21687/frmSubcontractorDef.vb @@ -0,0 +1,458 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Friend WithEvents Label1 As Label + + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents txtbox As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.txtbox = New System.Windows.Forms.RichTextBox() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 323) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 402) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 402) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 402) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.Label1) + Me.gbxSubcontractorData.Controls.Add(Me.txtbox) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 307) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'Label1 + ' + Me.Label1.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label1.Location = New System.Drawing.Point(58, 162) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(64, 14) + Me.Label1.TabIndex = 15 + Me.Label1.Text = "testTXT" + Me.Label1.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtbox + ' + Me.txtbox.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtbox.Location = New System.Drawing.Point(128, 159) + Me.txtbox.Name = "txtbox" + Me.txtbox.Size = New System.Drawing.Size(334, 67) + Me.txtbox.TabIndex = 14 + Me.txtbox.Text = "" + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance1 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 26) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance2 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 26) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 447) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + txtbox.Text = EditDataRow.Item("Test21687").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConfirm.Click + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtbox_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter, txtbox.Enter + txtbox.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + strParameter = strParameter & CombineXMLParameter("test21687", "Test21687", "String", CInput(txtbox.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("SXS687.wsENT.AddSubcontractor", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("SXS687.wsENT.EditSubcontractor", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + + Private Sub txtbox_TextChanged(sender As Object, e As EventArgs) Handles txtbox.TextChanged + btnApplyEnabled = True + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS2/SYSENT21687/iMES.snk b/SRC/MESWin/SYS2/SYSENT21687/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) + diff --git a/SRC/MEStc_SXS687/MEStc_ABC.csproj.vspscc b/SRC/MEStc_SXS687/MEStc_ABC.csproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MEStc_SXS687/MEStc_ABC.csproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MEStc_SXS687/MEStc_SXS.csproj b/SRC/MEStc_SXS687/MEStc_SXS.csproj new file mode 100644 index 0000000..871ed0c --- /dev/null +++ b/SRC/MEStc_SXS687/MEStc_SXS.csproj @@ -0,0 +1,130 @@ + + + + Debug + AnyCPU + + + + + {8CC8664F-C718-0888-187B-600F20E362E0} + Library + MEStc_SXS687 + MEStc_SXS687 + 512 + Windows + v4.6.2 + SAK + SAK + SAK + SAK + + $(DefaultItemExcludes);$(ProjectDir)**\*.vb + + + true + full + true + true + ..\MES_S_DLL\ + ..\MES_S_DLL\MEStc_SXS687.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + 0 + false + + + pdbonly + false + true + true + bin\Release\ + bin\Release\ + + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + 0 + false + + + On + + + Binary + + + Off + + + On + + + + + False + ..\MES_S_DLL\data_access_service.dll + False + + + False + ..\MES_S_DLL\iMESAppSetting.dll + False + + + False + ..\MES_S_DLL\iMESComSubroutine.dll + False + + + False + ..\MES_S_DLL\iMESComXML.dll + False + + + False + ..\MES_S_DLL\iMESConst.dll + False + + + ..\..\MESSeries_2016\MES_S_DLL\iMESException.dll + False + + + False + ..\MES_S_DLL\iMESLog.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SRC/MEStc_SXS687/MEStc_SXS.sln b/SRC/MEStc_SXS687/MEStc_SXS.sln new file mode 100644 index 0000000..22ddfea --- /dev/null +++ b/SRC/MEStc_SXS687/MEStc_SXS.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32630.194 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MEStc_SXS", "MEStc_SXS.csproj", "{8CC8664F-C718-0888-187B-600F20E362E0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8CC8664F-C718-0888-187B-600F20E362E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8CC8664F-C718-0888-187B-600F20E362E0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8CC8664F-C718-0888-187B-600F20E362E0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8CC8664F-C718-0888-187B-600F20E362E0}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {20814751-26E2-4F61-9643-BFEDC7384E35} + EndGlobalSection +EndGlobal diff --git a/SRC/MEStc_SXS687/Properties/AssemblyInfo.cs b/SRC/MEStc_SXS687/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..e2bf75b --- /dev/null +++ b/SRC/MEStc_SXS687/Properties/AssemblyInfo.cs @@ -0,0 +1,32 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 組件的一般資訊是由下列的屬性集控制。 +// 變更這些屬性的值即可修改組件的相關 +// 資訊。 +[assembly: AssemblyTitle("MEStc_ABC.Properties")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("iMES Technology Inc.")] +[assembly: AssemblyProduct("MESSeries 6")] +[assembly: AssemblyCopyright("Copyright iMES Technology Inc.")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 將 ComVisible 設定為 false 會使得這個組件中的類型 +// 對 COM 元件而言為不可見。如果您需要從 COM 存取這個組件中 +// 的類型,請在該類型上將 ComVisible 屬性設定為 true。 +[assembly: ComVisible(false)] + +// 下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID +[assembly: Guid("00eb00ee-1246-48cf-a0bf-f5203de255f1")] + +// 組件的版本資訊由下列四個值所組成: +// +// 主要版本 +// 次要版本 +// 組建編號 +// 修訂編號 +// +[assembly: AssemblyVersion("6.0.0.0")] diff --git a/SRC/MEStc_SXS687/Properties/BuildIncrementVersionInfo.cs b/SRC/MEStc_SXS687/Properties/BuildIncrementVersionInfo.cs new file mode 100644 index 0000000..8c4e437 --- /dev/null +++ b/SRC/MEStc_SXS687/Properties/BuildIncrementVersionInfo.cs @@ -0,0 +1 @@ +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/MEStc_SXS687/tcENT/clsENT.cs b/SRC/MEStc_SXS687/tcENT/clsENT.cs new file mode 100644 index 0000000..890bd5c --- /dev/null +++ b/SRC/MEStc_SXS687/tcENT/clsENT.cs @@ -0,0 +1,966 @@ +using iMESCore.Settings; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +namespace MEStc_SXS687 +{ + public class clsENT : IDisposable + { + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + private string strSQLAddField; + private string strSQLAddValue; + + #region --- Initial Object --- + + public clsENT() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + #region --- Subcontractor 外包商 --- + + + public string AddSubcontractor(string SubcontractorNo, string SubcontractorName, string Description = defString, string Test21687 = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into tblENTBasis_21687 (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Test21687 ?? "") != defString) + { + strSQLAddField += ",Test21687"; + strSQLAddValue += ",'" + Test21687 + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + + public string EditSubcontractor(string SubcontractorNo, string SubcontractorName = defString, string Description = defString,string Test21687 = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTBasis_21687 Set "; + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + if ((Test21687 ?? "") != defString) + { + strSQL += "Test21687 = '" + Test21687 + "',"; + } + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "") + { + string DelSubcontractorRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + strSQL = "Delete From tblENTDetail_21687 " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From tblENTBasis_21687 " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelSubcontractorRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + + return DelSubcontractorRet; + + } + + public string LoadSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadSubcontractorRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTBasis_21687 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTBasis_21687", cnnTemp); + + // //Combine return value + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTBasis_21687", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorRet; + + } + + public DataSet ShowSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowSubcontractorRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTBasis_21687 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTBasis_21687", cnnTemp); + + // //Return data + ShowSubcontractorRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorRet; + + } + + public DataRow GetSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetSubcontractorRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTBasis_21687 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTBasis_21687", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorRet = null; + throw; + } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorRet; + + } + public string SetSubcontractorIssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetSubcontractorIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTBasis_21687 Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetSubcontractorIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetSubcontractorIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + + return SetSubcontractorIssueStateRet; + + } + + + public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddSubcontractorContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTDetail_21687 (SubcontractorNo, ContactorName"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + + + public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTDetail_21687 Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + + public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") + { + string DelSubcontractorContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From tblENTDetail_21687 " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractorCont: " & e1.Message) + + return DelSubcontractorContRet; + + } + + public string LoadSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + string LoadSubcontractorContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTDetail_21687 Where SubcontractorNo Is Not Null"; + + // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTDetail_21687", cnnTemp); + + // //Combine return value + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTDetail_21687", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorContRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorContRet; + + } + + public DataSet ShowSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataSet ShowSubcontractorContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTDetail_21687 Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTDetail_21687", cnnTemp); + + // //Return data + ShowSubcontractorContRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorContRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorContRet; + + } + + public DataRow GetSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataRow GetSubcontractorContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTDetail_21687 Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTDetail_21687", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorContRet = null; + throw; + } // New Exception("kcENT.GetSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorContRet; + + } + + + + #endregion + } +} diff --git a/SRC/MEStc_SXS687/tcWIP/clsLot.cs b/SRC/MEStc_SXS687/tcWIP/clsLot.cs new file mode 100644 index 0000000..57d1278 --- /dev/null +++ b/SRC/MEStc_SXS687/tcWIP/clsLot.cs @@ -0,0 +1,337 @@ +using System; +using System.Data; +using System.Data.Common; +using Microsoft.VisualBasic; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +using iMESCore.Settings; + +namespace MEStc_SXS +{ + + + public class clsLot : IDisposable + { + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + + #region --- Initial Object --- + + public clsLot() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + + public string LoadOPType(string OPType = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadOPTypeRet = null; + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + + DataSet dsOP = null; + + try + { + + dsOP = ShowOPType(OPType, IssueState, AdditionalXml); + + // //Combine return value + LoadOPTypeRet = CombineXMLReturnValue("loadoptype", "OPType", "DataSet", FormatXMLSchema(dsOP.GetXmlSchema()), dsOP.GetXml(), ""); + } + + catch (Exception e1) + { + LoadOPTypeRet = "fail"; + throw; + } // New Exception("kcOP.LoadOPType: " & e1.Message) + + finally + { + if (dsOP != null) + { + dsOP.Dispose(); + } + } + + return LoadOPTypeRet; + + } + + public DataSet ShowOPType(string OPType = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowOPTypeRet = null; + + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + DataSet dsOP = null; + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblOPType Where OPType Is Not Null"; + if (OPType != defString) + { + strSQL = strSQL + " And OPType = '" + OPType + "'"; + } + if (IssueState != defInteger) + { + strSQL = strSQL + " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL = strSQL + SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsOP = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsOP, "OPType", cnnTemp); + + // //Return data + ShowOPTypeRet = dsOP; + } + + catch (Exception e1) + { + ShowOPTypeRet = null; + throw; + } + + finally + { + CloseConnection(cnnTemp); + if (dsOP != null) + { + dsOP.Dispose(); + } + } + + return ShowOPTypeRet; + } + + public DataRow GetOPType(string OPType = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetOPTypeRet = null; + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + + DataSet dsOP = null; + + try + { + + dsOP = ShowOPType(OPType, IssueState, AdditionalXml); + + // //Return data + if (dsOP.Tables[0].Rows.Count > 0) + { + GetOPTypeRet = dsOP.Tables[0].Rows[0]; + } + else + { + GetOPTypeRet = dsOP.Tables[0].NewRow(); + } + } + + catch (Exception e1) + { + GetOPTypeRet = null; + throw; + } // New Exception("kcOP.LoadOPType: " & e1.Message) + + finally + { + if (dsOP != null) + { + dsOP.Dispose(); + } + } + + return GetOPTypeRet; + + } + + public string BR_CheckIn(long LotStamp, string LotNo, string LinkName, DataTable dtAttrib, DataTable dtEquipment, string UserNo, string ShiftNo, + string LotRecord = defString, DateTime CheckInTime = default(DateTime), string RuleNo = "", DataTable dtLoginState = null, DataTable dtAccessory = null, + DataTable dtMTLLot = null, string LanguageMode = defString) + { + string BR_CheckInRet = default(string); + // 此 Function 將更新CheckIn Data + // 傳入值: LotNo,dtAttrib,dtEquipment + // 傳回值: success(成功), fail(失敗) + + IDbConnection cnnTemp = null; + DbDataReader drTemp; + var CollectionSQL = new Collection(); + var CollectionSQL_Rows = new Collection(); + string strSQL = ""; + + string LotSerial, OPNo, BRNo, SerialNo, LogGroupSerial, BaseLotNo, CurQTY; + int PhaseNo; + DateTime datEventTime; + long lngLotStamp; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + // 1.取出Temp LotState的資料 + strSQL = "Select A.LotSerial,A.OPNo,A.SerialNo,B.BRNo,B.LogGroupSerial,B.LotStamp,B.BaseLotNo,B.CurQTY,B.PhaseNo " + + " From tblWIPTemp_LotState A, tblWIPLotState B " + " Where A.LotNo ='" + LotNo + "'" + " And A.LotNo = B.LotNo "; + // cmmTemp = New OleDb.OleDbCommand(strSQL, cnnTemp) + drTemp = ExecuteSQLQuery_Reader(strSQL, cnnTemp); + if (drTemp.Read()) + { + LotSerial = drTemp["LotSerial"].ToString(); + OPNo = drTemp["OPNo"].ToString(); + SerialNo = drTemp["SerialNo"].ToString(); + BRNo = drTemp["BRNo"].ToString(); + LogGroupSerial = drTemp["LogGroupSerial"].ToString(); + lngLotStamp = Convert.ToInt64(drTemp["LotStamp"]); + BaseLotNo = drTemp["BaseLotNo"].ToString(); + CurQTY = drTemp["CurQTY"].ToString(); + PhaseNo = Convert.ToInt32(drTemp["PhaseNo"]); // 2020/11/20 Steven Mantis: 0082084: [PAD]eRunCard_調整 BR 生產記錄 + } + else + { + throw new iMESException.MESException("0000-202003", "[%LotNo%] : " + LotNo); + } + drTemp.Close(); + + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_ChkRowCount(strDataBaseType, strConnectionString, CollectionSQL, CollectionSQL_Rows); + + // //Return success + BR_CheckInRet = "success"; + } + + catch (Exception e1) + { + BR_CheckInRet = "fail"; + throw; + } + finally + { + CloseConnection(cnnTemp); + + } + return BR_CheckInRet; + + } + + + } +} \ No newline at end of file diff --git a/SRC/wsSXS/wsSXS.csproj b/SRC/wsSXS/wsSXS.csproj index 1c0f518..2869728 100644 --- a/SRC/wsSXS/wsSXS.csproj +++ b/SRC/wsSXS/wsSXS.csproj @@ -146,6 +146,7 @@ True + diff --git a/SRC/wsSXS/wxENT21687/wsENT687.cs b/SRC/wsSXS/wxENT21687/wsENT687.cs new file mode 100644 index 0000000..5099e0f --- /dev/null +++ b/SRC/wsSXS/wxENT21687/wsENT687.cs @@ -0,0 +1,2125 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System; +using System.Data; +using System.Web.Services; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.Base.iMESComSubroutine; +namespace wsSXS +{ + public class wsENT687 + { + private MEStc_SXS .clsENT687 objENT = new MEStc_SXS.clsENT687(); + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + //private kcBasis_UPD.clsBasis_UPD objBasis = new kcBasis_UPD.clsBasis_UPD(); //主檔優化 + //private kcBasis_Query.clsBasis_Query objQuery = new kcBasis_Query.clsBasis_Query(); //主檔優化 + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private string strResourceDir = "Resources"; + + public wsENT687() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + /* #region --- Subcontractor 外包商 --- + + [WebMethod(Description = "Load Subcontractor Data")] + public string LoadSubcontractor(string InXml) + { + string LoadSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractor(SubcontractorNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorRet; + + } + + [WebMethod(Description = "Add Subcontractor data")] + public string AddSubcontractor(string InXml) + { + string AddSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractor(SubcontractorNo, SubcontractorName, Description, Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data")] + public string EditSubcontractor(string InXml) + { + string EditSubcontractorRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractor(SubcontractorNo, SubcontractorName, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] + public string DelSubcontractor(string InXml) + { + string DelSubcontractorRet = default(string); + + var SubcontractorNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objENT.SetSubcontractorIssueState(SubcontractorNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorRet; + + } + + [WebMethod(Description = "Approve Specified Subcontractor Data")] + public string ApproveSubcontractor(string InXml) + { + string ApproveSubcontractorRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var SubcontractorNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTSubcontractor Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTSubcontractor Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "SubcontractorNo: " + SubcontractorNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objENT.SetSubcontractorIssueState(SubcontractorNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveSubcontractorRet; + + } + + // Subcontractor Contactor + [WebMethod(Description = "Load Subcontractor Contactor Data")] + public string LoadSubcontractorCont(string InXml) + { + string LoadSubcontractorContRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + string ContactorName = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入SubcontractorNo,若有,表示要依SubcontractorNo查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractorCont(SubcontractorNo, ContactorName); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorContRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorContRet; + + } + + [WebMethod(Description = "Add Subcontractor Contactor data")] + public string AddSubcontractorCont(string InXml) + { + string AddSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorContRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Contactor Data")] + public string EditSubcontractorCont(string InXml) + { + string EditSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditSubcontractorContRet; + + } + + [WebMethod(Description = "Delete Subcontractor Contactor By Specified SubcontractorNo and ContactorName")] + public string DelSubcontractorCont(string InXml) + { + string DelSubcontractorContRet = default(string); + + var SubcontractorNo = default(string); + string ContactorName = defString; // 沒有傳入表示要刪除指定Subcontractor的所有Contactor + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + objENT.DelSubcontractorCont(SubcontractorNo, ContactorName); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorContRet; + + } + + + #endregion*/ + + #region --- wsEN21687 --- + + [WebMethod(Description = "Load Subcontractor Data")] + public string LoadTestDataBasis_21687(string InXml) + { + string LoadSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objENT.LoadTestDataBasis_21687(SubcontractorNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorRet; + + } + + [WebMethod(Description = "Add Subcontractor data")] + public string AddTestDataBasis_21687(string InXml) + { + string AddSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddTestDataBasis_21687(SubcontractorNo, SubcontractorName, Description, Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data")] + public string EditTestDataBasis_21687(string InXml) + { + string EditSubcontractorRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditTestDataBasis_21687(SubcontractorNo, SubcontractorName, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] + public string DelTestDataBasis_21687(string InXml) + { + string DelSubcontractorRet = default(string); + + var SubcontractorNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objENT.DelTestDataBasis_21687(SubcontractorNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objENT.SetTestDataBasis_21687IssueState(SubcontractorNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objENT.DelTestDataBasis_21687(SubcontractorNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorRet; + + } + + [WebMethod(Description = "Approve Specified Subcontractor Data")] + public string ApproveTestDataBasis_21687(string InXml) + { + string ApproveSubcontractorRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var SubcontractorNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objENT.SetTestDataBasis_21687IssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objENT.SetTestDataBasis_21687IssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTSubcontractor Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTSubcontractor Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "SubcontractorNo: " + SubcontractorNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objENT.SetTestDataBasis_21687IssueState(SubcontractorNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveSubcontractorRet; + + } + + // Subcontractor Contactor + [WebMethod(Description = "Load Subcontractor Contactor Data")] + public string LoadTestDataBasis_21687Cont(string InXml) + { + string LoadSubcontractorContRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + string ContactorName = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入SubcontractorNo,若有,表示要依SubcontractorNo查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行 + strReturnValue = objENT.LoadTestDataBasis_21687Cont(SubcontractorNo, ContactorName); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorContRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorContRet; + + } + + [WebMethod(Description = "Add Subcontractor Contactor data")] + public string AddTestDataBasis_21687Cont(string InXml) + { + string AddSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddTestDataBasis_21687Cont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorContRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Contactor Data")] + public string EditTestDataBasis_21687Cont(string InXml) + { + string EditSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditTestDataBasis_21687Cont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditSubcontractorContRet; + + } + + [WebMethod(Description = "Delete Subcontractor Contactor By Specified SubcontractorNo and ContactorName")] + public string DelTestDataBasis_21687Cont(string InXml) + { + string DelSubcontractorContRet = default(string); + + var SubcontractorNo = default(string); + string ContactorName = defString; // 沒有傳入表示要刪除指定Subcontractor的所有Contactor + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + objENT.DelTestDataBasis_21687Cont(SubcontractorNo, ContactorName); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorContRet; + + } + + + #endregion + + } +} diff --git a/SRC/wsSXS687/My Project/Application.Designer.cs b/SRC/wsSXS687/My Project/Application.Designer.cs new file mode 100644 index 0000000..299bbe3 --- /dev/null +++ b/SRC/wsSXS687/My Project/Application.Designer.cs @@ -0,0 +1,11 @@ +// ------------------------------------------------------------------------------ +// +// 這段程式碼是由工具產生的。 +// 執行階段版本:4.0.30319.42000 +// +// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, +// 變更將會遺失。 +// +// ------------------------------------------------------------------------------ + + diff --git a/SRC/wsSXS687/My Project/Application.myapp b/SRC/wsSXS687/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/wsSXS687/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/wsSXS687/My Project/Settings.Designer.cs b/SRC/wsSXS687/My Project/Settings.Designer.cs new file mode 100644 index 0000000..10f0acd --- /dev/null +++ b/SRC/wsSXS687/My Project/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace wsABC.My { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/SRC/wsSXS687/My Project/Settings.settings b/SRC/wsSXS687/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/wsSXS687/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/wsSXS687/Properties/AssemblyInfo.cs b/SRC/wsSXS687/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7ead6a6 --- /dev/null +++ b/SRC/wsSXS687/Properties/AssemblyInfo.cs @@ -0,0 +1,32 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 組件的一般資訊是由下列的屬性集控制。 +// 變更這些屬性的值即可修改組件的相關 +// 資訊。 +[assembly: AssemblyTitle("wsABC.Properties")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("iMES Technology Inc.")] +[assembly: AssemblyProduct("MESSeries 6")] +[assembly: AssemblyCopyright("Copyright iMES Technology Inc.")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 將 ComVisible 設定為 false 會使得這個組件中的類型 +// 對 COM 元件而言為不可見。如果您需要從 COM 存取這個組件中 +// 的類型,請在該類型上將 ComVisible 屬性設定為 true。 +[assembly: ComVisible(false)] + +// 下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID +[assembly: Guid("ad05cadf-ff22-498b-a29e-df915118873d")] + +// 組件的版本資訊由下列四個值所組成: +// +// 主要版本 +// 次要版本 +// 組建編號 +// 修訂編號 +// +[assembly: AssemblyVersion("6.0.0.0")] diff --git a/SRC/wsSXS687/Properties/BuildIncrementVersionInfo.cs b/SRC/wsSXS687/Properties/BuildIncrementVersionInfo.cs new file mode 100644 index 0000000..8c4e437 --- /dev/null +++ b/SRC/wsSXS687/Properties/BuildIncrementVersionInfo.cs @@ -0,0 +1 @@ +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/wsSXS687/Resources.Designer.cs b/SRC/wsSXS687/Resources.Designer.cs new file mode 100644 index 0000000..36e6668 --- /dev/null +++ b/SRC/wsSXS687/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace wsABC.My.Resources { + using System; + + + /// + /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// 返回此类使用的缓存的 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("wsSXS687.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 重写当前线程的 CurrentUICulture 属性,对 + /// 使用此强类型资源类的所有资源查找执行重写。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/SRC/wsSXS687/Resources.resx b/SRC/wsSXS687/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/wsSXS687/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/wsSXS687/wsABC.csproj.vspscc b/SRC/wsSXS687/wsABC.csproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/wsSXS687/wsABC.csproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/wsSXS687/wsSXS.csproj b/SRC/wsSXS687/wsSXS.csproj new file mode 100644 index 0000000..f73e85d --- /dev/null +++ b/SRC/wsSXS687/wsSXS.csproj @@ -0,0 +1,180 @@ + + + + + Debug + AnyCPU + {881686CE-A940-0485-2766-D411835B2FBB} + Library + wsSXS687 + wsSXS687 + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + $(DefaultItemExcludes);$(ProjectDir)**\*.vb + + + true + full + true + true + ..\MES_S_DLL\ + ..\MES_S_DLL\wsSXS687.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + 0 + false + + + pdbonly + false + true + true + ..\..\MES_S_DLL\ + ..\..\MES_S_DLL\ + + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + 0 + false + + + On + + + Binary + + + Off + + + On + + + + False + ..\MES_S_DLL\kcISSUE.dll + + + False + ..\MES_S_DLL\MEStc_SXS687.dll + + + + False + ..\MES_S_DLL\iMESAppSetting.dll + False + + + False + ..\MES_S_DLL\iMESComSubroutine.dll + False + + + False + ..\MES_S_DLL\iMESComXML.dll + False + + + False + ..\MES_S_DLL\iMESConst.dll + False + + + ..\MES_S_DLL\iMESException.dll + False + + + False + ..\MES_S_DLL\iMESSCI.dll + False + + + ..\MES_S_DLL\kcSYS.dll + False + False + + + False + ..\MES_S_DLL\Newtonsoft.Json.dll + False + + + + + + + + + + + + + + + False + + + + + + + + + + + + + + + + True + Application.myapp + + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + wsABC.My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.cs + + + SettingsSingleFileGenerator + wsABC.My + Settings.Designer.cs + + + + + + + \ No newline at end of file diff --git a/SRC/wsSXS687/wsSXS.csproj.user b/SRC/wsSXS687/wsSXS.csproj.user new file mode 100644 index 0000000..3c48538 --- /dev/null +++ b/SRC/wsSXS687/wsSXS.csproj.user @@ -0,0 +1,6 @@ + + + + E:\code\SRC\MES_S_DLL\ + + \ No newline at end of file diff --git a/SRC/wsSXS687/wsSXS.sln b/SRC/wsSXS687/wsSXS.sln new file mode 100644 index 0000000..13847da --- /dev/null +++ b/SRC/wsSXS687/wsSXS.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32630.194 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "wsSXS", "wsSXS.csproj", "{881686CE-A940-0485-2766-D411835B2FBB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {881686CE-A940-0485-2766-D411835B2FBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {881686CE-A940-0485-2766-D411835B2FBB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {881686CE-A940-0485-2766-D411835B2FBB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {881686CE-A940-0485-2766-D411835B2FBB}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7B40A25F-A0CA-49E5-AB24-36F7949771DE} + EndGlobalSection +EndGlobal diff --git a/SRC/wsSXS687/wsWIP/wsWIP.cs b/SRC/wsSXS687/wsWIP/wsWIP.cs new file mode 100644 index 0000000..f8474ef --- /dev/null +++ b/SRC/wsSXS687/wsWIP/wsWIP.cs @@ -0,0 +1,131 @@ +using System; +using Microsoft.VisualBasic; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using iMESCore.Settings; + +namespace wsSXS +{ + + public class wsWIP + { + + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private string strServiceName = "wsWIP_SXS"; // ServiceName + private string strResourceDir = "Resources"; + + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + + public wsWIP() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + public string HelloWorld(string InXml) + { + return "HelloWorld"; + } + + + //public string LoadOPMaterialState(string InXml) + //{ + // string LoadOPMaterialStateRet = null; + + // // 先給預設值,以判斷是否有傳入該參數 + // string OPNo = defString; + // string MaterialNo = defString; + // string MaterialLotNo = defString; + // string UnitNo = defString; + // string MaterialType = defString; + + // ArriveTime = DateTime.Now; + + // try + // { + // // 讀取InXml字串 + // xmlDoc.LoadXml(InXml); + // // 組Identity字串 + // strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), ArriveTime.ToString(defDateTimeFormat)); + + // // 判斷是否有傳入OPNo,若有,表示要依OPNo查詢 + // if (xmlDoc.DocumentElement.GetElementsByTagName("opno").Count > 0) + // { + // if (xmlDoc.GetElementsByTagName("opno").Item(0).SelectNodes("value").Count > 0) + // { + // OPNo = xmlDoc.DocumentElement.GetElementsByTagName("opno").Item(0).SelectNodes("value").Item(0).InnerText; + // } + // } + // // 判斷是否有傳入MaterialNo,若有,表示要依MaterialNo查詢 + // if (xmlDoc.DocumentElement.GetElementsByTagName("materialno").Count > 0) + // { + // if (xmlDoc.GetElementsByTagName("materialno").Item(0).SelectNodes("value").Count > 0) + // { + // MaterialNo = xmlDoc.DocumentElement.GetElementsByTagName("materialno").Item(0).SelectNodes("value").Item(0).InnerText; + // } + // } + // // 判斷是否有傳入MaterialLotNo,若有,表示要依MaterialLotNo查詢 + // if (xmlDoc.DocumentElement.GetElementsByTagName("materiallotno").Count > 0) + // { + // if (xmlDoc.GetElementsByTagName("materiallotno").Item(0).SelectNodes("value").Count > 0) + // { + // MaterialLotNo = xmlDoc.DocumentElement.GetElementsByTagName("materiallotno").Item(0).SelectNodes("value").Item(0).InnerText; + // } + // } + // if (xmlDoc.DocumentElement.GetElementsByTagName("unitno").Count > 0) + // { + // if (xmlDoc.GetElementsByTagName("unitno").Item(0).SelectNodes("value").Count > 0) + // { + // UnitNo = xmlDoc.DocumentElement.GetElementsByTagName("unitno").Item(0).SelectNodes("value").Item(0).InnerText; + // } + // } + // if (xmlDoc.DocumentElement.GetElementsByTagName("materialtype").Count > 0) + // { + // if (xmlDoc.GetElementsByTagName("materialtype").Item(0).SelectNodes("value").Count > 0) + // { + // MaterialType = xmlDoc.DocumentElement.GetElementsByTagName("materialtype").Item(0).SelectNodes("value").Item(0).InnerText; + // } + // } + + // // 呼叫Dll執行 + // //strReturnValue = objWIP.LoadOPMaterialState(OPNo, MaterialNo, MaterialLotNo, UnitNo, MaterialType); + // strException = ""; + // strResult = "success"; + // } + + // catch (iMESException.MESException ex) + // { + // strReturnValue = ""; + // strException = CombineXMLException(ex.ErrorCode.ToString(), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Load OP Material State Fail!!", ex.StackTrace); + // strResult = "fail"; + // } + + // catch (Exception ex) + // { + // strReturnValue = ""; + // strException = CombineXMLException(defWSErrCode, ex.Message, "Load OP Material State Fail!!", ex.StackTrace); + // strResult = "fail"; + // } + + // finally + // { + // // 將各部份之XML字串組起來並傳出 + // LoadOPMaterialStateRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + // } + // return LoadOPMaterialStateRet; + + //} + } +} \ No newline at end of file diff --git a/SRC/wsSXS687/wxENT/wsENT.cs b/SRC/wsSXS687/wxENT/wsENT.cs new file mode 100644 index 0000000..de54f4e --- /dev/null +++ b/SRC/wsSXS687/wxENT/wsENT.cs @@ -0,0 +1,1099 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System; +using System.Data; +using System.Web.Services; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.Base.iMESComSubroutine; +namespace wsSXS687 +{ + public class wsENT + { + private MEStc_SXS687 .clsENT objENT = new MEStc_SXS687.clsENT(); + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + //private kcBasis_UPD.clsBasis_UPD objBasis = new kcBasis_UPD.clsBasis_UPD(); //主檔優化 + //private kcBasis_Query.clsBasis_Query objQuery = new kcBasis_Query.clsBasis_Query(); //主檔優化 + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private string strResourceDir = "Resources"; + + public wsENT() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + #region --- Subcontractor 外包商 --- + + [WebMethod(Description = "Load Subcontractor Data")] + public string LoadSubcontractor(string InXml) + { + string LoadSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractor(SubcontractorNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorRet; + + } + + [WebMethod(Description = "Add Subcontractor data")] + public string AddSubcontractor(string InXml) + { + string AddSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string Test21687 = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // test21687 + if (xmlDoc.DocumentElement.GetElementsByTagName("test21687").Count > 0) + { + if (xmlDoc.GetElementsByTagName("test21687").Item(0).SelectNodes("value").Count > 0) + { + Test21687 = xmlDoc.DocumentElement.GetElementsByTagName("test21687").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractor(SubcontractorNo, SubcontractorName, Description, Test21687,Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data")] + public string EditSubcontractor(string InXml) + { + string EditSubcontractorRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + string Test21687 = defString; + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // test21687 + if (xmlDoc.DocumentElement.GetElementsByTagName("test21687").Count > 0) + { + if (xmlDoc.GetElementsByTagName("test21687").Item(0).SelectNodes("value").Count > 0) + { + Test21687 = xmlDoc.DocumentElement.GetElementsByTagName("test21687").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractor(SubcontractorNo, SubcontractorName, Description,Test21687, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] + public string DelSubcontractor(string InXml) + { + string DelSubcontractorRet = default(string); + + var SubcontractorNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objENT.SetSubcontractorIssueState(SubcontractorNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorRet; + + } + + [WebMethod(Description = "Approve Specified Subcontractor Data")] + public string ApproveSubcontractor(string InXml) + { + string ApproveSubcontractorRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var SubcontractorNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTSubcontractor Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTSubcontractor Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "SubcontractorNo: " + SubcontractorNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objENT.SetSubcontractorIssueState(SubcontractorNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveSubcontractorRet; + + } + + // Subcontractor Contactor + [WebMethod(Description = "Load Subcontractor Contactor Data")] + public string LoadSubcontractorCont(string InXml) + { + string LoadSubcontractorContRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + string ContactorName = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入SubcontractorNo,若有,表示要依SubcontractorNo查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractorCont(SubcontractorNo, ContactorName); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorContRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorContRet; + + } + + [WebMethod(Description = "Add Subcontractor Contactor data")] + public string AddSubcontractorCont(string InXml) + { + string AddSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorContRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Contactor Data")] + public string EditSubcontractorCont(string InXml) + { + string EditSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditSubcontractorContRet; + + } + + [WebMethod(Description = "Delete Subcontractor Contactor By Specified SubcontractorNo and ContactorName")] + public string DelSubcontractorCont(string InXml) + { + string DelSubcontractorContRet = default(string); + + var SubcontractorNo = default(string); + string ContactorName = defString; // 沒有傳入表示要刪除指定Subcontractor的所有Contactor + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + objENT.DelSubcontractorCont(SubcontractorNo, ContactorName); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorContRet; + + } + + + #endregion + } +} From f5f65379fc47a5cfd692baeccef0af1c26f7a723 Mon Sep 17 00:00:00 2001 From: guojhb Date: Wed, 17 Jan 2024 16:35:18 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SRC/MEStc_SXS/tcENT/clsENT.cs | 393 +++++++++++++++++++++++++++++++--- SRC/wsSXS/wsSXS.csproj.user | 2 +- 2 files changed, 370 insertions(+), 25 deletions(-) diff --git a/SRC/MEStc_SXS/tcENT/clsENT.cs b/SRC/MEStc_SXS/tcENT/clsENT.cs index 2af6c9d..60e0890 100644 --- a/SRC/MEStc_SXS/tcENT/clsENT.cs +++ b/SRC/MEStc_SXS/tcENT/clsENT.cs @@ -13,7 +13,7 @@ using static iMESCore.Base.iMESConst; using static iMESCore.DataBase.iMESSql; namespace MEStc_SXS { - public class clsENT : IDisposable + public class clsENT : IDisposable { /*不使用modXX,不再使用OleDb * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll @@ -32,7 +32,7 @@ namespace MEStc_SXS private string strSQL = ""; private string strSQLAddField; private string strSQLAddValue; - + #region --- Initial Object --- public clsENT() @@ -139,7 +139,7 @@ namespace MEStc_SXS try { - strSQLAddField = "Insert into tblENTSubcontractor (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddField = "Insert into tblENTSubcontractor_21706 (SubcontractorNo, SubcontractorName, IssueState"; strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; if ((Description ?? "") != defString) @@ -190,6 +190,75 @@ namespace MEStc_SXS } + public string AddSubcontractorCustom(string SubcontractorNo, string SubcontractorName, string NotNull, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string Note21706 = defString, string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 为用作练习之自定义 Function + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + // 插入供货商编号、供货商名称、签核状态、自定义非空字段 + strSQLAddField = "Insert into tblENTSubcontractor_21706 (SubcontractorNo, SubcontractorName, IssueState, NotNull"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0, '" + NotNull + "'"; + + // 插入描述、创建人、创建日期、自定义字段 + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + if ((Note21706 ?? "") != defString) + { + strSQLAddField += ",Note21706"; + strSQLAddValue += ",'" + Note21706 + "'"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + public string EditSubcontractor(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) { string EditSubcontractorRet = default(string); @@ -200,7 +269,7 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractor Set "; + strSQL = "Update tblENTSubcontractor_21706 Set "; if ((SubcontractorName ?? "") != defString) { @@ -264,6 +333,93 @@ namespace MEStc_SXS return EditSubcontractorRet; } + + public string EditSubcontractorCustom(string SubcontractorNo, string SubcontractorName = defString, string NotNull = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime), string Note21706 = defString) + { + string EditSubcontractorRet = default(string); + // 此 Function 为用作练习之自定义 Function + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor_21706 Set "; + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + // 以下为自定义字段 + if ((NotNull ?? "") != defString) + { + strSQL += "NotNull = '" + NotNull + "',"; + } + if ((Note21706 ?? "") != defString) + { + strSQL += "Note21706 = '" + Note21706 + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "") { string DelSubcontractorRet = default(string); @@ -275,11 +431,11 @@ namespace MEStc_SXS try { // 1. 刪除Contactor - strSQL = "Delete From tblENTSubcontractorCont " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + strSQL = "Delete From tblENTSubcontractorCont_21706 " + "Where SubcontractorNo='" + SubcontractorNo + "'"; CollectionSQL.Add(strSQL); // 2. 刪除主檔 - strSQL = "Delete From tblENTSubcontractor " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = "Delete From tblENTSubcontractor_21706 " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; if (!string.IsNullOrEmpty(AdditionalXml)) { @@ -323,7 +479,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTSubcontractor_21706 Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { @@ -342,10 +498,10 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21706", cnnTemp); // //Combine return value - LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor_21706", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); } catch (Exception e1) @@ -383,7 +539,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTSubcontractor_21706 Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { @@ -402,7 +558,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21706", cnnTemp); // //Return data ShowSubcontractorRet = dsENT; @@ -443,7 +599,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTSubcontractor_21706 Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { @@ -462,7 +618,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21706", cnnTemp); // //Return data if (dsENT.Tables[0].Rows.Count > 0) @@ -503,7 +659,7 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractor Set IssueState = " + IssueState + ","; + strSQL = "Update tblENTSubcontractor_21706 Set IssueState = " + IssueState + ","; if (Reviser != defString) strSQL = strSQL + "Reviser = '" + Reviser + "',"; @@ -554,7 +710,7 @@ namespace MEStc_SXS try { - strSQLAddField = "Insert into tblENTSubcontractorCont (SubcontractorNo, ContactorName"; + strSQLAddField = "Insert into tblENTSubcontractorCont_21706 (SubcontractorNo, ContactorName"; strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; if ((TelNo ?? "") != defString) @@ -630,6 +786,98 @@ namespace MEStc_SXS } + public string AddSubcontractorContCustom(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime), string Note21706 = defString) + { + string AddSubcontractorContRet = default(string); + // 此 Function 为用作练习之自定义 Function + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTSubcontractorCont_21706 (SubcontractorNo, ContactorName"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + // 以下为自定义字段 + if ((Note21706 ?? "") != defString) + { + strSQLAddField += ",Note21706"; + strSQLAddValue += ",'" + Note21706 + "'"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) { @@ -642,7 +890,7 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractorCont Set "; + strSQL = "Update tblENTSubcontractorCont_21706 Set "; if ((TelNo ?? "") != defString) { @@ -723,6 +971,103 @@ namespace MEStc_SXS } + public string EditSubcontractorContCustom(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime), string Note21706 = defString) + { + string EditSubcontractorContRet = default(string); + // 此 Function 为用作练习之自定义 Function + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractorCont_21706 Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + // 以下为自定义字段 + if ((Note21706 ?? "") != defString) + { + strSQL += "Note21706 = '" + Note21706 + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") { string DelSubcontractorContRet = default(string); @@ -732,7 +1077,7 @@ namespace MEStc_SXS try { - strSQL = "Delete From tblENTSubcontractorCont " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + strSQL = "Delete From tblENTSubcontractorCont_21706 " + " Where SubcontractorNo='" + SubcontractorNo + "'"; if ((ContactorName ?? "") != defString) { @@ -779,7 +1124,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTSubcontractorCont_21706 Where SubcontractorNo Is Not Null"; // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 if ((SubcontractorNo ?? "") != defString) @@ -799,10 +1144,10 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21706", cnnTemp); // //Combine return value - LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont_21706", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); } catch (Exception e1) @@ -841,7 +1186,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTSubcontractorCont_21706 Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; @@ -859,7 +1204,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21706", cnnTemp); // //Return data ShowSubcontractorContRet = dsENT; @@ -901,7 +1246,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTSubcontractorCont_21706 Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; @@ -919,7 +1264,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21706", cnnTemp); // //Return data if (dsENT.Tables[0].Rows.Count > 0) diff --git a/SRC/wsSXS/wsSXS.csproj.user b/SRC/wsSXS/wsSXS.csproj.user index 3c48538..f5460a5 100644 --- a/SRC/wsSXS/wsSXS.csproj.user +++ b/SRC/wsSXS/wsSXS.csproj.user @@ -1,6 +1,6 @@  - E:\code\SRC\MES_S_DLL\ + E:\code\SRC\MES_S_DLL\;E:\Project\digihua\iMES\SYS20240115\SRC\MES_S_DLL\;E:\Project\digihua\iMES\SYS20240115\SRC\MEStc_SXS\ \ No newline at end of file From 5cdee0b986e69a63445f67729c474727e0aeecba Mon Sep 17 00:00:00 2001 From: "LAPTOP-0K9GR3I2\\86158" Date: Wed, 17 Jan 2024 16:40:17 +0800 Subject: [PATCH 11/13] =?UTF-8?q?21671=5F=E7=94=B0=E9=9D=99=E2=80=94?= =?UTF-8?q?=E2=80=94=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SRC/MEStc_SXS/MEStc_SXS.csproj | 1 + SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/wsSXS/wsSXS.csproj | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/SRC/MEStc_SXS/MEStc_SXS.csproj b/SRC/MEStc_SXS/MEStc_SXS.csproj index 0854ab1..20bef43 100644 --- a/SRC/MEStc_SXS/MEStc_SXS.csproj +++ b/SRC/MEStc_SXS/MEStc_SXS.csproj @@ -113,6 +113,7 @@ + diff --git a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/wsSXS/wsSXS.csproj b/SRC/wsSXS/wsSXS.csproj index 1c0f518..36702fa 100644 --- a/SRC/wsSXS/wsSXS.csproj +++ b/SRC/wsSXS/wsSXS.csproj @@ -145,6 +145,7 @@ Settings.settings True + From 64c2c2f1db3b400a4a69d75666c113d2bcb3d878 Mon Sep 17 00:00:00 2001 From: guojhb Date: Wed, 17 Jan 2024 16:53:22 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ET_Subcontractor/ET_Subcontractor.vbproj | 9 + SRC/wsSXS/wxENT/wsENT.cs | 624 +++++++++++++++++- 2 files changed, 632 insertions(+), 1 deletion(-) diff --git a/SRC/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj b/SRC/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj index e0eb1cb..92ad525 100644 --- a/SRC/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj +++ b/SRC/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj @@ -126,6 +126,12 @@ modConstant.vb + + frmDemo21706.vb + + + Form + Form @@ -152,6 +158,9 @@ + + frmDemo21706.vb + frmSubcontractor.vb diff --git a/SRC/wsSXS/wxENT/wsENT.cs b/SRC/wsSXS/wxENT/wsENT.cs index 86dad90..92c013d 100644 --- a/SRC/wsSXS/wxENT/wsENT.cs +++ b/SRC/wsSXS/wxENT/wsENT.cs @@ -15,7 +15,7 @@ namespace wsSXS { public class wsENT { - private MEStc_SXS .clsENT objENT = new MEStc_SXS.clsENT(); + private MEStc_SXS.clsENT objENT = new MEStc_SXS.clsENT(); private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 //private kcBasis_UPD.clsBasis_UPD objBasis = new kcBasis_UPD.clsBasis_UPD(); //主檔優化 //private kcBasis_Query.clsBasis_Query objQuery = new kcBasis_Query.clsBasis_Query(); //主檔優化 @@ -218,6 +218,143 @@ namespace wsSXS } + [WebMethod(Description = "Add Subcontractor data(Custom)")] + public string AddSubcontractorCustom(string InXml) + { + string AddSubcontractorRet = default(string); + + // 此 Function 为用作练习之自定义 Function + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string Creator = defString; + + // 以下为自定义字段 + string NotNull; + string Note21706 = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // 自定义的非空字段 NotNull 一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("notnull").Count > 0) + { + if (xmlDoc.GetElementsByTagName("notnull").Item(0).SelectNodes("value").Count > 0) + { + NotNull = xmlDoc.DocumentElement.GetElementsByTagName("notnull").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "NotNull Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "NotNull Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Note21706 + if (xmlDoc.DocumentElement.GetElementsByTagName("note21706").Count > 0) + { + if (xmlDoc.GetElementsByTagName("note21706").Item(0).SelectNodes("value").Count > 0) + { + Note21706 = xmlDoc.DocumentElement.GetElementsByTagName("note21706").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractorCustom(SubcontractorNo, SubcontractorName, NotNull, Description, Creator, defDateTime, Note21706); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + [WebMethod(Description = "Edit Specified Subcontractor Data")] public string EditSubcontractor(string InXml) { @@ -345,6 +482,158 @@ namespace wsSXS } + [WebMethod(Description = "Edit Specified Subcontractor Data(Custom)")] + public string EditSubcontractorCustom(string InXml) + { + string EditSubcontractorRet = default(string); + + // 此 Function 为用作练习之自定义 Function + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + // 以下为自定义字段 + string NotNull = defString; + string Note21706 = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // NotNull不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("notnull").Count > 0) + { + if (xmlDoc.GetElementsByTagName("notnull").Item(0).SelectNodes("value").Count > 0) + { + NotNull = xmlDoc.DocumentElement.GetElementsByTagName("notnull").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "NotNull is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Note21706 + if (xmlDoc.DocumentElement.GetElementsByTagName("Note21706").Count > 0) + { + if (xmlDoc.GetElementsByTagName("Note21706").Item(0).SelectNodes("value").Count > 0) + { + Note21706 = xmlDoc.DocumentElement.GetElementsByTagName("Note21706").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractorCustom(SubcontractorNo, SubcontractorName, NotNull, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime, Note21706); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] public string DelSubcontractor(string InXml) { @@ -840,6 +1129,167 @@ namespace wsSXS } + [WebMethod(Description = "Add Subcontractor Contactor data(Custom)")] + public string AddSubcontractorContCustom(string InXml) + { + string AddSubcontractorContRet = default(string); + + // 此 Function 为用作练习之自定义 Function + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + string AdditionalXml = ""; + + // 以下为自定义字段 + string Note21706 = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Note21706 + if (xmlDoc.DocumentElement.GetElementsByTagName("note21706").Count > 0) + { + if (xmlDoc.GetElementsByTagName("note21706").Item(0).SelectNodes("value").Count > 0) + { + Note21706 = xmlDoc.DocumentElement.GetElementsByTagName("note21706").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractorContCustom(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime, Note21706); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorContRet; + + } + [WebMethod(Description = "Edit Specified Subcontractor Contactor Data")] public string EditSubcontractorCont(string InXml) { @@ -998,6 +1448,177 @@ namespace wsSXS } + [WebMethod(Description = "Edit Specified Subcontractor Contactor Data(Custom)")] + public string EditSubcontractorContCustom(string InXml) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 为用作练习之自定义 Function + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + // 以下为自定义字段 + string Note21706 = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Note21706 + if (xmlDoc.DocumentElement.GetElementsByTagName("note21706").Count > 0) + { + if (xmlDoc.GetElementsByTagName("note21706").Item(0).SelectNodes("value").Count > 0) + { + Note21706 = xmlDoc.DocumentElement.GetElementsByTagName("note21706").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractorContCustom(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime, Note21706); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditSubcontractorContRet; + + } + [WebMethod(Description = "Delete Subcontractor Contactor By Specified SubcontractorNo and ContactorName")] public string DelSubcontractorCont(string InXml) { @@ -1079,5 +1700,6 @@ namespace wsSXS #endregion + } } From d7d2ca1c7352d899d801b7aeebc2f0824a8d5261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9A=97=E6=9C=88=E7=96=AF=E5=AD=90?= <1156440482@qq.com> Date: Wed, 17 Jan 2024 17:05:31 +0800 Subject: [PATCH 13/13] =?UTF-8?q?21708=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ET_Subcontractor.sln | 39 + .../ET_Subcontractor.vbproj | 194 +++ .../ET_Subcontractor.vbproj.vspscc | 10 + .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../My Project/Resources.Designer.vb | 63 + .../My Project/Resources.resx | 117 ++ .../My Project/Settings.Designer.vb | 73 ++ .../My Project/Settings.settings | 7 + .../My Project/licenses.licx | 7 + .../frmSubcontractor.resx | 120 ++ .../ET_Subcontractor21708/frmSubcontractor.vb | 1129 +++++++++++++++++ .../frmSubcontractorContDef.resx | 120 ++ .../frmSubcontractorContDef.vb | 656 ++++++++++ .../frmSubcontractorDef.resx | 120 ++ .../frmSubcontractorDef.vb | 421 ++++++ .../SYS2/ET_Subcontractor21708/iMES.snk | Bin 0 -> 596 bytes SRC/MESWin/Test/Test.vbproj | 23 + .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/MEStc_SXS/tcENT21708/clsENT.cs | 958 ++++++++++++++ .../Properties/BuildIncrementVersionInfo.cs | 2 +- SRC/wsSXS/wsENT21708/wsENT.cs | 1083 ++++++++++++++++ SRC/wsSXS/wsSXS.csproj | 2 +- 25 files changed, 5202 insertions(+), 3 deletions(-) create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/ET_Subcontractor.sln create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/ET_Subcontractor.vbproj create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractor.resx create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractor.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorContDef.resx create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorContDef.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorDef.resx create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorDef.vb create mode 100644 SRC/MESWin/SYS2/ET_Subcontractor21708/iMES.snk create mode 100644 SRC/MEStc_SXS/tcENT21708/clsENT.cs create mode 100644 SRC/wsSXS/wsENT21708/wsENT.cs diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/ET_Subcontractor.sln b/SRC/MESWin/SYS2/ET_Subcontractor21708/ET_Subcontractor.sln new file mode 100644 index 0000000..85b1902 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/ET_Subcontractor.sln @@ -0,0 +1,39 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_Subcontractor", "ET_Subcontractor.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test", "..\..\Test\Test.vbproj", "{C4A48E3F-38E4-4E88-A47D-FA5510686E57}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.ActiveCfg = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.Build.0 = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.ActiveCfg = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(TeamFoundationVersionControl) = preSolution + SccNumberOfProjects = 3 + SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} + SccTeamFoundationServer = http://tfs.imestech.com:8080/tfs/messeries6 + SccProjectUniqueName0 = ET_Subcontractor.vbproj + SccLocalPath0 = . + SccProjectUniqueName1 = ..\\..\\Test\\Test.vbproj + SccProjectName1 = ../../Test + SccLocalPath1 = ..\\..\\Test + SccLocalPath2 = . + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/ET_Subcontractor.vbproj b/SRC/MESWin/SYS2/ET_Subcontractor21708/ET_Subcontractor.vbproj new file mode 100644 index 0000000..595995e --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/ET_Subcontractor.vbproj @@ -0,0 +1,194 @@ + + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_Subcontractor_21708 + ET_Subcontractor_21708 + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_Subcontractor_21708.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_Subcontractor_21708.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmSubcontractor.vb + + + frmSubcontractorContDef.vb + + + frmSubcontractorDef.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/SYS2/ET_Subcontractor21708/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Application.Designer.vb b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Application.myapp b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..755cff8 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Resources.Designer.vb b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Resources.Designer.vb new file mode 100644 index 0000000..59c484b --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor_21708.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Resources.resx b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Settings.Designer.vb b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Settings.Designer.vb new file mode 100644 index 0000000..8784cc5 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_Subcontractor_21708.My.MySettings + Get + Return Global.ET_Subcontractor_21708.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Settings.settings b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/licenses.licx b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractor.resx b/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractor.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractor.vb b/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractor.vb new file mode 100644 index 0000000..41d5447 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractor.vb @@ -0,0 +1,1129 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmSubcontractor + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim StudentNo As String 'for Gird to Focus + Dim StudentName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"StudentNo", "StudentName"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmSubcontractorDef + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + StudentNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "StudentNo", StudentNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("StudentNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + StudentNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "StudentNo", StudentNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("StudentNo", "StudentNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("StudentNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("StudentNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + StudentNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "StudentNo", StudentNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("StudentNo", "StudentNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("StudentNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmSubcontractorContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.StudentNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + StudentName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "StudentName", StudentName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("StudentNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString, "'", "''") & "'" _ + & " And StudentName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("StudentName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.StudentNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + StudentName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "StudentName", StudentName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("StudentNo", "StudentNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("StudentName", "StudentName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("StudentName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("StudentNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString, "'", "''") & "'" _ + & " And StudentName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("StudentName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.StudentNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + StudentName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "StudentName", StudentName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("StudentNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString, "'", "''") & "'" _ + & " And StudentName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("StudentName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("StudentNo") + .Header.Caption = "StudentNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("StudentName") + .Header.Caption = "StudentName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("StudentNo") + .Header.Caption = "StudentNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("StudentName") + .Header.Caption = "StudentName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractor", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "StudentNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef StudentNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("StudentNo", "StudentNo", "String", StudentNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("StudentNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorContDef.resx b/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorContDef.vb b/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorContDef.vb new file mode 100644 index 0000000..8aadd41 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorContDef.vb @@ -0,0 +1,656 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public StudentNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblNickName As System.Windows.Forms.Label + Friend WithEvents lblQQno As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtQQno As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtNickName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtNickName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtQQno = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblNickName = New System.Windows.Forms.Label() + Me.lblQQno = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtNickName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtQQno, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtNickName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtQQno) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblNickName) + Me.gbxSubcontractorContData.Controls.Add(Me.lblQQno) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 306) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 22) + Me.txtEMail.TabIndex = 11 + ' + 'txtNickName + ' + Me.txtNickName.Location = New System.Drawing.Point(120, 120) + Me.txtNickName.Name = "txtNickName" + Me.txtNickName.Size = New System.Drawing.Size(114, 22) + Me.txtNickName.TabIndex = 9 + ' + 'txtQQno + ' + Me.txtQQno.Location = New System.Drawing.Point(320, 88) + Me.txtQQno.Name = "txtQQno" + Me.txtQQno.Size = New System.Drawing.Size(136, 22) + Me.txtQQno.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblNickName + ' + Me.lblNickName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblNickName.Location = New System.Drawing.Point(24, 121) + Me.lblNickName.Name = "lblNickName" + Me.lblNickName.Size = New System.Drawing.Size(86, 14) + Me.lblNickName.TabIndex = 8 + Me.lblNickName.Text = "NickName" + Me.lblNickName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblQQno + ' + Me.lblQQno.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblQQno.Location = New System.Drawing.Point(248, 90) + Me.lblQQno.Name = "lblQQno" + Me.lblQQno.Size = New System.Drawing.Size(64, 14) + Me.lblQQno.TabIndex = 6 + Me.lblQQno.Text = "QQno" + Me.lblQQno.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 22) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 22) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtNickName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtQQno, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtQQno.Text = EditDataRow.Item("QQno").ToString + txtNickName.Text = EditDataRow.Item("NickName").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = StudentNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtQQno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtQQno.Click + txtQQno.SelectAll() + End Sub + + Private Sub txtQQno_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtQQno.Enter + txtQQno.SelectAll() + End Sub + + Private Sub txtQQno_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtQQno.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtQQno_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtQQno.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtNickName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNickName.Click + txtNickName.SelectAll() + End Sub + + Private Sub txtNickName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNickName.Enter + txtNickName.SelectAll() + End Sub + + Private Sub txtNickName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNickName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtNickName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNickName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("QQno", "QQno", "String", txtQQno.Text, "") + strParameter = strParameter & CombineXMLParameter("NickName", "NickName", "String", CInput(txtNickName.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub +End Class + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorDef.resx b/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorDef.vb b/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorDef.vb new file mode 100644 index 0000000..2a5a973 --- /dev/null +++ b/SRC/MESWin/SYS2/ET_Subcontractor21708/frmSubcontractorDef.vb @@ -0,0 +1,421 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblStudentNo As System.Windows.Forms.Label + Friend WithEvents lblStudentName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtStudentNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtStudentName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblStudentNo = New System.Windows.Forms.Label() + Me.lblStudentName = New System.Windows.Forms.Label() + Me.txtStudentNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtStudentName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtStudentNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtStudentName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 185) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 264) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 264) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 264) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblStudentNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblStudentName) + Me.gbxSubcontractorData.Controls.Add(Me.txtStudentNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtStudentName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 169) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblStudentNo + ' + Me.lblStudentNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblStudentNo.Location = New System.Drawing.Point(24, 24) + Me.lblStudentNo.Name = "lblStudentNo" + Me.lblStudentNo.Size = New System.Drawing.Size(96, 32) + Me.lblStudentNo.TabIndex = 5 + Me.lblStudentNo.Text = "Student No" + Me.lblStudentNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblStudentName + ' + Me.lblStudentName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblStudentName.Location = New System.Drawing.Point(8, 56) + Me.lblStudentName.Name = "lblStudentName" + Me.lblStudentName.Size = New System.Drawing.Size(112, 32) + Me.lblStudentName.TabIndex = 9 + Me.lblStudentName.Text = "Student Name" + Me.lblStudentName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtStudentNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtStudentNo.Appearance = Appearance1 + Me.txtStudentNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtStudentNo.Location = New System.Drawing.Point(128, 24) + Me.txtStudentNo.Name = "txtStudentNo" + Me.txtStudentNo.Size = New System.Drawing.Size(152, 22) + Me.txtStudentNo.TabIndex = 0 + ' + 'txtStudentName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtStudentName.Appearance = Appearance2 + Me.txtStudentName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtStudentName.Location = New System.Drawing.Point(128, 55) + Me.txtStudentName.Name = "txtStudentName" + Me.txtStudentName.Size = New System.Drawing.Size(334, 22) + Me.txtStudentName.TabIndex = 1 + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 309) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtStudentNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtStudentName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtStudentNo.Text = EditDataRow.Item("StudentNo").ToString + txtStudentName.Text = EditDataRow.Item("StudentName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtStudentNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtStudentNo.Focus() + Else + txtStudentName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtStudentNo.Focus() + Else + txtStudentName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtStudentNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.Click + txtStudentNo.SelectAll() + End Sub + + Private Sub txtStudentNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.Enter + txtStudentNo.SelectAll() + End Sub + + Private Sub txtStudentNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtStudentNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtStudentNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.Leave + txtStudentNo.Text = UCase(txtStudentNo.Text) + End Sub + + Private Sub txtStudentNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtStudentName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentName.Click + txtStudentName.SelectAll() + End Sub + + Private Sub txtStudentName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentName.Enter + txtStudentName.SelectAll() + End Sub + + Private Sub txtStudentName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtStudentName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtStudentName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtStudentNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%StudentNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtStudentNo.Focus() + Exit Function + End If + + If txtStudentName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%StudentName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtStudentName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("StudentNo", "StudentNo", "String", CInput(txtStudentNo.Text), "") + strParameter = strParameter & CombineXMLParameter("StudentName", "StudentName", "String", CInput(txtStudentName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("wsENT.AddSubcontractor", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("wsENT.EditSubcontractor", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtStudentNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS2/ET_Subcontractor21708/iMES.snk b/SRC/MESWin/SYS2/ET_Subcontractor21708/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) iMES.snk + + true + true + true + bin\Debug\ + Test.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + AnyCPU + MinimumRecommendedRules.ruleset + + + true + bin\Release\ + Test.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + AnyCPU + MinimumRecommendedRules.ruleset + False diff --git a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/MEStc_SXS/tcENT21708/clsENT.cs b/SRC/MEStc_SXS/tcENT21708/clsENT.cs new file mode 100644 index 0000000..9159a05 --- /dev/null +++ b/SRC/MEStc_SXS/tcENT21708/clsENT.cs @@ -0,0 +1,958 @@ +using iMESCore.Settings; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +namespace MEStc_SXS +{ + public class clsENT : IDisposable + { + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + private string strSQLAddField; + private string strSQLAddValue; + + #region --- Initial Object --- + + public clsENT() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + #region --- Subcontractor 外包商 --- + + + public string AddSubcontractor(string StudentNo, string SubcontractorName, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into tblENTBasis_21708 (StudentNo, SubcontractorName, IssueState"; + strSQLAddValue = " Values ('" + StudentNo + "','" + SubcontractorName + "', 0"; + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + + public string EditSubcontractor(string StudentNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTBasis_21708 Set "; + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where StudentNo ='" + StudentNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelSubcontractor(string StudentNo, string AdditionalXml = "") + { + string DelSubcontractorRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + strSQL = "Delete From tblENTDetail_21708 " + "Where StudentNo='" + StudentNo + "'"; + CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From tblENTBasis_21708 " + " Where StudentNo ='" + StudentNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelSubcontractorRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + + return DelSubcontractorRet; + + } + + public string LoadSubcontractor(string StudentNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadSubcontractorRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTBasis_21708 Where StudentNo Is Not Null"; + + if ((StudentNo ?? "") != defString) + { + strSQL += " And StudentNo = '" + StudentNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTBasis_21708", cnnTemp); + + // //Combine return value + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTBasis_21708", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorRet; + + } + + public DataSet ShowSubcontractor(string StudentNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowSubcontractorRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTBasis_21708 Where StudentNo Is Not Null"; + + if ((StudentNo ?? "") != defString) + { + strSQL += " And StudentNo = '" + StudentNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTBasis_21708", cnnTemp); + + // //Return data + ShowSubcontractorRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorRet; + + } + + public DataRow GetSubcontractor(string StudentNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetSubcontractorRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTBasis_21708 Where StudentNo Is Not Null"; + + if ((StudentNo ?? "") != defString) + { + strSQL += " And StudentNo = '" + StudentNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTBasis_21708", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorRet = null; + throw; + } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorRet; + + } + public string SetSubcontractorIssueState(string StudentNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetSubcontractorIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTBasis_21708 Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where StudentNo ='" + StudentNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetSubcontractorIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetSubcontractorIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + + return SetSubcontractorIssueStateRet; + + } + + + public string AddSubcontractorCont(string StudentNo, string StudentName, string TelNo = defString, string QQNo = defString, string NickName = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddSubcontractorContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTDetail_21708 (StudentNo, StudentName"; + strSQLAddValue = " Values ('" + StudentNo + "','" + StudentName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((QQNo ?? "") != defString) + { + strSQLAddField += ",QQNo"; + strSQLAddValue += ",'" + QQNo + "'"; + } + if ((NickName ?? "") != defString) + { + strSQLAddField += ",NickName"; + strSQLAddValue += ",'" + NickName + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + + + public string EditSubcontractorCont(string StudentNo, string StudentName, string TelNo = defString, string QQNo = defString, string NickName = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTDetail_21708 Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((QQNo ?? "") != defString) + { + strSQL += "QQNo = '" + QQNo + "',"; + } + if ((NickName ?? "") != defString) + { + strSQL += "NickName = '" + NickName + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where StudentNo = '" + StudentNo + "'" + " And StudentName ='" + StudentName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + + public string DelSubcontractorCont(string StudentNo, string StudentName = defString, string AdditionalXml = "") + { + string DelSubcontractorContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From tblENTDetail_21708 " + " Where StudentNo='" + StudentNo + "'"; + + if ((StudentName ?? "") != defString) + { + strSQL += " And StudentName = '" + StudentName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractorCont: " & e1.Message) + + return DelSubcontractorContRet; + + } + + public string LoadSubcontractorCont(string StudentNo = defString, string StudentName = defString, string AdditionalXml = "") + { + string LoadSubcontractorContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTDetail_21708 Where StudentNo Is Not Null"; + + // 有傳入StudentNo表示只取該StudentNo之資料 + if ((StudentNo ?? "") != defString) + { + strSQL += " And StudentNo = '" + StudentNo + "'"; + } + if ((StudentName ?? "") != defString) + { + strSQL += " And StudentName = '" + StudentName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTDetail_21708", cnnTemp); + + // //Combine return value + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTDetail_21708", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorContRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorContRet; + + } + + public DataSet ShowSubcontractorCont(string StudentNo = defString, string StudentName = defString, string AdditionalXml = "") + { + DataSet ShowSubcontractorContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTDetail_21708 Where StudentNo Is Not Null"; + if ((StudentNo ?? "") != defString) + { + strSQL += " And StudentNo = '" + StudentNo + "'"; + } + if ((StudentName ?? "") != defString) + { + strSQL += " And StudentName = '" + StudentName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTDetail_21708", cnnTemp); + + // //Return data + ShowSubcontractorContRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorContRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorContRet; + + } + + public DataRow GetSubcontractorCont(string StudentNo = defString, string StudentName = defString, string AdditionalXml = "") + { + DataRow GetSubcontractorContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTDetail_21708 Where StudentNo Is Not Null"; + if ((StudentNo ?? "") != defString) + { + strSQL += " And StudentNo = '" + StudentNo + "'"; + } + if ((StudentName ?? "") != defString) + { + strSQL += " And StudentName = '" + StudentName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTDetail_21708", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorContRet = null; + throw; + } // New Exception("kcENT.GetSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorContRet; + + } + + + + #endregion + } +} diff --git a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs index 99be341..8c4e437 100644 --- a/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs +++ b/SRC/wsSXS/Properties/BuildIncrementVersionInfo.cs @@ -1 +1 @@ -[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")] +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/wsSXS/wsENT21708/wsENT.cs b/SRC/wsSXS/wsENT21708/wsENT.cs new file mode 100644 index 0000000..c206844 --- /dev/null +++ b/SRC/wsSXS/wsENT21708/wsENT.cs @@ -0,0 +1,1083 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System; +using System.Data; +using System.Web.Services; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.Base.iMESComSubroutine; +namespace wsSXS +{ + public class wsENT + { + private MEStc_SXS.clsENT objENT = new MEStc_SXS.clsENT(); + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + //private kcBasis_UPD.clsBasis_UPD objBasis = new kcBasis_UPD.clsBasis_UPD(); //主檔優化 + //private kcBasis_Query.clsBasis_Query objQuery = new kcBasis_Query.clsBasis_Query(); //主檔優化 + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private string strResourceDir = "Resources"; + + public wsENT() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + #region --- Subcontractor 外包商 --- + + [WebMethod(Description = "Load Subcontractor Data")] + public string LoadSubcontractor(string InXml) + { + string LoadSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string StudentNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractor(StudentNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorRet; + + } + + [WebMethod(Description = "Add Subcontractor data")] + public string AddSubcontractor(string InXml) + { + string AddSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var StudentNo = default(string); + string SubcontractorName; + string Description = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractor(StudentNo, SubcontractorName, Description, Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data")] + public string EditSubcontractor(string InXml) + { + string EditSubcontractorRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var StudentNo = default(string); + int IssueState = defInteger; + string SubcontractorName = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractor(StudentNo, SubcontractorName, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] + public string DelSubcontractor(string InXml) + { + string DelSubcontractorRet = default(string); + + var StudentNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objENT.DelSubcontractor(StudentNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objENT.SetSubcontractorIssueState(StudentNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objENT.DelSubcontractor(StudentNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorRet; + + } + + [WebMethod(Description = "Approve Specified Subcontractor Data")] + public string ApproveSubcontractor(string InXml) + { + string ApproveSubcontractorRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var StudentNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objENT.SetSubcontractorIssueState(StudentNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objENT.SetSubcontractorIssueState(StudentNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTSubcontractor Set IssueState = 2 Where StudentNo = '" + StudentNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTSubcontractor Set IssueState = 0 Where StudentNo = '" + StudentNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "StudentNo: " + StudentNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objENT.SetSubcontractorIssueState(StudentNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveSubcontractorRet; + + } + + // Subcontractor Contactor + [WebMethod(Description = "Load Subcontractor Contactor Data")] + public string LoadSubcontractorCont(string InXml) + { + string LoadSubcontractorContRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string StudentNo = defString; + string StudentName = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入StudentNo,若有,表示要依StudentNo查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("studentname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentname").Item(0).SelectNodes("value").Count > 0) + { + StudentName = xmlDoc.DocumentElement.GetElementsByTagName("studentname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractorCont(StudentNo, StudentName); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorContRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorContRet; + + } + + [WebMethod(Description = "Add Subcontractor Contactor data")] + public string AddSubcontractorCont(string InXml) + { + string AddSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var StudentNo = default(string); + var StudentName = default(string); + string TelNo = defString; + string QQNo = defString; + string NickName = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // StudentNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + // StudentName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentname").Item(0).SelectNodes("value").Count > 0) + { + StudentName = xmlDoc.DocumentElement.GetElementsByTagName("studentname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // QQNo + if (xmlDoc.DocumentElement.GetElementsByTagName("QQNo").Count > 0) + { + if (xmlDoc.GetElementsByTagName("QQNo").Item(0).SelectNodes("value").Count > 0) + { + QQNo = xmlDoc.DocumentElement.GetElementsByTagName("QQNo").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // NickName + if (xmlDoc.DocumentElement.GetElementsByTagName("nickname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("nickname").Item(0).SelectNodes("value").Count > 0) + { + NickName = xmlDoc.DocumentElement.GetElementsByTagName("nickname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractorCont(StudentNo, StudentName, TelNo, QQNo, NickName, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "AddSubcontractorContactor StudentName:" + StudentName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add SubcontractorContactor Data failed, StudentName:" + StudentName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add SubcontractorContactor Data failed, StudentName:" + StudentName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorContRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Contactor Data")] + public string EditSubcontractorCont(string InXml) + { + string EditSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var StudentNo = default(string); + var StudentName = default(string); + string TelNo = defString; + string QQNo = defString; + string NickName = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // StudentNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + // StudentName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("StudentName").Count > 0) + { + if (xmlDoc.GetElementsByTagName("StudentName").Item(0).SelectNodes("value").Count > 0) + { + StudentName = xmlDoc.DocumentElement.GetElementsByTagName("StudentName").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // QQNo + if (xmlDoc.DocumentElement.GetElementsByTagName("QQNo").Count > 0) + { + if (xmlDoc.GetElementsByTagName("QQNo").Item(0).SelectNodes("value").Count > 0) + { + QQNo = xmlDoc.DocumentElement.GetElementsByTagName("QQNo").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // NickName + if (xmlDoc.DocumentElement.GetElementsByTagName("nickname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("nickname").Item(0).SelectNodes("value").Count > 0) + { + NickName = xmlDoc.DocumentElement.GetElementsByTagName("nickname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (QQNo ?? "") != defString | (NickName ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractorCont(StudentNo, StudentName, TelNo, QQNo, NickName, Address, EMail, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "EditSubcontractorContactor StudentName:" + StudentName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit SubcontractorContactor Data failed, StudentName:" + StudentName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit SubcontractorContactor Data failed, StudentName:" + StudentName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditSubcontractorContRet; + + } + + [WebMethod(Description = "Delete Subcontractor Contactor By Specified StudentNo and StudentName")] + public string DelSubcontractorCont(string InXml) + { + string DelSubcontractorContRet = default(string); + + var StudentNo = default(string); + string StudentName = defString; // 沒有傳入表示要刪除指定Subcontractor的所有Contactor + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // StudentNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("studentno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Count > 0) + { + StudentNo = xmlDoc.DocumentElement.GetElementsByTagName("studentno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "StudentNo Not Found!"); + } + // StudentName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("StudentName").Count > 0) + { + if (xmlDoc.GetElementsByTagName("StudentName").Item(0).SelectNodes("value").Count > 0) + { + StudentName = xmlDoc.DocumentElement.GetElementsByTagName("StudentName").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + objENT.DelSubcontractorCont(StudentNo, StudentName); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, "DelSubcontractorContactor StudentName:" + StudentName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Del SubcontractorContactor Data failed, StudentName:" + StudentName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Del SubcontractorContactor Data failed, StudentName:" + StudentName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "StudentNo", StudentNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorContRet; + + } + + + #endregion + } +} diff --git a/SRC/wsSXS/wsSXS.csproj b/SRC/wsSXS/wsSXS.csproj index 1c0f518..4c2b961 100644 --- a/SRC/wsSXS/wsSXS.csproj +++ b/SRC/wsSXS/wsSXS.csproj @@ -146,7 +146,7 @@ True - +