[修改]21699姜涛实习生练习主档

This commit is contained in:
DESKTOP-S5Q9G6M\Tao 2024-01-17 17:42:20 +08:00
parent dd4e6c82e6
commit 882c5254eb
32 changed files with 6972 additions and 0 deletions

View File

@ -0,0 +1,39 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25123.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_Subcontractor", "ET_Subcontractor.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test", "..\..\Test\Test.vbproj", "{C4A48E3F-38E4-4E88-A47D-FA5510686E57}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86
{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86
{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86
{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86
{C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.ActiveCfg = Debug|x86
{C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.Build.0 = Debug|x86
{C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.ActiveCfg = Release|x86
{C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(TeamFoundationVersionControl) = preSolution
SccNumberOfProjects = 3
SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
SccTeamFoundationServer = http://tfs.imestech.com:8080/tfs/messeries6
SccProjectUniqueName0 = ET_Subcontractor.vbproj
SccLocalPath0 = .
SccProjectUniqueName1 = ..\\..\\Test\\Test.vbproj
SccProjectName1 = ../../Test
SccLocalPath1 = ..\\..\\Test
SccLocalPath2 = .
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,203 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProjectGuid>{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>ET_Subcontractor_21699</RootNamespace>
<AssemblyName>ET_Subcontractor_21699</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>Windows</MyType>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<TargetFrameworkProfile />
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>..\..\..\MESClient\</OutputPath>
<DocumentationFile>ET_Subcontractor_21699.xml</DocumentationFile>
<WarningLevel>0</WarningLevel>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<DefineTrace>true</DefineTrace>
<OutputPath>..\..\..\MESClient\</OutputPath>
<DocumentationFile>ET_Subcontractor_21699.xml</DocumentationFile>
<Optimize>true</Optimize>
<WarningLevel>0</WarningLevel>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>iMES.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="Infragistics4.Win.v19.1, Version=19.1.20191.82, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Infragistics4.Win.UltraWinGrid.v19.1, Version=19.1.20191.82, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.82, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Infragistics4.Win.Misc.v19.1, Version=19.1.20191.82, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Infragistics4.Shared.v19.1, Version=19.1.20191.82, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="COM_Kit">
<HintPath>..\..\..\MESClient\COM_Kit.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="iMESExceptionManager">
<HintPath>..\..\..\MES_C_DLL\iMESExceptionManager.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="iMESUltraGrid">
<HintPath>..\..\..\MES_C_DLL\iMESUltraGrid.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Import Include="COM_Kit.clsGlobalVariables" />
<Import Include="COM_Kit.clsKit" />
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Diagnostics" />
<Import Include="System.Drawing" />
<Import Include="System.Linq" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Xml" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\shared file\modConstant.vb">
<Link>modConstant.vb</Link>
</Compile>
<Compile Include="frmDemo2.Designer.vb">
<DependentUpon>frmDemo2.vb</DependentUpon>
</Compile>
<Compile Include="frmDemo2.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmSubcontractor.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmSubcontractorContDef.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmSubcontractorDef.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="frmDemo2.resx">
<DependentUpon>frmDemo2.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmSubcontractor.resx">
<DependentUpon>frmSubcontractor.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmSubcontractorContDef.resx">
<DependentUpon>frmSubcontractorContDef.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmSubcontractorDef.resx">
<DependentUpon>frmSubcontractorDef.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\licenses.licx" />
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="iMES.snk" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<Import Project="..\..\shared file\MakeVersion.targets" Condition="exists('..\..\shared file\MakeVersion.targets')" />
</Project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ReferencePath>D:\SourceCode\SRC\MES_C_DLL\</ReferencePath>
</PropertyGroup>
</Project>

View File

@ -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"
}

View File

@ -0,0 +1,13 @@
'------------------------------------------------------------------------------
' <auto-generated>
' 此代码由工具生成
' 运行时版本:4.0.30319.42000
'
' 对此文件的更改可能会导致不正确的行为并且如果
' 重新生成代码这些更改将会丢失
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>false</MySubMain>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<ApplicationType>1</ApplicationType>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

View File

@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' 組件的一般資訊是由下列的屬性集控制
' 變更這些屬性的值即可修改組件的相關
' 資訊
' 檢閱組件屬性的值
<Assembly: AssemblyTitle("ET_Subcontractor")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("iMES Technology Inc.")>
<Assembly: AssemblyProduct("MESSeries 6")>
<Assembly: AssemblyCopyright("Copyright © iMES Technology Inc.")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'下列 GUID 為專案公開 (Expose) COM 時所要使用的 typelib ID
<Assembly: Guid("cb602012-a17f-433f-b777-ace6a6a676c1")>
' 組件的版本資訊由下列四個值所組成:
'
' 主要版本
' 次要版本
' 組建編號
' 修訂編號
'
' 您可以指定所有的值也可以依照以下的方式使用 '*' 將組建和修訂編號
' 指定為預設值:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("6.0.0.0")>

View File

@ -0,0 +1 @@
<Assembly: Reflection.AssemblyFileVersion("6.0.5.40117")>

View File

@ -0,0 +1,63 @@
'------------------------------------------------------------------------------
' <auto-generated>
' 此代码由工具生成
' 运行时版本:4.0.30319.42000
'
' 对此文件的更改可能会导致不正确的行为并且如果
' 重新生成代码这些更改将会丢失
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'此类是由 StronglyTypedResourceBuilder
'类通过类似于 ResGen Visual Studio 的工具自动生成的
'若要添加或移除成员请编辑 .ResX 文件然后重新运行 ResGen
'( /str 作为命令选项)或重新生成 VS 项目
'''<summary>
''' 一个强类型的资源类用于查找本地化的字符串等
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' 返回此类使用的缓存的 ResourceManager 实例
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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_21699.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' 重写当前线程的 CurrentUICulture 属性
''' 使用此强类型资源类的所有资源查找执行重写
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
End Module
End Namespace

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' 此代码由工具生成
' 运行时版本:4.0.30319.42000
'
' 对此文件的更改可能会导致不正确的行为并且如果
' 重新生成代码这些更改将会丢失
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.ET_Subcontractor_21699.My.MySettings
Get
Return Global.ET_Subcontractor_21699.My.MySettings.Default
End Get
End Property
End Module
End Namespace

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

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

View File

@ -0,0 +1,37 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmDemo2
'Inherits System.Windows.Forms.Form
Inherits COM_Kit.frmBasisTemplat
'Form 重写 Dispose以清理组件列表
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
'注意: 以下过程是 Windows 窗体设计器所必需的
'可以使用 Windows 窗体设计器修改它
'不要使用代码编辑器修改它
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.SuspendLayout()
'
'frmDemo2
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1053, 562)
Me.Name = "frmDemo2"
Me.Text = "frmDemo2"
Me.ResumeLayout(False)
End Sub
End Class

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,7 @@
Public Class frmDemo2
Private Sub frmDemo2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
End Class

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,695 @@
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 Label1 As Label
Friend WithEvents txtJT21699 As TextBox
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
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance()
Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox()
Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.lblAddress = New System.Windows.Forms.Label()
Me.lblEMail = New System.Windows.Forms.Label()
Me.lblTitle = New System.Windows.Forms.Label()
Me.lblFaxNo = New System.Windows.Forms.Label()
Me.lblTelNo = New System.Windows.Forms.Label()
Me.txtDescription = New System.Windows.Forms.RichTextBox()
Me.lblDescription = New System.Windows.Forms.Label()
Me.lblSubcontractorNo = New System.Windows.Forms.Label()
Me.lblContactorName = New System.Windows.Forms.Label()
Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.Label1 = New System.Windows.Forms.Label()
Me.txtJT21699 = New System.Windows.Forms.TextBox()
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.txtJT21699)
Me.gbxSubcontractorContData.Controls.Add(Me.Label1)
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(114, 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
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(262, 58)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(50, 15)
Me.Label1.TabIndex = 16
Me.Label1.Text = "JT21699"
'
'txtJT21699
'
Me.txtJT21699.Location = New System.Drawing.Point(320, 56)
Me.txtJT21699.Name = "txtJT21699"
Me.txtJT21699.Size = New System.Drawing.Size(136, 21)
Me.txtJT21699.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()
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
txtJT21699.Text = EditDataRow.Item("JT21699").ToString
'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料)
txtDescription.Text = EditDataRow.Item("Description").ToString
If DefMode = 1 Then
If (Not IsDBNull(EditDataRow("Creator"))) Then
SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate")))
SetCreator(EditDataRow.Item("Creator").ToString)
End If
End If
End If
If DefMode = 0 Then 'Add
txtSubcontractorNo.Text = SubcontractorNo
SetCreateDate(Now)
SetCreator(gUserNo)
ElseIf DefMode = 1 Then 'Edit
txtContactorName.ReadOnly = True
SetReviseDate(Now)
SetReviser(gUserNo)
intDataStamp = EditDataRow.Item("DataStamp")
End If
btnApplyEnabled = False
'語系切換
Call ExeChangeResource(Me, gLanguageMode)
ExeGroupControlPriv(Me, PrivFunNo)
Cursor.Current = Cursors.Default
End Sub
Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated
If DefMode = 0 Or DefMode = 2 Then
txtContactorName.Focus()
Else
txtTelNo.Focus()
End If
End Sub
Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Cursor.Current = Cursors.WaitCursor
If funAddorEdit(sender) < 0 Then Exit Sub
Me.Close()
Cursor.Current = Cursors.Default
End Sub
Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Close()
End Sub
Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Cursor.Current = Cursors.WaitCursor
If funAddorEdit(sender) < 0 Then Exit Sub
If DefMode = 0 Or DefMode = 2 Then
txtContactorName.Focus()
Else
txtTelNo.Focus()
End If
txtEMail.Text = ""
btnApplyEnabled = False
Cursor.Current = Cursors.Default
End Sub
#Region "Control KeyPress"
Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click
txtSubcontractorNo.SelectAll()
End Sub
Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter
txtSubcontractorNo.SelectAll()
End Sub
Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click
txtContactorName.SelectAll()
End Sub
Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter
txtContactorName.SelectAll()
End Sub
Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave
If txtContactorName.Text <> "" And txtEMail.Text = "" Then
txtEMail.Text = txtContactorName.Text & "@"
End If
txtContactorName.Text = UCase(txtContactorName.Text)
End Sub
Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click
txtTelNo.SelectAll()
End Sub
Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter
txtTelNo.SelectAll()
End Sub
Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click
txtFaxNo.SelectAll()
End Sub
Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter
txtFaxNo.SelectAll()
End Sub
Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click
txtTitle.SelectAll()
End Sub
Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter
txtTitle.SelectAll()
End Sub
Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click
txtEMail.SelectAll()
End Sub
Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter
txtEMail.SelectAll()
End Sub
Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click
txtAddress.SelectAll()
End Sub
Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter
txtAddress.SelectAll()
End Sub
Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click
txtDescription.SelectAll()
End Sub
Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter
txtDescription.SelectAll()
End Sub
Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged
btnApplyEnabled = True
End Sub
#End Region
#Region "Others"
Private Function funAddorEdit(sender As Object) As Integer
funAddorEdit = -1
'******************************************************************************
'1.基本檢查()
'******************************************************************************
If txtSubcontractorNo.Text = "" Then
iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text)
txtSubcontractorNo.Focus()
Exit Function
End If
If txtContactorName.Text = "" Then
iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text)
txtContactorName.Focus()
Exit Function
End If
'******************************************************************************
'2.寫回資料庫()
'******************************************************************************
Dim XmlDoc As New XmlDocument
Try
strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow())
strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "")
strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "")
strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "")
strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "")
strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "")
strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "")
strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "")
strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "")
If DefMode = 0 Or DefMode = 2 Then 'Add or Copy
strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "")
InXml = CombineXMLRequest(strIdentity, strParameter)
' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml)
OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCont", InXml)
Else 'Edit
' 增加Datastamp
strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "")
InXml = CombineXMLRequest(strIdentity, strParameter)
' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml)
OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCont", InXml)
End If
XmlDoc.LoadXml(OutXml)
If ChkExecutionSuccess(XmlDoc) Then
gReturnKeyValue = txtContactorName.Text
funAddorEdit = 0
If sender.Equals(btnApply) Then
intDataStamp += 1
End If
Else
ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc))
End If
Catch ex As Exception
'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation)
ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace)
End Try
XmlDoc = Nothing
End Function
#End Region
Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose()
End Sub
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
End Sub
Private Sub txtEMail_ValueChanged(sender As Object, e As EventArgs) Handles txtEMail.ValueChanged
End Sub
Private Sub Label1_Click_1(sender As Object, e As EventArgs) Handles Label1.Click
End Sub
Private Sub txtFaxNo_ValueChanged(sender As Object, e As EventArgs) Handles txtFaxNo.ValueChanged
End Sub
End Class

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,446 @@
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 lblJT21699 As Label
Friend WithEvents txtJT21699 As TextBox
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
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance()
Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance()
Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox()
Me.txtDescription = New System.Windows.Forms.RichTextBox()
Me.lblDescription = New System.Windows.Forms.Label()
Me.lblSubcontractorNo = New System.Windows.Forms.Label()
Me.lblSubcontractorName = New System.Windows.Forms.Label()
Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.txtJT21699 = New System.Windows.Forms.TextBox()
Me.lblJT21699 = New System.Windows.Forms.Label()
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, 225)
Me.gbxBasisData.Size = New System.Drawing.Size(562, 70)
'
'btnApply
'
Me.btnApply.Location = New System.Drawing.Point(486, 304)
'
'btnConfirm
'
Me.btnConfirm.Location = New System.Drawing.Point(298, 304)
'
'btnClose
'
Me.btnClose.Location = New System.Drawing.Point(392, 304)
'
'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.lblJT21699)
Me.gbxSubcontractorData.Controls.Add(Me.txtJT21699)
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(562, 209)
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
'
'txtJT21699
'
Me.txtJT21699.Cursor = System.Windows.Forms.Cursors.IBeam
Me.txtJT21699.Location = New System.Drawing.Point(347, 25)
Me.txtJT21699.Name = "txtJT21699"
Me.txtJT21699.Size = New System.Drawing.Size(115, 21)
Me.txtJT21699.TabIndex = 14
'
'lblJT21699
'
Me.lblJT21699.AutoSize = True
Me.lblJT21699.Location = New System.Drawing.Point(291, 24)
Me.lblJT21699.Name = "lblJT21699"
Me.lblJT21699.Size = New System.Drawing.Size(50, 15)
Me.lblJT21699.TabIndex = 15
Me.lblJT21699.Text = "JT21699"
'
'frmSubcontractorDef
'
Me.ClientSize = New System.Drawing.Size(586, 349)
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
txtSubcontractorName.Text = EditDataRow.Item("JT21699").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), "")
strParameter = strParameter & CombineXMLParameter("jt21699", "JT21699", "String", CInput(txtJT21699.Text), "")
If DefMode = 0 Or DefMode = 2 Then 'Add or Copy
strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "")
strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "")
InXml = CombineXMLRequest(strIdentity, strParameter)
' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml)
OutXml = InvokeSrv("SXS.wsENT.AddSubcontractor", InXml)
Else
'修改
strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "")
' 增加Datastamp
strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "")
InXml = CombineXMLRequest(strIdentity, strParameter)
' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml)
OutXml = InvokeSrv("SXS.wsENT.EditSubcontractor", InXml)
End If
XmlDoc.LoadXml(OutXml)
If ChkExecutionSuccess(XmlDoc) Then
gReturnKeyValue = txtSubcontractorNo.Text
funAddorEdit = 0
If sender.Equals(btnApply) Then
intDataStamp += 1
End If
Else
ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc))
End If
Catch ex As Exception
'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation)
ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace)
End Try
XmlDoc = Nothing
End Function
#End Region
End Class

Binary file not shown.

View File

@ -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"
}

View File

@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>
</SchemaVersion>
<ProjectGuid>{8CC8664F-C718-0888-187B-600F20E362E0}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>MEStc_SXS</RootNamespace>
<AssemblyName>MEStc_SXS</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>Windows</MyType>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
<TargetFrameworkProfile />
<DefaultItemExcludes>$(DefaultItemExcludes);$(ProjectDir)**\*.vb</DefaultItemExcludes>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>..\MES_S_DLL\</OutputPath>
<DocumentationFile>..\MES_S_DLL\MEStc_SXS.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<WarningLevel>0</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>bin\Release\
</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<WarningLevel>0</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="data_access_service, Version=6.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\MES_S_DLL\data_access_service.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="iMESAppSetting, Version=6.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\MES_S_DLL\iMESAppSetting.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="iMESComSubroutine, Version=6.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\MES_S_DLL\iMESComSubroutine.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="iMESComXML, Version=6.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\MES_S_DLL\iMESComXML.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="iMESConst, Version=6.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\MES_S_DLL\iMESConst.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="iMESException">
<HintPath>..\..\MESSeries_2016\MES_S_DLL\iMESException.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="iMESLog, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\MES_S_DLL\iMESLog.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Diagnostics" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="tcENT\clsENT.cs" />
<Compile Include="tcWIP\clsLot.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="shared file\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<Import Project="..\MESWin\shared file\MakeVersion_CS.targets" Condition="exists('..\MESWin\shared file\MakeVersion_CS.targets')" />
</Project>

View File

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

View File

@ -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")]

View File

@ -0,0 +1 @@
[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")]

View File

@ -0,0 +1,973 @@
using iMESCore.Settings;
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.CompilerServices;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static iMESCore.Base.iMESComSubroutine;
using static iMESCore.Base.iMESComXML;
using static iMESCore.Base.iMESConst;
using static iMESCore.DataBase.iMESSql;
namespace MEStc_SXS
{
public class clsENT : IDisposable
{
/*使modXX,使OleDb
* (//),使data_access_service.dll
* ,使iMESAppSetting
* Xml相關,使iMESComXML.dll
* ,使iMESConst.dll
* ,使iMESComSubroutine.dll
*/
private AppSettings objSetting = new AppSettings();
private string strConnectionString; // Connection string
private string strDataBaseType; // DataBase Type:oracle, mysql, access
private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ
private bool disposed = false; // To detect redundant calls
private string strSQL = "";
private string strSQLAddField;
private string strSQLAddValue;
#region --- Initial Object ---
public clsENT()
{
// Get database type
strDataBaseType = objSetting.GetDataBaseType();
// Get connection string
strConnectionString = objSetting.GetConnectionString(strDataBaseType);
// Get Message Queue Type
strMQType = objSetting.GetMQType();
}
#endregion
#region --- Property ---
// //Property--------------------------------------------------------------------------------------------------------------------------------
public string ConnectionString
{
get
{
return strConnectionString;
}
}
public string DataBaseType
{
get
{
return strDataBaseType;
}
}
public string MQType
{
get
{
return strMQType;
}
}
// 2003/03/22,sammi.
// 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆.
// 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD.
//public object ReverseObj
//{
// get
// {
// //return objReverse;
// // ReverseObj = objReverse
// }
//}
#endregion
#region IDisposable Support
private bool disposedValue; // 偵測多餘的呼叫
// IDisposable
protected virtual void Dispose(bool disposing)
{
if (!disposedValue)
{
if (disposing)
{
// TODO: 處置 Managed 狀態 (Managed 物件)。
}
// TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。
// TODO: 將大型欄位設定為 null。
}
disposedValue = true;
}
// TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。
// Protected Overrides Sub Finalize()
// ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。
// Dispose(False)
// MyBase.Finalize()
// End Sub
// 由 Visual Basic 新增此程式碼以正確實作可處置的模式。
public void Dispose()
{
// 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。
Dispose(true);
GC.SuppressFinalize(this);
}
#endregion
#region --- Subcontractor ---
public string AddSubcontractor(string SubcontractorNo, string SubcontractorName, string Description = defString, string JT21699 = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "")
{
string AddSubcontractorRet = default(string);
// 此 Function 將新增一筆資料
// 傳入值: 各欄位新增值
// 傳回值: success(成功), fail(失敗)
if (CreateDate == defDateTime)
CreateDate = DateTime.Now;
try
{
strSQLAddField = "Insert into tblENTSubcontractor_21699 (SubcontractorNo, SubcontractorName, IssueState";
strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0";
if ((Description ?? "") != defString)
{
strSQLAddField += ",Description";
strSQLAddValue += ",'" + Description + "'";
}
if ((JT21699 ?? "") != defString)
{
strSQLAddField += ",JT21699";
strSQLAddValue += ",'" + JT21699 + "'";
}
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 JT21699 = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
{
string EditSubcontractorRet = default(string);
// 此 Function 將修改一筆資料
// 傳入值: 各欄位修改值
// 傳回值: success(成功), fail(失敗)
try
{
// 先給定strSQL一定有的欄位
strSQL = "Update tblENTSubcontractor_21699 Set ";
if ((SubcontractorName ?? "") != defString)
{
strSQL += "SubcontractorName = '" + SubcontractorName + "',";
}
if ((Description ?? "") != defString)
{
strSQL += "Description = '" + Description + "',";
}
if ((JT21699 ?? "") != defString)
{
strSQL += "JT21699 = '" + JT21699 + "',";
}
if (Reviser != defString)
strSQL = strSQL + "Reviser = '" + Reviser + "',";
if (ReviseDate != defDateTime)
strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),";
if (DataStamp != defInteger)
strSQL = strSQL + "DataStamp = DataStamp + 1 ,";
// 有額外的欄位時再Append進原來的strSQL中
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的field & value
strSQL += SeparateAddXML_Edit(AdditionalXml);
}
// 去除strSQL中最後一個 ","
if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位
{
if (Strings.Right(strSQL, 1) == ",")
{
strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1);
}
strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'";
strSQL = strSQL + " And DataStamp = '" + DataStamp + "'";
// 有額外的條件式時再Append進原來的strSQL中
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// 呼叫執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true);
}
// //Return success
EditSubcontractorRet = "success";
}
catch (Exception e1)
{
EditSubcontractorRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.EditSubcontractor: " & e1.Message)
return EditSubcontractorRet;
}
public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "")
{
string DelSubcontractorRet = default(string);
// 此 Function 將刪除資料
// 傳入值: 刪除的索引值
// 傳回值: success(成功), fail(失敗)
var CollectionSQL = new Collection();
try
{
// 1. 刪除Contactor
strSQL = "Delete From tblENTSubcontractorCont_21699 " + "Where SubcontractorNo='" + SubcontractorNo + "'";
CollectionSQL.Add(strSQL);
// 2. 刪除主檔
strSQL = "Delete From tblENTSubcontractor_21699 " + " Where SubcontractorNo ='" + SubcontractorNo + "'";
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
CollectionSQL.Add(strSQL);
// 呼叫執行SQL指令
ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL);
// //Return success
DelSubcontractorRet = "success";
}
catch (Exception e1)
{
DelSubcontractorRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.DelSubcontractor: " & e1.Message)
return DelSubcontractorRet;
}
public string LoadSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "")
{
string LoadSubcontractorRet = default(string);
// 此 Function 將資料以XML方式取出
// 傳入值: 索引值
// 傳回值: XML(成功), fail(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractor_21699 Where SubcontractorNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
}
if (IssueState != defInteger)
{
strSQL += " And IssueState = " + IssueState;
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21699", cnnTemp);
// //Combine return value
LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor_21699", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), "");
}
catch (Exception e1)
{
LoadSubcontractorRet = "fail";
throw;
} // New Exception("kcENT.LoadSubcontractor: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return LoadSubcontractorRet;
}
public DataSet ShowSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "")
{
DataSet ShowSubcontractorRet = default(DataSet);
// 此 Function 將資料以 Dataset 方式取出
// 傳入值: 索引值
// 傳回值: Dataset(成功), Nothing(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractor_21699 Where SubcontractorNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
}
if (IssueState != defInteger)
{
strSQL += " And IssueState = " + IssueState;
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21699", cnnTemp);
// //Return data
ShowSubcontractorRet = dsENT;
}
catch (Exception e1)
{
ShowSubcontractorRet = null;
throw;
} // New Exception("kcENT.ShowSubcontractor: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return ShowSubcontractorRet;
}
public DataRow GetSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "")
{
DataRow GetSubcontractorRet = default(DataRow);
// 此 Function 將資料以 DataRow 方式取出
// 傳入值: 索引值
// 傳回值: DataRow(成功), Nothing(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractor_21699 Where SubcontractorNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
}
if (IssueState != defInteger)
{
strSQL += " And IssueState = " + IssueState;
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21699", cnnTemp);
// //Return data
if (dsENT.Tables[0].Rows.Count > 0)
{
GetSubcontractorRet = dsENT.Tables[0].Rows[0];
}
else
{
GetSubcontractorRet = dsENT.Tables[0].NewRow();
}
}
catch (Exception e1)
{
GetSubcontractorRet = null;
throw;
} // New Exception("kcENT.GetSubcontractor: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return GetSubcontractorRet;
}
public string SetSubcontractorIssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
{
string SetSubcontractorIssueStateRet = default(string);
// 此 Function 將修改IssueState欄位的值
// 傳入值: IssueState修改後的值及VendorNo
// 傳回值: success(成功), fail(失敗)
try
{
// 先給定strSQL一定有的欄位
strSQL = "Update tblENTSubcontractor_21699 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, string JT21699 = defString, DateTime CreateDate = default(DateTime))
{
string AddSubcontractorContRet = default(string);
// 此 Function 將新增一筆資料
// 傳入值: 各欄位新增值
// 傳回值: success(成功), fail(失敗)
try
{
strSQLAddField = "Insert into tblENTSubcontractorCont_21699 (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 (JT21699 != defString)
{
strSQLAddField = strSQLAddField + ",JT21699";
strSQLAddValue = strSQLAddValue + ",'" + JT21699 + "'";
}
if (CreateDate != defDateTime)
{
strSQLAddField = strSQLAddField + ",CreateDate";
strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')";
}
if (string.IsNullOrEmpty(AdditionalXml))
{
// 當沒有額外的欄位時,直接給定strSQL
strSQL = strSQLAddField + ")" + strSQLAddValue + ")";
}
else
{
// 加上additional的field & value 後傳回
strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml);
}
// //執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL);
// //Return success
AddSubcontractorContRet = "success";
}
catch (Exception e1)
{
AddSubcontractorContRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.AddSubcontractorCont: " & e1.Message)
return AddSubcontractorContRet;
}
public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
{
string EditSubcontractorContRet = default(string);
// 此 Function 將修改一筆資料
// 傳入值: 各欄位修改值
// 傳回值: success(成功), fail(失敗)
try
{
// 先給定strSQL一定有的欄位
strSQL = "Update tblENTSubcontractorCont_21699 Set ";
if ((TelNo ?? "") != defString)
{
strSQL += "TelNo = '" + TelNo + "',";
}
if ((FaxNo ?? "") != defString)
{
strSQL += "FaxNo = '" + FaxNo + "',";
}
if ((Title ?? "") != defString)
{
strSQL += "Title = '" + Title + "',";
}
if ((Address ?? "") != defString)
{
strSQL += "Address = '" + Address + "',";
}
if ((EMail ?? "") != defString)
{
strSQL += "EMail = '" + EMail + "',";
}
if ((Description ?? "") != defString)
{
strSQL += "Description = '" + Description + "',";
}
if (Reviser != defString)
strSQL = strSQL + "Reviser = '" + Reviser + "',";
if (ReviseDate != defDateTime)
strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),";
if (DataStamp != defInteger)
strSQL = strSQL + "DataStamp = DataStamp + 1 ,";
// 有額外的欄位時再Append進原來的strSQL中
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的field & value
strSQL += SeparateAddXML_Edit(AdditionalXml);
}
// 去除strSQL中最後一個 ","
if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位
{
if (Strings.Right(strSQL, 1) == ",")
{
strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1);
}
strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'";
strSQL = strSQL + " And DataStamp = '" + DataStamp + "'";
// 有額外的條件式時再Append進原來的strSQL中
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// 呼叫執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true);
}
// //Return success
EditSubcontractorContRet = "success";
}
catch (Exception e1)
{
EditSubcontractorContRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.EditSubcontractorCont: " & e1.Message)
return EditSubcontractorContRet;
}
public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "")
{
string DelSubcontractorContRet = default(string);
// 此 Function 將刪除資料
// 傳入值: 刪除的索引值
// 傳回值: success(成功), fail(失敗)
try
{
strSQL = "Delete From tblENTSubcontractorCont_21699 " + " Where SubcontractorNo='" + SubcontractorNo + "'";
if ((ContactorName ?? "") != defString)
{
strSQL += " And ContactorName = '" + ContactorName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// 呼叫執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL);
// //Return success
DelSubcontractorContRet = "success";
}
catch (Exception e1)
{
DelSubcontractorContRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.DelSubcontractorCont: " & e1.Message)
return DelSubcontractorContRet;
}
public string LoadSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "")
{
string LoadSubcontractorContRet = default(string);
// 此 Function 將資料以XML方式取出
// 傳入值: 索引值
// 傳回值: XML(成功), fail(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractorCont_21699 Where SubcontractorNo Is Not Null";
// 有傳入SubcontractorNo表示只取該SubcontractorNo之資料
if ((SubcontractorNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
}
if ((ContactorName ?? "") != defString)
{
strSQL += " And ContactorName = '" + ContactorName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21699", cnnTemp);
// //Combine return value
LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont_21699", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), "");
}
catch (Exception e1)
{
LoadSubcontractorContRet = "fail";
throw;
} // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return LoadSubcontractorContRet;
}
public DataSet ShowSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "")
{
DataSet ShowSubcontractorContRet = default(DataSet);
// 此 Function 將資料以 Dataset 方式取出
// 傳入值: 索引值
// 傳回值: Dataset(成功), Nothing(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractorCont_21699 Where SubcontractorNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
}
if ((ContactorName ?? "") != defString)
{
strSQL += " And ContactorName = '" + ContactorName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21699", cnnTemp);
// //Return data
ShowSubcontractorContRet = dsENT;
}
catch (Exception e1)
{
ShowSubcontractorContRet = null;
throw;
} // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return ShowSubcontractorContRet;
}
public DataRow GetSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "")
{
DataRow GetSubcontractorContRet = default(DataRow);
// 此 Function 將資料以 DataRow 方式取出
// 傳入值: 索引值
// 傳回值: DataRow(成功), Nothing(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractorCont_21699 Where SubcontractorNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
}
if ((ContactorName ?? "") != defString)
{
strSQL += " And ContactorName = '" + ContactorName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21699", 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
}
}

View File

@ -0,0 +1,973 @@
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 clsENT21699 : 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 clsENT21699()
{
// 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 JT21699 = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "")
{
string AddSubcontractorRet = default(string);
// 此 Function 將新增一筆資料
// 傳入值: 各欄位新增值
// 傳回值: success(成功), fail(失敗)
if (CreateDate == defDateTime)
CreateDate = DateTime.Now;
try
{
strSQLAddField = "Insert into tblENTSubcontractor_21699 (SubcontractorNo, SubcontractorName, IssueState";
strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0";
if ((Description ?? "") != defString)
{
strSQLAddField += ",Description";
strSQLAddValue += ",'" + Description + "'";
}
if ((JT21699 ?? "") != defString)
{
strSQLAddField += ",JT21699";
strSQLAddValue += ",'" + JT21699 + "'";
}
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 JT21699 = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
{
string EditSubcontractorRet = default(string);
// 此 Function 將修改一筆資料
// 傳入值: 各欄位修改值
// 傳回值: success(成功), fail(失敗)
try
{
// 先給定strSQL一定有的欄位
strSQL = "Update tblENTSubcontractor_21699 Set ";
if ((SubcontractorName ?? "") != defString)
{
strSQL += "SubcontractorName = '" + SubcontractorName + "',";
}
if ((Description ?? "") != defString)
{
strSQL += "Description = '" + Description + "',";
}
if ((JT21699 ?? "") != defString)
{
strSQL += "JT21699 = '" + JT21699 + "',";
}
if (Reviser != defString)
strSQL = strSQL + "Reviser = '" + Reviser + "',";
if (ReviseDate != defDateTime)
strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),";
if (DataStamp != defInteger)
strSQL = strSQL + "DataStamp = DataStamp + 1 ,";
// 有額外的欄位時再Append進原來的strSQL中
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的field & value
strSQL += SeparateAddXML_Edit(AdditionalXml);
}
// 去除strSQL中最後一個 ","
if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位
{
if (Strings.Right(strSQL, 1) == ",")
{
strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1);
}
strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'";
strSQL = strSQL + " And DataStamp = '" + DataStamp + "'";
// 有額外的條件式時再Append進原來的strSQL中
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// 呼叫執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true);
}
// //Return success
EditSubcontractorRet = "success";
}
catch (Exception e1)
{
EditSubcontractorRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.EditSubcontractor: " & e1.Message)
return EditSubcontractorRet;
}
public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "")
{
string DelSubcontractorRet = default(string);
// 此 Function 將刪除資料
// 傳入值: 刪除的索引值
// 傳回值: success(成功), fail(失敗)
var CollectionSQL = new Collection();
try
{
// 1. 刪除Contactor
strSQL = "Delete From tblENTSubcontractorCont_21699 " + "Where SubcontractorNo='" + SubcontractorNo + "'";
CollectionSQL.Add(strSQL);
// 2. 刪除主檔
strSQL = "Delete From tblENTSubcontractor_21699 " + " Where SubcontractorNo ='" + SubcontractorNo + "'";
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
CollectionSQL.Add(strSQL);
// 呼叫執行SQL指令
ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL);
// //Return success
DelSubcontractorRet = "success";
}
catch (Exception e1)
{
DelSubcontractorRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.DelSubcontractor: " & e1.Message)
return DelSubcontractorRet;
}
public string LoadSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "")
{
string LoadSubcontractorRet = default(string);
// 此 Function 將資料以XML方式取出
// 傳入值: 索引值
// 傳回值: XML(成功), fail(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractor_21699 Where SubcontractorNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
}
if (IssueState != defInteger)
{
strSQL += " And IssueState = " + IssueState;
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21699", cnnTemp);
// //Combine return value
LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor_21699", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), "");
}
catch (Exception e1)
{
LoadSubcontractorRet = "fail";
throw;
} // New Exception("kcENT.LoadSubcontractor: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return LoadSubcontractorRet;
}
public DataSet ShowSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "")
{
DataSet ShowSubcontractorRet = default(DataSet);
// 此 Function 將資料以 Dataset 方式取出
// 傳入值: 索引值
// 傳回值: Dataset(成功), Nothing(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractor_21699 Where SubcontractorNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
}
if (IssueState != defInteger)
{
strSQL += " And IssueState = " + IssueState;
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21699", cnnTemp);
// //Return data
ShowSubcontractorRet = dsENT;
}
catch (Exception e1)
{
ShowSubcontractorRet = null;
throw;
} // New Exception("kcENT.ShowSubcontractor: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return ShowSubcontractorRet;
}
public DataRow GetSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "")
{
DataRow GetSubcontractorRet = default(DataRow);
// 此 Function 將資料以 DataRow 方式取出
// 傳入值: 索引值
// 傳回值: DataRow(成功), Nothing(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractor_21699 Where SubcontractorNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
}
if (IssueState != defInteger)
{
strSQL += " And IssueState = " + IssueState;
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21699", cnnTemp);
// //Return data
if (dsENT.Tables[0].Rows.Count > 0)
{
GetSubcontractorRet = dsENT.Tables[0].Rows[0];
}
else
{
GetSubcontractorRet = dsENT.Tables[0].NewRow();
}
}
catch (Exception e1)
{
GetSubcontractorRet = null;
throw;
} // New Exception("kcENT.GetSubcontractor: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return GetSubcontractorRet;
}
public string SetSubcontractorIssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
{
string SetSubcontractorIssueStateRet = default(string);
// 此 Function 將修改IssueState欄位的值
// 傳入值: IssueState修改後的值及VendorNo
// 傳回值: success(成功), fail(失敗)
try
{
// 先給定strSQL一定有的欄位
strSQL = "Update tblENTSubcontractor_21699 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, string JT21699 = defString, DateTime CreateDate = default(DateTime))
{
string AddSubcontractorContRet = default(string);
// 此 Function 將新增一筆資料
// 傳入值: 各欄位新增值
// 傳回值: success(成功), fail(失敗)
try
{
strSQLAddField = "Insert into tblENTSubcontractorCont_21699 (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 (JT21699 != defString)
{
strSQLAddField = strSQLAddField + ",JT21699";
strSQLAddValue = strSQLAddValue + ",'" + JT21699 + "'";
}
if (CreateDate != defDateTime)
{
strSQLAddField = strSQLAddField + ",CreateDate";
strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')";
}
if (string.IsNullOrEmpty(AdditionalXml))
{
// 當沒有額外的欄位時,直接給定strSQL
strSQL = strSQLAddField + ")" + strSQLAddValue + ")";
}
else
{
// 加上additional的field & value 後傳回
strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml);
}
// //執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL);
// //Return success
AddSubcontractorContRet = "success";
}
catch (Exception e1)
{
AddSubcontractorContRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.AddSubcontractorCont: " & e1.Message)
return AddSubcontractorContRet;
}
public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
{
string EditSubcontractorContRet = default(string);
// 此 Function 將修改一筆資料
// 傳入值: 各欄位修改值
// 傳回值: success(成功), fail(失敗)
try
{
// 先給定strSQL一定有的欄位
strSQL = "Update tblENTSubcontractorCont_21699 Set ";
if ((TelNo ?? "") != defString)
{
strSQL += "TelNo = '" + TelNo + "',";
}
if ((FaxNo ?? "") != defString)
{
strSQL += "FaxNo = '" + FaxNo + "',";
}
if ((Title ?? "") != defString)
{
strSQL += "Title = '" + Title + "',";
}
if ((Address ?? "") != defString)
{
strSQL += "Address = '" + Address + "',";
}
if ((EMail ?? "") != defString)
{
strSQL += "EMail = '" + EMail + "',";
}
if ((Description ?? "") != defString)
{
strSQL += "Description = '" + Description + "',";
}
if (Reviser != defString)
strSQL = strSQL + "Reviser = '" + Reviser + "',";
if (ReviseDate != defDateTime)
strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),";
if (DataStamp != defInteger)
strSQL = strSQL + "DataStamp = DataStamp + 1 ,";
// 有額外的欄位時再Append進原來的strSQL中
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的field & value
strSQL += SeparateAddXML_Edit(AdditionalXml);
}
// 去除strSQL中最後一個 ","
if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位
{
if (Strings.Right(strSQL, 1) == ",")
{
strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1);
}
strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'";
strSQL = strSQL + " And DataStamp = '" + DataStamp + "'";
// 有額外的條件式時再Append進原來的strSQL中
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// 呼叫執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true);
}
// //Return success
EditSubcontractorContRet = "success";
}
catch (Exception e1)
{
EditSubcontractorContRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.EditSubcontractorCont: " & e1.Message)
return EditSubcontractorContRet;
}
public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "")
{
string DelSubcontractorContRet = default(string);
// 此 Function 將刪除資料
// 傳入值: 刪除的索引值
// 傳回值: success(成功), fail(失敗)
try
{
strSQL = "Delete From tblENTSubcontractorCont_21699 " + " Where SubcontractorNo='" + SubcontractorNo + "'";
if ((ContactorName ?? "") != defString)
{
strSQL += " And ContactorName = '" + ContactorName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// 呼叫執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL);
// //Return success
DelSubcontractorContRet = "success";
}
catch (Exception e1)
{
DelSubcontractorContRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.DelSubcontractorCont: " & e1.Message)
return DelSubcontractorContRet;
}
public string LoadSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "")
{
string LoadSubcontractorContRet = default(string);
// 此 Function 將資料以XML方式取出
// 傳入值: 索引值
// 傳回值: XML(成功), fail(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractorCont_21699 Where SubcontractorNo Is Not Null";
// 有傳入SubcontractorNo表示只取該SubcontractorNo之資料
if ((SubcontractorNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
}
if ((ContactorName ?? "") != defString)
{
strSQL += " And ContactorName = '" + ContactorName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21699", cnnTemp);
// //Combine return value
LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont_21699", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), "");
}
catch (Exception e1)
{
LoadSubcontractorContRet = "fail";
throw;
} // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return LoadSubcontractorContRet;
}
public DataSet ShowSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "")
{
DataSet ShowSubcontractorContRet = default(DataSet);
// 此 Function 將資料以 Dataset 方式取出
// 傳入值: 索引值
// 傳回值: Dataset(成功), Nothing(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractorCont_21699 Where SubcontractorNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
}
if ((ContactorName ?? "") != defString)
{
strSQL += " And ContactorName = '" + ContactorName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21699", cnnTemp);
// //Return data
ShowSubcontractorContRet = dsENT;
}
catch (Exception e1)
{
ShowSubcontractorContRet = null;
throw;
} // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return ShowSubcontractorContRet;
}
public DataRow GetSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "")
{
DataRow GetSubcontractorContRet = default(DataRow);
// 此 Function 將資料以 DataRow 方式取出
// 傳入值: 索引值
// 傳回值: DataRow(成功), Nothing(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractorCont_21699 Where SubcontractorNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
}
if ((ContactorName ?? "") != defString)
{
strSQL += " And ContactorName = '" + ContactorName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21699", 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
}
}

View File

@ -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;
}
}
}

File diff suppressed because it is too large Load Diff