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 1/2] =?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 a6c36d080d59bb6c3b757987cb52e74fd23d198c Mon Sep 17 00:00:00 2001 From: ansmycode <3312308240@qq.com> Date: Wed, 17 Jan 2024 16:32:07 +0800 Subject: [PATCH 2/2] =?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 + } +}