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
-
+