Initial commit
This commit is contained in:
commit
1ce16787a9
10
.gitignore
vendored
Normal file
10
.gitignore
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
*.xml
|
||||
*.dll
|
||||
*.suo
|
||||
*.cache
|
||||
/SRC/MES_C_DLL
|
||||
/SRC/MES_S_DLL
|
||||
/SRC/MESClient
|
||||
/SRC/**/obj
|
||||
/SRC/**/.vs
|
||||
|
||||
BIN
Language/mesresource.en.resources91
Normal file
BIN
Language/mesresource.en.resources91
Normal file
Binary file not shown.
BIN
Language/mesresource.zh-chs.resources91
Normal file
BIN
Language/mesresource.zh-chs.resources91
Normal file
Binary file not shown.
BIN
Language/mesresource.zh-cht.resources91
Normal file
BIN
Language/mesresource.zh-cht.resources91
Normal file
Binary file not shown.
BIN
SQLScript/InitData.xlsx
Normal file
BIN
SQLScript/InitData.xlsx
Normal file
Binary file not shown.
BIN
SQLScript/Tables.xlsx
Normal file
BIN
SQLScript/Tables.xlsx
Normal file
Binary file not shown.
31
SRC/MESAgent/AutoLoaderLib/AssemblyInfo.cs
Normal file
31
SRC/MESAgent/AutoLoaderLib/AssemblyInfo.cs
Normal file
@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 一般的組件資訊是由下列這組屬性所控制。
|
||||
// 變更這些屬性的值即可修改組件的相關資訊。
|
||||
// 檢閱組件屬性的值
|
||||
|
||||
[assembly: AssemblyTitle("AutoLoaderLib")]
|
||||
[assembly: AssemblyDescription("AutoLoaderLib for MESSeries")]
|
||||
[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("7BE710A6-63DB-4425-9C60-EC4387F6A585")]
|
||||
|
||||
// 組件的版本資訊由下列四個值所組成:
|
||||
//
|
||||
// 主要版本
|
||||
// 次要版本
|
||||
// 組建編號
|
||||
// 修訂
|
||||
//
|
||||
// 您可以自行指定所有的值,也可以依照以下的方式,使用 '*' 將修訂和組建編號
|
||||
// 指定為預設值:
|
||||
|
||||
[assembly: AssemblyVersion("6.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("6.0.0.0")]
|
||||
258
SRC/MESAgent/AutoLoaderLib/AutoLoaderLib_C.csproj
Normal file
258
SRC/MESAgent/AutoLoaderLib/AutoLoaderLib_C.csproj
Normal file
@ -0,0 +1,258 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
|
||||
<PropertyGroup>
|
||||
<ProjectType>Local</ProjectType>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{7C0468A8-E807-0FF4-0C04-C1AD9B3D7D2A}</ProjectGuid>
|
||||
<SccProjectName>SAK</SccProjectName>
|
||||
<SccLocalPath>SAK</SccLocalPath>
|
||||
<SccAuxPath>SAK</SccAuxPath>
|
||||
<SccProvider>SAK</SccProvider>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ApplicationIcon>
|
||||
</ApplicationIcon>
|
||||
<AssemblyKeyContainerName>
|
||||
</AssemblyKeyContainerName>
|
||||
<AssemblyName>AutoLoaderLib_C</AssemblyName>
|
||||
<AssemblyOriginatorKeyFile>
|
||||
</AssemblyOriginatorKeyFile>
|
||||
<AssemblyOriginatorKeyMode>None</AssemblyOriginatorKeyMode>
|
||||
<DefaultClientScript>JScript</DefaultClientScript>
|
||||
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
|
||||
<DefaultTargetSchema>IE50</DefaultTargetSchema>
|
||||
<DelaySign>false</DelaySign>
|
||||
<OutputType>Library</OutputType>
|
||||
<OptionCompare>Binary</OptionCompare>
|
||||
<OptionExplicit>On</OptionExplicit>
|
||||
<OptionStrict>Off</OptionStrict>
|
||||
<RootNamespace>AutoLoaderLib_C</RootNamespace>
|
||||
<StartupObject>
|
||||
</StartupObject>
|
||||
<WebReference_EnableProperties>true</WebReference_EnableProperties>
|
||||
<WebReference_EnableSQLTypes>false</WebReference_EnableSQLTypes>
|
||||
<WebReference_EnableLegacyEventingModel>true</WebReference_EnableLegacyEventingModel>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<MyType>Windows</MyType>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<TargetFrameworkProfile />
|
||||
<DefaultItemExcludes>$(DefaultItemExcludes);$(ProjectDir)**\*.vb</DefaultItemExcludes>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>..\..\MES_S_DLL\</OutputPath>
|
||||
<DocumentationFile>..\..\MES_S_DLL\AutoLoaderLib_C.xml</DocumentationFile>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<ConfigurationOverrideFile>
|
||||
</ConfigurationOverrideFile>
|
||||
<DefineConstants>
|
||||
</DefineConstants>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<Optimize>false</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
<NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>..\..\MES_S_DLL\</OutputPath>
|
||||
<DocumentationFile>..\..\MES_S_DLL\AutoLoaderLib_C.xml</DocumentationFile>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<ConfigurationOverrideFile>
|
||||
</ConfigurationOverrideFile>
|
||||
<DefineConstants>
|
||||
</DefineConstants>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<Optimize>true</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
<NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
|
||||
<DebugType>none</DebugType>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<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>
|
||||
</Reference>
|
||||
<Reference Include="iMESAppSetting, Version=6.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_S_DLL\iMESAppSetting.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="iMESComSubroutine, Version=6.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_S_DLL\iMESComSubroutine.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="iMESComXML, Version=6.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_S_DLL\iMESComXML.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="iMESConst, Version=6.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_S_DLL\iMESConst.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualBasic" />
|
||||
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_C_DLL\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="NPOI, Version=2.0.6.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_C_DLL\NPOI.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="NPOI.OOXML, Version=2.0.6.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_C_DLL\NPOI.OOXML.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="NPOI.OpenXml4Net, Version=2.0.6.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_C_DLL\NPOI.OpenXml4Net.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="NPOI.OpenXmlFormats, Version=2.0.6.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_C_DLL\NPOI.OpenXmlFormats.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System">
|
||||
<Name>System</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Data">
|
||||
<Name>System.Data</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
<Reference Include="System.Web.Services">
|
||||
<Name>System.Web.Services</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml">
|
||||
<Name>System.XML</Name>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Import Include="Microsoft.VisualBasic" />
|
||||
<Import Include="System" />
|
||||
<Import Include="System.Collections" />
|
||||
<Import Include="System.Data" />
|
||||
<Import Include="System.Diagnostics" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Web References\wsInvoke\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="app.config" />
|
||||
<None Include="My Project\Settings.settings">
|
||||
<CustomToolNamespace>AutoLoaderLib_C.My</CustomToolNamespace>
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="AssemblyInfo.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="clsAutoLoaderLibrary.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="EPIParseTemplate.cs" />
|
||||
<Compile Include="modAutoLoaderLibrary.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="modWIN.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ParseNEL.cs" />
|
||||
<Compile Include="ParsePL.cs" />
|
||||
<Compile Include="ParsePR.cs" />
|
||||
<Compile Include="ParseQEL.cs" />
|
||||
<None Include="Web References\wsInvoke\Reference.map">
|
||||
<Generator>MSDiscoCodeGenerator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\wsInvoke\wsInvoke.wsdl" />
|
||||
<WebReferences Include="Web References\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WCFMetadata Include="Service References\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WebReferenceUrl Include="http://localhost/MESws_Industry/wsInvoke.asmx">
|
||||
<UrlBehavior>Dynamic</UrlBehavior>
|
||||
<RelPath>Web References\wsInvoke\</RelPath>
|
||||
<UpdateFromURL>http://localhost/MESws_Industry/wsInvoke.asmx</UpdateFromURL>
|
||||
<ServiceLocationURL>
|
||||
</ServiceLocationURL>
|
||||
<CachedDynamicPropName>
|
||||
</CachedDynamicPropName>
|
||||
<CachedAppSettingsObjectName>MySettings</CachedAppSettingsObjectName>
|
||||
<CachedSettingsPropName>AutoLoaderLib_wsInvoke_wsInvoke</CachedSettingsPropName>
|
||||
</WebReferenceUrl>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Web References\wsInvoke\wsInvoke.disco" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
32
SRC/MESAgent/AutoLoaderLib/AutoLoaderLib_C.sln
Normal file
32
SRC/MESAgent/AutoLoaderLib/AutoLoaderLib_C.sln
Normal file
@ -0,0 +1,32 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutoLoaderLib_C", "AutoLoaderLib_C.csproj", "{7C0468A8-E807-0FF4-0C04-C1AD9B3D7D2A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7C0468A8-E807-0FF4-0C04-C1AD9B3D7D2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7C0468A8-E807-0FF4-0C04-C1AD9B3D7D2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7C0468A8-E807-0FF4-0C04-C1AD9B3D7D2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7C0468A8-E807-0FF4-0C04-C1AD9B3D7D2A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(TeamFoundationVersionControl) = preSolution
|
||||
SccNumberOfProjects = 1
|
||||
SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
|
||||
SccTeamFoundationServer = http://tfs.imestech.com:8080/tfs/messeries6
|
||||
SccProjectUniqueName0 = AutoLoaderLib_C.csproj
|
||||
SccProjectName0 = .
|
||||
SccAuxPath0 = http://tfs.imestech.com:8080/tfs/messeries6
|
||||
SccLocalPath0 = .
|
||||
SccProvider0 = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
236
SRC/MESAgent/AutoLoaderLib/EPIParseTemplate.cs
Normal file
236
SRC/MESAgent/AutoLoaderLib/EPIParseTemplate.cs
Normal file
@ -0,0 +1,236 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using iMESCore.Settings;
|
||||
using Microsoft.VisualBasic;
|
||||
using static iMESCore.DataBase.iMESSql;
|
||||
|
||||
namespace AutoLoaderLib_C
|
||||
{
|
||||
|
||||
public abstract class EPIParseTemplate
|
||||
{
|
||||
|
||||
// 設定暫存資料表的欄位
|
||||
internal abstract bool AddColumns(DataTable dt);
|
||||
|
||||
// 解析資料, 並寫入暫存資料表
|
||||
internal abstract bool ParsingFile(DataTable dt, string file);
|
||||
|
||||
// 將暫存資料表寫入資料庫
|
||||
internal abstract bool InsertTable(DataTable dt);
|
||||
|
||||
internal IDbConnection objConnection;
|
||||
|
||||
public enum FileTypeEnum
|
||||
{
|
||||
csv = 0,
|
||||
xls = 1,
|
||||
dat = 2
|
||||
}
|
||||
|
||||
private string[] wildcards = new string[] { "*.csv", "*.xls", "*.dat" };
|
||||
private string strDataBaseType; // DataBase Type:oracle, mysql, access
|
||||
private string strConnectionString; // Connection string
|
||||
private AppSettings objSetting = new AppSettings();
|
||||
private DataTable objDataTable;
|
||||
private string SourcePath;
|
||||
private string DestinationPath;
|
||||
private string QueuePath;
|
||||
private string FailPath;
|
||||
|
||||
/// <summary>
|
||||
/// 建構子
|
||||
/// </summary>
|
||||
/// <param name="paramSourcePath"></param>
|
||||
/// <param name="paramDestinationPath"></param>
|
||||
/// <param name="paramQueuePath"></param>
|
||||
/// <param name="paramFailPath"></param>
|
||||
/// <remarks></remarks>
|
||||
public EPIParseTemplate(string paramSourcePath, string paramDestinationPath, string paramQueuePath, string paramFailPath)
|
||||
{
|
||||
|
||||
objSetting = new AppSettings();
|
||||
|
||||
// //Get database type
|
||||
strDataBaseType = objSetting.GetDataBaseType();
|
||||
|
||||
// //Get connection string
|
||||
strConnectionString = objSetting.GetConnectionString(strDataBaseType);
|
||||
|
||||
objConnection = CreateConnection(strConnectionString);
|
||||
|
||||
if (Strings.Right(paramSourcePath, 1) != @"\")
|
||||
{
|
||||
paramSourcePath += @"\";
|
||||
}
|
||||
|
||||
SourcePath = paramSourcePath;
|
||||
|
||||
if (Strings.Right(paramDestinationPath, 1) != @"\")
|
||||
{
|
||||
paramDestinationPath += @"\";
|
||||
}
|
||||
|
||||
DestinationPath = paramDestinationPath;
|
||||
|
||||
if (Strings.Right(paramQueuePath, 1) != @"\")
|
||||
{
|
||||
paramQueuePath += @"\";
|
||||
}
|
||||
|
||||
QueuePath = paramQueuePath;
|
||||
|
||||
if (Strings.Right(paramFailPath, 1) != @"\")
|
||||
{
|
||||
paramFailPath += @"\";
|
||||
}
|
||||
|
||||
FailPath = paramFailPath;
|
||||
|
||||
}
|
||||
|
||||
~EPIParseTemplate()
|
||||
{
|
||||
|
||||
if (objConnection != null)
|
||||
{
|
||||
objConnection = null;
|
||||
}
|
||||
|
||||
if (objSetting != null)
|
||||
{
|
||||
objSetting = null;
|
||||
}
|
||||
|
||||
if (objDataTable != null)
|
||||
{
|
||||
objDataTable = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 解析資料
|
||||
/// </summary>
|
||||
/// <param name="paramFileType"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
public string ParsingData(FileTypeEnum paramFileType)
|
||||
{
|
||||
|
||||
string strResult = string.Empty;
|
||||
string QueueFile = "";
|
||||
string DestinationFile = "";
|
||||
string FailFile = "";
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
objDataTable = new DataTable("RawData");
|
||||
|
||||
// 設定暫存資料表的欄位
|
||||
if (AddColumns(objDataTable))
|
||||
{
|
||||
|
||||
foreach (var SourceFile in Directory.GetFiles(SourcePath, wildcards[(int)paramFileType], SearchOption.TopDirectoryOnly))
|
||||
{
|
||||
|
||||
if (File.Exists(SourceFile))
|
||||
{
|
||||
|
||||
QueueFile = QueuePath + Path.GetFileName(SourceFile);
|
||||
DestinationFile = DestinationPath + Path.GetFileName(SourceFile);
|
||||
FailFile = FailPath + Path.GetFileName(SourceFile);
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
// 將檔案從 Source 移至 Queue
|
||||
MoveFile(SourceFile, QueueFile);
|
||||
|
||||
objDataTable.Rows.Clear();
|
||||
|
||||
// 解析資料, 並寫入暫存資料表
|
||||
if (ParsingFile(objDataTable, QueueFile))
|
||||
{
|
||||
|
||||
// 將暫存資料表寫入資料庫
|
||||
if (InsertTable(objDataTable))
|
||||
{
|
||||
|
||||
// 將檔案從 Queue 移至 Destination
|
||||
MoveFile(QueueFile, DestinationFile);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
// 將檔案從 Queue 移至 Fail
|
||||
MoveFile(QueueFile, FailFile);
|
||||
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
strResult = "success";
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
strResult = "Message:" + ex.Message + ",StackTrace:" + ex.StackTrace;
|
||||
}
|
||||
|
||||
finally
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return strResult;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 搬移檔案
|
||||
/// </summary>
|
||||
/// <param name="paramSourceFile">來源檔案</param>
|
||||
/// <param name="paramTargetFile">目的檔案</param>
|
||||
/// <remarks></remarks>
|
||||
private void MoveFile(string paramSourceFile, string paramTargetFile)
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
// 判斷目的檔案是否已存在, 若存在必須先刪除
|
||||
if (File.Exists(paramTargetFile))
|
||||
{
|
||||
File.Delete(paramTargetFile);
|
||||
}
|
||||
|
||||
// 移動檔案至目的
|
||||
Directory.Move(paramSourceFile, paramTargetFile);
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
101
SRC/MESAgent/AutoLoaderLib/My Project/Settings.Designer.cs
generated
Normal file
101
SRC/MESAgent/AutoLoaderLib/My Project/Settings.Designer.cs
generated
Normal file
@ -0,0 +1,101 @@
|
||||
// ------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 這段程式碼是由工具產生的。
|
||||
// 執行階段版本:4.0.30319.42000
|
||||
//
|
||||
// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
|
||||
// 變更將會遺失。
|
||||
// </auto-generated>
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
using System.Diagnostics;
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
|
||||
|
||||
namespace AutoLoaderLib_C.My
|
||||
{
|
||||
|
||||
[System.Runtime.CompilerServices.CompilerGenerated()]
|
||||
[System.CodeDom.Compiler.GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
|
||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal sealed partial class MySettings : System.Configuration.ApplicationSettingsBase
|
||||
{
|
||||
|
||||
private static MySettings defaultInstance = (MySettings)Synchronized(new MySettings());
|
||||
|
||||
#region My.Settings 自動儲存功能
|
||||
/* TODO ERROR: Skipped IfDirectiveTrivia
|
||||
#If _MyType = "WindowsForms" Then
|
||||
*//* TODO ERROR: Skipped DisabledTextTrivia
|
||||
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(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
|
||||
If My.Application.SaveMySettingsOnExit Then
|
||||
My.Settings.Save()
|
||||
End If
|
||||
End Sub
|
||||
*//* TODO ERROR: Skipped EndIfDirectiveTrivia
|
||||
#End If
|
||||
*/
|
||||
#endregion
|
||||
|
||||
public static MySettings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
|
||||
/* TODO ERROR: Skipped IfDirectiveTrivia
|
||||
#If _MyType = "WindowsForms" Then
|
||||
*//* TODO ERROR: Skipped DisabledTextTrivia
|
||||
If Not addedHandler Then
|
||||
SyncLock addedHandlerLockObject
|
||||
If Not addedHandler Then
|
||||
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
|
||||
addedHandler = True
|
||||
End If
|
||||
End SyncLock
|
||||
End If
|
||||
*//* TODO ERROR: Skipped EndIfDirectiveTrivia
|
||||
#End If
|
||||
*/
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[System.Configuration.ApplicationScopedSetting()]
|
||||
[DebuggerNonUserCode()]
|
||||
[System.Configuration.SpecialSetting(System.Configuration.SpecialSetting.WebServiceUrl)]
|
||||
[System.Configuration.DefaultSettingValue("http://localhost/MESws_Industry/wsInvoke.asmx")]
|
||||
public string AutoLoaderLib_wsInvoke_wsInvoke
|
||||
{
|
||||
get
|
||||
{
|
||||
return Conversions.ToString(this["AutoLoaderLib_wsInvoke_wsInvoke"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace AutoLoaderLib_C.My
|
||||
{
|
||||
|
||||
[HideModuleName()]
|
||||
[DebuggerNonUserCode()]
|
||||
[System.Runtime.CompilerServices.CompilerGenerated()]
|
||||
internal static class MySettingsProperty
|
||||
{
|
||||
|
||||
[System.ComponentModel.Design.HelpKeyword("My.Settings")]
|
||||
internal static MySettings Settings
|
||||
{
|
||||
get
|
||||
{
|
||||
return MySettings.Default;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
9
SRC/MESAgent/AutoLoaderLib/My Project/Settings.settings
Normal file
9
SRC/MESAgent/AutoLoaderLib/My Project/Settings.settings
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="AutoLoaderLib_wsInvoke_wsInvoke" Type="(Web Service URL)" Scope="Application">
|
||||
<Value Profile="(Default)">http://localhost/MESws_Industry/wsInvoke.asmx</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
247
SRC/MESAgent/AutoLoaderLib/ParseNEL.cs
Normal file
247
SRC/MESAgent/AutoLoaderLib/ParseNEL.cs
Normal file
@ -0,0 +1,247 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using static iMESCore.DataBase.iMESSql;
|
||||
|
||||
namespace AutoLoaderLib_C
|
||||
{
|
||||
|
||||
public class ParseNEL : EPIParseTemplate
|
||||
{
|
||||
|
||||
|
||||
// 呼叫父類別的建構子
|
||||
public ParseNEL(string paramSourcePath, string paramDestinationPath, string paramQueuePath, string paramFailPath) : base(paramSourcePath, paramDestinationPath, paramQueuePath, paramFailPath)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 設定暫存資料表的欄位
|
||||
/// </summary>
|
||||
/// <param name="dt"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
internal override bool AddColumns(DataTable dt)
|
||||
{
|
||||
|
||||
bool blnResult = false;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
dt.Columns.Add("WaferID", Type.GetType("System.String"));
|
||||
dt.Columns.Add("POS", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("LOP1", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("WLD1", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("VF1", Type.GetType("System.Decimal"));
|
||||
|
||||
blnResult = true;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
return blnResult;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 將暫存資料表寫入資料庫
|
||||
/// </summary>
|
||||
/// <param name="dt"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
internal override bool InsertTable(DataTable dt)
|
||||
{
|
||||
|
||||
bool blnResult = false;
|
||||
string strSQL_Raw;
|
||||
string strSQL_Avg;
|
||||
string WaferID = "";
|
||||
decimal LOP1 = 0m;
|
||||
decimal WLD1 = 0m;
|
||||
decimal VF1 = 0m;
|
||||
|
||||
strSQL_Raw = " INSERT INTO TBL_LEDLD_EL_N_RAW " + " (WaferID, CreateDate, POS, LOP1, WLD1, VF1) " + " VALUES ('{0}', SYSDATE, {1}, {2}, {3}, {4}) ";
|
||||
|
||||
|
||||
strSQL_Avg = " INSERT INTO TBL_LEDLD_EL_N " + " (WaferID, CreateDate, LOP1, WLD1, VF1) " + " VALUES ('{0}', SYSDATE, {1}, {2}, {3}) ";
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var oTran = objConnection.BeginTransaction())
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var cmd = CreateCommand())
|
||||
{
|
||||
|
||||
cmd.Connection = objConnection;
|
||||
cmd.Transaction = oTran;
|
||||
|
||||
if (dt.Rows.Count > 0)
|
||||
{
|
||||
|
||||
for (int i = 0, loopTo = dt.Rows.Count - 1; i <= loopTo; i++)
|
||||
{
|
||||
|
||||
cmd.CommandText = string.Format(strSQL_Raw, dt.Rows[i]["WaferID"], dt.Rows[i]["POS"], dt.Rows[i]["LOP1"], dt.Rows[i]["WLD1"], dt.Rows[i]["VF1"]);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
WaferID = Conversions.ToString(dt.Rows[i]["WaferID"]);
|
||||
LOP1 = LOP1 + (decimal)dt.Rows[i]["LOP1"];
|
||||
WLD1 = WLD1 + (decimal)dt.Rows[i]["WLD1"];
|
||||
VF1 = VF1 + (decimal)dt.Rows[i]["VF1"];
|
||||
|
||||
}
|
||||
|
||||
cmd.CommandText = string.Format(strSQL_Avg, WaferID, LOP1 / dt.Rows.Count, WLD1 / dt.Rows.Count, VF1 / dt.Rows.Count);
|
||||
|
||||
|
||||
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
oTran.Commit();
|
||||
|
||||
blnResult = true;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
oTran.Rollback();
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
return blnResult;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 解析資料, 並寫入暫存資料表
|
||||
/// </summary>
|
||||
/// <param name="dt"></param>
|
||||
/// <param name="file"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
internal override bool ParsingFile(DataTable dt, string file)
|
||||
{
|
||||
|
||||
bool blnResult = false;
|
||||
DataRow dr = null;
|
||||
string line;
|
||||
string[] tmpData;
|
||||
bool startParsing = false;
|
||||
string WaferID;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
// 檔名即為 WaferID
|
||||
var fi = new FileInfo(file);
|
||||
WaferID = fi.Name.Replace(fi.Extension, "");
|
||||
fi = null;
|
||||
|
||||
using (var sr = new StreamReader(file))
|
||||
{
|
||||
|
||||
do
|
||||
{
|
||||
|
||||
line = sr.ReadLine();
|
||||
|
||||
if (!string.IsNullOrEmpty(line))
|
||||
{
|
||||
|
||||
if (startParsing)
|
||||
{
|
||||
|
||||
tmpData = line.Split(',');
|
||||
|
||||
dr = dt.NewRow();
|
||||
|
||||
dr["WaferID"] = WaferID;
|
||||
dr["POS"] = Convert.ToDecimal(tmpData[0].Trim());
|
||||
dr["LOP1"] = Convert.ToDecimal(tmpData[4].Trim());
|
||||
dr["WLD1"] = Convert.ToDecimal(tmpData[5].Trim());
|
||||
dr["VF1"] = Convert.ToDecimal(tmpData[3].Trim());
|
||||
|
||||
dt.Rows.Add(dr);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
|
||||
Debug.Print(line);
|
||||
|
||||
if (line.IndexOf("PosX") >= 0 && line.IndexOf("PosY") >= 0)
|
||||
{
|
||||
startParsing = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
while (!(line == null));
|
||||
|
||||
blnResult = true;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
}
|
||||
|
||||
finally
|
||||
{
|
||||
|
||||
if (dr != null)
|
||||
{
|
||||
dr = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return blnResult;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
245
SRC/MESAgent/AutoLoaderLib/ParsePL.cs
Normal file
245
SRC/MESAgent/AutoLoaderLib/ParsePL.cs
Normal file
@ -0,0 +1,245 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using static iMESCore.DataBase.iMESSql;
|
||||
|
||||
namespace AutoLoaderLib_C
|
||||
{
|
||||
|
||||
public class ParsePL : EPIParseTemplate
|
||||
{
|
||||
|
||||
|
||||
// 呼叫父類別的建構子
|
||||
public ParsePL(string paramSourcePath, string paramDestinationPath, string paramQueuePath, string paramFailPath) : base(paramSourcePath, paramDestinationPath, paramQueuePath, paramFailPath)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 設定暫存資料表的欄位
|
||||
/// </summary>
|
||||
/// <param name="dt"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
internal override bool AddColumns(DataTable dt)
|
||||
{
|
||||
|
||||
bool blnResult = false;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
dt.Columns.Add("WaferID", Type.GetType("System.String"));
|
||||
dt.Columns.Add("MeasurementTime", Type.GetType("System.String"));
|
||||
dt.Columns.Add("NG", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("OK", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("Yield", Type.GetType("System.String"));
|
||||
dt.Columns.Add("Setup", Type.GetType("System.String"));
|
||||
dt.Columns.Add("LaserOutput", Type.GetType("System.String"));
|
||||
dt.Columns.Add("WPMIN", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("WPMAX", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("WPAVG", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("WPDEV", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("FWHMMIN", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("FWHMMAX", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("FWHMAVG", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("FWHMDEV", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("WDMIN", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("WDMAX", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("WDAVG", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("WDDEV", Type.GetType("System.Decimal"));
|
||||
|
||||
blnResult = true;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
return blnResult;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 將暫存資料表寫入資料庫
|
||||
/// </summary>
|
||||
/// <param name="dt"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
internal override bool InsertTable(DataTable dt)
|
||||
{
|
||||
|
||||
bool blnResult = false;
|
||||
string strSQL;
|
||||
|
||||
strSQL = " INSERT INTO TBL_LEDLD_PL " + " (WaferID, CreateDate, MeasurementTime, NG, OK, Yield, Setup, LaserOutput, " + " WPMIN, WPMAX, WPAVG, WPDEV, " + " FWHMMIN, FWHMMAX, FWHMAVG, FWHMDEV, " + " WDMIN, WDMAX, WDAVG, WDDEV) " + " VALUES ('{0}', SYSDATE, '{1}', {2}, {3}, '{4}', '{5}', '{6}', " + " {7}, {8}, {9}, {10}, " + " {11}, {12}, {13}, {14}, " + " {15}, {16}, {17}, {18}) ";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var oTran = objConnection.BeginTransaction())
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var cmd = CreateCommand())
|
||||
{
|
||||
|
||||
cmd.Connection = objConnection;
|
||||
cmd.Transaction = oTran;
|
||||
|
||||
for (int i = 0, loopTo = dt.Rows.Count - 1; i <= loopTo; i++)
|
||||
{
|
||||
|
||||
cmd.CommandText = string.Format(strSQL, dt.Rows[i]["WaferID"], dt.Rows[i]["MeasurementTime"], dt.Rows[i]["NG"], dt.Rows[i]["OK"], dt.Rows[i]["Yield"], dt.Rows[i]["Setup"], dt.Rows[i]["LaserOutput"], dt.Rows[i]["WPMIN"], dt.Rows[i]["WPMAX"], dt.Rows[i]["WPAVG"], dt.Rows[i]["WPDEV"], dt.Rows[i]["FWHMMIN"], dt.Rows[i]["FWHMMAX"], dt.Rows[i]["FWHMAVG"], dt.Rows[i]["FWHMDEV"], dt.Rows[i]["WDMIN"], dt.Rows[i]["WDMAX"], dt.Rows[i]["WDAVG"], dt.Rows[i]["WDDEV"]);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
oTran.Commit();
|
||||
|
||||
blnResult = true;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
oTran.Rollback();
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
return blnResult;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 解析資料, 並寫入暫存資料表
|
||||
/// </summary>
|
||||
/// <param name="dt"></param>
|
||||
/// <param name="file"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
internal override bool ParsingFile(DataTable dt, string file)
|
||||
{
|
||||
|
||||
bool blnResult = false;
|
||||
DataRow dr = null;
|
||||
string line;
|
||||
string[] tmpData;
|
||||
string LotNo;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
// 檔名即為 LotNo
|
||||
var fi = new FileInfo(file);
|
||||
LotNo = fi.Name.Replace(fi.Extension, "");
|
||||
fi = null;
|
||||
|
||||
using (var sr = new StreamReader(file))
|
||||
{
|
||||
|
||||
// 第一行是欄位抬頭
|
||||
line = sr.ReadLine();
|
||||
|
||||
do
|
||||
{
|
||||
|
||||
line = sr.ReadLine();
|
||||
|
||||
if (!string.IsNullOrEmpty(line))
|
||||
{
|
||||
|
||||
tmpData = line.Split(',');
|
||||
|
||||
dr = dt.NewRow();
|
||||
|
||||
dr["WaferID"] = tmpData[4].Trim() + tmpData[5].Trim().Substring(tmpData[5].Trim().Length - 2);
|
||||
dr["MeasurementTime"] = tmpData[3].Trim();
|
||||
dr["NG"] = Convert.ToDecimal(tmpData[11].Trim());
|
||||
dr["OK"] = Convert.ToDecimal(tmpData[12].Trim());
|
||||
dr["Yield"] = tmpData[13].Trim();
|
||||
dr["Setup"] = tmpData[14].Trim();
|
||||
dr["LaserOutput"] = tmpData[15].Trim();
|
||||
dr["WPMIN"] = Convert.ToDecimal(tmpData[16].Trim());
|
||||
dr["WPMAX"] = Convert.ToDecimal(tmpData[17].Trim());
|
||||
dr["WPAVG"] = Convert.ToDecimal(tmpData[18].Trim());
|
||||
dr["WPDEV"] = Convert.ToDecimal(tmpData[20].Trim());
|
||||
dr["FWHMMIN"] = Convert.ToDecimal(tmpData[28].Trim());
|
||||
dr["FWHMMAX"] = Convert.ToDecimal(tmpData[29].Trim());
|
||||
dr["FWHMAVG"] = Convert.ToDecimal(tmpData[30].Trim());
|
||||
dr["FWHMDEV"] = Convert.ToDecimal(tmpData[32].Trim());
|
||||
dr["WDMIN"] = Convert.ToDecimal(tmpData[40].Trim());
|
||||
dr["WDMAX"] = Convert.ToDecimal(tmpData[41].Trim());
|
||||
dr["WDAVG"] = Convert.ToDecimal(tmpData[42].Trim());
|
||||
dr["WDDEV"] = Convert.ToDecimal(tmpData[44].Trim());
|
||||
|
||||
dt.Rows.Add(dr);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
while (!string.IsNullOrEmpty(line));
|
||||
|
||||
blnResult = true;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
}
|
||||
|
||||
finally
|
||||
{
|
||||
|
||||
if (dr != null)
|
||||
{
|
||||
dr = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return blnResult;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
380
SRC/MESAgent/AutoLoaderLib/ParsePR.cs
Normal file
380
SRC/MESAgent/AutoLoaderLib/ParsePR.cs
Normal file
@ -0,0 +1,380 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using static iMESCore.DataBase.iMESSql;
|
||||
|
||||
namespace AutoLoaderLib_C
|
||||
{
|
||||
|
||||
public class ParsePR : EPIParseTemplate
|
||||
{
|
||||
|
||||
|
||||
// 呼叫父類別的建構子
|
||||
public ParsePR(string paramSourcePath, string paramDestinationPath, string paramQueuePath, string paramFailPath) : base(paramSourcePath, paramDestinationPath, paramQueuePath, paramFailPath)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 設定暫存資料表的欄位
|
||||
/// </summary>
|
||||
/// <param name="dt"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
internal override bool AddColumns(DataTable dt)
|
||||
{
|
||||
|
||||
bool blnResult = false;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
dt.Columns.Add("WaferID", Type.GetType("System.String"));
|
||||
dt.Columns.Add("RawData", Type.GetType("System.String"));
|
||||
dt.Columns.Add("Average", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("Diff1", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("Diff2", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("PR_GRADE", Type.GetType("System.String"));
|
||||
dt.Columns.Add("PR_RESULT", Type.GetType("System.String"));
|
||||
|
||||
blnResult = true;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
return blnResult;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 將暫存資料表寫入資料庫
|
||||
/// </summary>
|
||||
/// <param name="dt"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
internal override bool InsertTable(DataTable dt)
|
||||
{
|
||||
|
||||
bool blnResult = false;
|
||||
string strSQL;
|
||||
string strSQL2;
|
||||
string strSQL3;
|
||||
|
||||
const string PR_GRADE = "PR Grade";
|
||||
|
||||
// 新增 PR 資料
|
||||
strSQL = " INSERT INTO TBL_LEDLD_PR " + " (WaferID, CreateDate, RawData, Average, Diff1, Diff2, PR_GRADE, PR_RESULT) " + " VALUES ('{0}', SYSDATE, '{1}', {2}, {3}, {4}, '{5}', '{6}') ";
|
||||
|
||||
|
||||
// 刪除 ComponentProperty PR_GRADE 的資料
|
||||
strSQL2 = " DELETE TBLWIPCOMPONENTPROPERTY " + " WHERE LOTNO = '{0}' " + " AND COMPONENTNO = '{1}' " + " AND PROPERTYNO = '{2}' ";
|
||||
|
||||
|
||||
|
||||
// 新增 ComponentProperty PR_GRADE 的資料
|
||||
strSQL3 = " INSERT INTO TBLWIPCOMPONENTPROPERTY " + " (LOTNO, COMPONENTNO, PROPERTYNO, PROPERTYVALUE) " + " VALUES ('{0}', '{1}', '{2}', '{3}') ";
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var oTran = objConnection.BeginTransaction())
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var cmd = CreateCommand())
|
||||
{
|
||||
|
||||
cmd.Connection = objConnection;
|
||||
cmd.Transaction = oTran;
|
||||
|
||||
for (int i = 0, loopTo = dt.Rows.Count - 1; i <= loopTo; i++)
|
||||
{
|
||||
|
||||
cmd.CommandText = string.Format(strSQL, Operators.ConcatenateObject(dt.Rows[i]["WaferID"], ""), Operators.ConcatenateObject(dt.Rows[i]["RawData"], ""), dt.Rows[i]["Average"], dt.Rows[i]["Diff1"], dt.Rows[i]["Diff2"], Operators.ConcatenateObject(dt.Rows[i]["PR_GRADE"], ""), Operators.ConcatenateObject(dt.Rows[i]["PR_RESULT"], ""));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
cmd.CommandText = string.Format(strSQL2, Strings.Mid(Conversions.ToString(Operators.ConcatenateObject(dt.Rows[i]["WaferID"], "")), 1, 10), Operators.ConcatenateObject(dt.Rows[i]["WaferID"], ""), PR_GRADE);
|
||||
|
||||
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
cmd.CommandText = string.Format(strSQL3, Strings.Mid(Conversions.ToString(Operators.ConcatenateObject(dt.Rows[i]["WaferID"], "")), 1, 10), Operators.ConcatenateObject(dt.Rows[i]["WaferID"], ""), PR_GRADE, Operators.ConcatenateObject(dt.Rows[i]["PR_GRADE"], ""));
|
||||
|
||||
|
||||
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
oTran.Commit();
|
||||
|
||||
blnResult = true;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
oTran.Rollback();
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
return blnResult;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 解析資料, 並寫入暫存資料表
|
||||
/// </summary>
|
||||
/// <param name="dt"></param>
|
||||
/// <param name="file"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
internal override bool ParsingFile(DataTable dt, string file)
|
||||
{
|
||||
|
||||
bool blnResult = false;
|
||||
DataRow dr = null;
|
||||
string line;
|
||||
string[] tmpData;
|
||||
string WaferID;
|
||||
string RawData = "";
|
||||
decimal Average = 0m;
|
||||
decimal Diff1 = 0m;
|
||||
decimal Diff2 = 0m;
|
||||
string PR_Grade;
|
||||
string PR_Result;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
// 檔名即為 WaferID
|
||||
var fi = new FileInfo(file);
|
||||
WaferID = fi.Name.Replace(fi.Extension, "");
|
||||
fi = null;
|
||||
|
||||
using (var sr = new StreamReader(file))
|
||||
{
|
||||
|
||||
do
|
||||
{
|
||||
|
||||
line = sr.ReadLine();
|
||||
|
||||
if (!string.IsNullOrEmpty(line))
|
||||
{
|
||||
|
||||
tmpData = line.Split('\t');
|
||||
|
||||
if (tmpData != null && tmpData.Length == 2)
|
||||
{
|
||||
|
||||
if (!Information.IsNumeric(tmpData[1]))
|
||||
{
|
||||
tmpData[1] = "0";
|
||||
}
|
||||
|
||||
switch (tmpData[0].ToUpper() ?? "")
|
||||
{
|
||||
|
||||
case "AVERAGE":
|
||||
{
|
||||
Average = Convert.ToDecimal(tmpData[1]);
|
||||
break;
|
||||
}
|
||||
|
||||
case "DIFF1":
|
||||
{
|
||||
Diff1 = Convert.ToDecimal(tmpData[1]);
|
||||
break;
|
||||
}
|
||||
|
||||
case "DIFF2":
|
||||
{
|
||||
Diff2 = Convert.ToDecimal(tmpData[1]);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
RawData += tmpData[0] + "=" + tmpData[1] + ",";
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
while (!string.IsNullOrEmpty(line));
|
||||
|
||||
if (RawData.Length > 0)
|
||||
{
|
||||
|
||||
RawData = RawData.Substring(0, RawData.Length - 1);
|
||||
|
||||
// 依 Average 取出 Grade
|
||||
PR_Grade = PRGrade(Average);
|
||||
|
||||
if (string.IsNullOrEmpty(PR_Grade))
|
||||
{
|
||||
throw new Exception("PR_Grade fail。");
|
||||
}
|
||||
|
||||
// 依 Diff 取出 Grade
|
||||
switch (PRGrade(Diff1) ?? "")
|
||||
{
|
||||
case "":
|
||||
{
|
||||
throw new Exception("PR_Result fail。");
|
||||
}
|
||||
case "N/A":
|
||||
{
|
||||
PR_Result = "NG";
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
PR_Result = "OK";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
dr = dt.NewRow();
|
||||
dr["WaferID"] = WaferID;
|
||||
dr["RawData"] = RawData;
|
||||
dr["Average"] = Average;
|
||||
dr["Diff1"] = Diff1;
|
||||
dr["Diff2"] = Diff2;
|
||||
dr["PR_GRADE"] = PR_Grade;
|
||||
dr["PR_RESULT"] = PR_Result;
|
||||
dt.Rows.Add(dr);
|
||||
|
||||
blnResult = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
}
|
||||
|
||||
finally
|
||||
{
|
||||
|
||||
if (dr != null)
|
||||
{
|
||||
dr = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return blnResult;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// PR 等級編碼原則
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
private string PRGrade(decimal value)
|
||||
{
|
||||
|
||||
string strGrade = "N/A";
|
||||
string[] tmpData;
|
||||
var CollectionGrade = new Collection();
|
||||
|
||||
CollectionGrade.Add("0~1.5~A1");
|
||||
CollectionGrade.Add("1.5~2~A2");
|
||||
CollectionGrade.Add("2~3~A3");
|
||||
CollectionGrade.Add("3~6~A4");
|
||||
CollectionGrade.Add("6~9~A5");
|
||||
CollectionGrade.Add("9~12~A6");
|
||||
CollectionGrade.Add("12~15~A7");
|
||||
CollectionGrade.Add("15~18~A8");
|
||||
CollectionGrade.Add("18~24~A9");
|
||||
CollectionGrade.Add("24~30~AA");
|
||||
CollectionGrade.Add("30~36~AB");
|
||||
CollectionGrade.Add("36~9999~AC");
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
foreach (string str in CollectionGrade)
|
||||
{
|
||||
|
||||
tmpData = Strings.Split(str, "~");
|
||||
|
||||
if (tmpData.Length != 3)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (!Information.IsNumeric(tmpData[0]) || !Information.IsNumeric(tmpData[1]))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if ((double)value >= Conversions.ToDouble(tmpData[0]) && (double)value < Conversions.ToDouble(tmpData[1]))
|
||||
{
|
||||
strGrade = tmpData[2];
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
strGrade = "";
|
||||
|
||||
}
|
||||
|
||||
return strGrade;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
259
SRC/MESAgent/AutoLoaderLib/ParseQEL.cs
Normal file
259
SRC/MESAgent/AutoLoaderLib/ParseQEL.cs
Normal file
@ -0,0 +1,259 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using static iMESCore.DataBase.iMESSql;
|
||||
|
||||
namespace AutoLoaderLib_C
|
||||
{
|
||||
|
||||
public class ParseQEL : EPIParseTemplate
|
||||
{
|
||||
|
||||
|
||||
// 呼叫父類別的建構子
|
||||
public ParseQEL(string paramSourcePath, string paramDestinationPath, string paramQueuePath, string paramFailPath) : base(paramSourcePath, paramDestinationPath, paramQueuePath, paramFailPath)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 設定暫存資料表的欄位
|
||||
/// </summary>
|
||||
/// <param name="dt"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
internal override bool AddColumns(DataTable dt)
|
||||
{
|
||||
|
||||
bool blnResult = false;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
dt.Columns.Add("WaferID", Type.GetType("System.String"));
|
||||
dt.Columns.Add("POS", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("LOP1", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("LOP2", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("WLP1", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("WLD1", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("VF1", Type.GetType("System.Decimal"));
|
||||
dt.Columns.Add("VF2", Type.GetType("System.Decimal"));
|
||||
|
||||
blnResult = true;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
return blnResult;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 將暫存資料表寫入資料庫
|
||||
/// </summary>
|
||||
/// <param name="dt"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
internal override bool InsertTable(DataTable dt)
|
||||
{
|
||||
|
||||
bool blnResult = false;
|
||||
string strSQL_Raw;
|
||||
string strSQL_Avg;
|
||||
string WaferID = "";
|
||||
decimal LOP1 = 0m;
|
||||
decimal LOP2 = 0m;
|
||||
decimal WLP1 = 0m;
|
||||
decimal WLD1 = 0m;
|
||||
decimal VF1 = 0m;
|
||||
decimal VF2 = 0m;
|
||||
|
||||
strSQL_Raw = " INSERT INTO TBL_LEDLD_EL_Q_RAW " + " (WaferID, CreateDate, POS, LOP1, LOP2, WLP1, WLD1, VF1, VF2) " + " VALUES ('{0}', SYSDATE, {1}, {2}, {3}, {4}, {5}, {6}, {7}) ";
|
||||
|
||||
|
||||
strSQL_Avg = " INSERT INTO TBL_LEDLD_EL_Q " + " (WaferID, CreateDate, LOP1, LOP2, WLP1, WLD1, VF1, VF2) " + " VALUES ('{0}', SYSDATE, {1}, {2}, {3}, {4}, {5}, {6}) ";
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var oTran = objConnection.BeginTransaction())
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var cmd = CreateCommand())
|
||||
{
|
||||
|
||||
cmd.Connection = objConnection;
|
||||
cmd.Transaction = oTran;
|
||||
|
||||
if (dt.Rows.Count > 0)
|
||||
{
|
||||
|
||||
for (int i = 0, loopTo = dt.Rows.Count - 1; i <= loopTo; i++)
|
||||
{
|
||||
|
||||
cmd.CommandText = string.Format(strSQL_Raw, dt.Rows[i]["WaferID"], dt.Rows[i]["POS"], dt.Rows[i]["LOP1"], dt.Rows[i]["LOP2"], dt.Rows[i]["WLP1"], dt.Rows[i]["WLD1"], dt.Rows[i]["VF1"], dt.Rows[i]["VF2"]);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
WaferID = Conversions.ToString(dt.Rows[i]["WaferID"]);
|
||||
LOP1 = LOP1 + (decimal)dt.Rows[i]["LOP1"];
|
||||
LOP2 = LOP2 + (decimal)dt.Rows[i]["LOP2"];
|
||||
WLP1 = WLP1 + (decimal)dt.Rows[i]["WLP1"];
|
||||
WLD1 = WLD1 + (decimal)dt.Rows[i]["WLD1"];
|
||||
VF1 = VF1 + (decimal)dt.Rows[i]["VF1"];
|
||||
VF2 = VF2 + (decimal)dt.Rows[i]["VF2"];
|
||||
|
||||
}
|
||||
|
||||
cmd.CommandText = string.Format(strSQL_Avg, WaferID, LOP1 / dt.Rows.Count, LOP2 / dt.Rows.Count, WLP1 / dt.Rows.Count, WLD1 / dt.Rows.Count, VF1 / dt.Rows.Count, VF2 / dt.Rows.Count);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
oTran.Commit();
|
||||
|
||||
blnResult = true;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
oTran.Rollback();
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
return blnResult;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 解析資料, 並寫入暫存資料表
|
||||
/// </summary>
|
||||
/// <param name="dt"></param>
|
||||
/// <param name="file"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
internal override bool ParsingFile(DataTable dt, string file)
|
||||
{
|
||||
|
||||
bool blnResult = false;
|
||||
DataRow dr = null;
|
||||
string line;
|
||||
string[] tmpData;
|
||||
bool startParsing = false;
|
||||
string WaferID;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
// 檔名即為 WaferID
|
||||
var fi = new FileInfo(file);
|
||||
WaferID = fi.Name.Replace(fi.Extension, "");
|
||||
fi = null;
|
||||
|
||||
using (var sr = new StreamReader(file))
|
||||
{
|
||||
|
||||
do
|
||||
{
|
||||
|
||||
line = sr.ReadLine();
|
||||
|
||||
if (!string.IsNullOrEmpty(line))
|
||||
{
|
||||
|
||||
if (startParsing)
|
||||
{
|
||||
|
||||
tmpData = line.Split(',');
|
||||
|
||||
dr = dt.NewRow();
|
||||
|
||||
dr["WaferID"] = WaferID;
|
||||
dr["POS"] = Convert.ToDecimal(tmpData[0].Trim());
|
||||
dr["LOP1"] = Convert.ToDecimal(tmpData[4].Trim());
|
||||
dr["LOP2"] = Convert.ToDecimal(tmpData[14].Trim());
|
||||
dr["WLP1"] = Convert.ToDecimal(tmpData[6].Trim());
|
||||
dr["WLD1"] = Convert.ToDecimal(tmpData[5].Trim());
|
||||
dr["VF1"] = Convert.ToDecimal(tmpData[3].Trim());
|
||||
dr["VF2"] = Convert.ToDecimal(tmpData[13].Trim());
|
||||
|
||||
dt.Rows.Add(dr);
|
||||
}
|
||||
|
||||
|
||||
else if (line.IndexOf("PosX") >= 0 && line.IndexOf("PosY") >= 0)
|
||||
{
|
||||
startParsing = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
while (!(line == null));
|
||||
|
||||
blnResult = true;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
}
|
||||
|
||||
finally
|
||||
{
|
||||
|
||||
if (dr != null)
|
||||
{
|
||||
dr = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return blnResult;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
[assembly: System.Reflection.AssemblyFileVersion("6.0.5.31114")]
|
||||
779
SRC/MESAgent/AutoLoaderLib/Web References/wsInvoke/Reference.cs
Normal file
779
SRC/MESAgent/AutoLoaderLib/Web References/wsInvoke/Reference.cs
Normal file
@ -0,0 +1,779 @@
|
||||
// ------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 這段程式碼是由工具產生的。
|
||||
// 執行階段版本:4.0.30319.42000
|
||||
//
|
||||
// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
|
||||
// 變更將會遺失。
|
||||
// </auto-generated>
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Web.Services;
|
||||
using System.Web.Services.Protocols;
|
||||
using System.Xml.Serialization;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
|
||||
//
|
||||
// 原始程式碼已由 Microsoft.VSDesigner 自動產生,版本 4.0.30319.42000。
|
||||
//
|
||||
namespace AutoLoaderLib_C.wsInvoke
|
||||
{
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
[WebServiceBinding(Name = "wsInvokeSoap", Namespace = "http://www.imestech.com/wsInvoke")]
|
||||
[XmlInclude(typeof(object[]))]
|
||||
public partial class wsInvoke : SoapHttpClientProtocol
|
||||
{
|
||||
|
||||
private System.Threading.SendOrPostCallback invokeSrvOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback invokeSrv_XmlOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback invokeSrv_Xml_SessionOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback invokeSrv_DataTableParameterOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback invokeSrv_DataTableOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback invokeSrv_DataSetOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback invokeSrv_SessionOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback TestOperationCompleted;
|
||||
|
||||
private bool useDefaultCredentialsSetExplicitly;
|
||||
|
||||
/// <remarks/>
|
||||
public wsInvoke() : base()
|
||||
{
|
||||
Url = My.MySettings.Default.AutoLoaderLib_wsInvoke_wsInvoke;
|
||||
if (IsLocalFileSystemWebService(Url) == true)
|
||||
{
|
||||
UseDefaultCredentials = true;
|
||||
useDefaultCredentialsSetExplicitly = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
useDefaultCredentialsSetExplicitly = true;
|
||||
}
|
||||
}
|
||||
|
||||
public new string Url
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.Url;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (IsLocalFileSystemWebService(base.Url) == true && useDefaultCredentialsSetExplicitly == false && IsLocalFileSystemWebService(value) == false)
|
||||
|
||||
{
|
||||
base.UseDefaultCredentials = false;
|
||||
}
|
||||
base.Url = value;
|
||||
}
|
||||
}
|
||||
|
||||
public new bool UseDefaultCredentials
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.UseDefaultCredentials;
|
||||
}
|
||||
set
|
||||
{
|
||||
base.UseDefaultCredentials = value;
|
||||
useDefaultCredentialsSetExplicitly = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public event invokeSrvCompletedEventHandler invokeSrvCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event invokeSrv_XmlCompletedEventHandler invokeSrv_XmlCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event invokeSrv_Xml_SessionCompletedEventHandler invokeSrv_Xml_SessionCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event invokeSrv_DataTableParameterCompletedEventHandler invokeSrv_DataTableParameterCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event invokeSrv_DataTableCompletedEventHandler invokeSrv_DataTableCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event invokeSrv_DataSetCompletedEventHandler invokeSrv_DataSetCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event invokeSrv_SessionCompletedEventHandler invokeSrv_SessionCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event TestCompletedEventHandler TestCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("http://www.imestech.com/wsInvoke/invokeSrv", RequestNamespace = "http://www.imestech.com/wsInvoke", ResponseNamespace = "http://www.imestech.com/wsInvoke", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public object invokeSrv(string method, object[] parameters)
|
||||
{
|
||||
object[] results = Invoke("invokeSrv", new object[] { method, parameters });
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegininvokeSrv(string method, object[] parameters, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("invokeSrv", new object[] { method, parameters }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object EndinvokeSrv(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrvAsync(string method, object[] parameters)
|
||||
{
|
||||
invokeSrvAsync(method, parameters, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrvAsync(string method, object[] parameters, object userState)
|
||||
{
|
||||
if (invokeSrvOperationCompleted == null)
|
||||
{
|
||||
invokeSrvOperationCompleted = OninvokeSrvOperationCompleted;
|
||||
}
|
||||
InvokeAsync("invokeSrv", new object[] { method, parameters }, invokeSrvOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OninvokeSrvOperationCompleted(object arg)
|
||||
{
|
||||
if (invokeSrvCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
invokeSrvCompleted?.Invoke(this, new invokeSrvCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("http://www.imestech.com/wsInvoke/invokeSrv_Xml", RequestNamespace = "http://www.imestech.com/wsInvoke", ResponseNamespace = "http://www.imestech.com/wsInvoke", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public object invokeSrv_Xml(string method, string inXMl)
|
||||
{
|
||||
object[] results = Invoke("invokeSrv_Xml", new object[] { method, inXMl });
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegininvokeSrv_Xml(string method, string inXMl, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("invokeSrv_Xml", new object[] { method, inXMl }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object EndinvokeSrv_Xml(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrv_XmlAsync(string method, string inXMl)
|
||||
{
|
||||
invokeSrv_XmlAsync(method, inXMl, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrv_XmlAsync(string method, string inXMl, object userState)
|
||||
{
|
||||
if (invokeSrv_XmlOperationCompleted == null)
|
||||
{
|
||||
invokeSrv_XmlOperationCompleted = OninvokeSrv_XmlOperationCompleted;
|
||||
}
|
||||
InvokeAsync("invokeSrv_Xml", new object[] { method, inXMl }, invokeSrv_XmlOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OninvokeSrv_XmlOperationCompleted(object arg)
|
||||
{
|
||||
if (invokeSrv_XmlCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
invokeSrv_XmlCompleted?.Invoke(this, new invokeSrv_XmlCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("http://www.imestech.com/wsInvoke/invokeSrv_Xml_Session", RequestNamespace = "http://www.imestech.com/wsInvoke", ResponseNamespace = "http://www.imestech.com/wsInvoke", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public object invokeSrv_Xml_Session(string method, string inXMl)
|
||||
{
|
||||
object[] results = Invoke("invokeSrv_Xml_Session", new object[] { method, inXMl });
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegininvokeSrv_Xml_Session(string method, string inXMl, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("invokeSrv_Xml_Session", new object[] { method, inXMl }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object EndinvokeSrv_Xml_Session(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrv_Xml_SessionAsync(string method, string inXMl)
|
||||
{
|
||||
invokeSrv_Xml_SessionAsync(method, inXMl, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrv_Xml_SessionAsync(string method, string inXMl, object userState)
|
||||
{
|
||||
if (invokeSrv_Xml_SessionOperationCompleted == null)
|
||||
{
|
||||
invokeSrv_Xml_SessionOperationCompleted = OninvokeSrv_Xml_SessionOperationCompleted;
|
||||
}
|
||||
InvokeAsync("invokeSrv_Xml_Session", new object[] { method, inXMl }, invokeSrv_Xml_SessionOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OninvokeSrv_Xml_SessionOperationCompleted(object arg)
|
||||
{
|
||||
if (invokeSrv_Xml_SessionCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
invokeSrv_Xml_SessionCompleted?.Invoke(this, new invokeSrv_Xml_SessionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("http://www.imestech.com/wsInvoke/invokeSrv_DataTableParameter", RequestNamespace = "http://www.imestech.com/wsInvoke", ResponseNamespace = "http://www.imestech.com/wsInvoke", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public object invokeSrv_DataTableParameter(string method, object[] parameters, ref DataTable pDataTable)
|
||||
{
|
||||
object[] results = Invoke("invokeSrv_DataTableParameter", new object[] { method, parameters, pDataTable });
|
||||
pDataTable = (DataTable)results[1];
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegininvokeSrv_DataTableParameter(string method, object[] parameters, DataTable pDataTable, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("invokeSrv_DataTableParameter", new object[] { method, parameters, pDataTable }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object EndinvokeSrv_DataTableParameter(IAsyncResult asyncResult, ref DataTable pDataTable)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
pDataTable = (DataTable)results[1];
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrv_DataTableParameterAsync(string method, object[] parameters, DataTable pDataTable)
|
||||
{
|
||||
invokeSrv_DataTableParameterAsync(method, parameters, pDataTable, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrv_DataTableParameterAsync(string method, object[] parameters, DataTable pDataTable, object userState)
|
||||
{
|
||||
if (invokeSrv_DataTableParameterOperationCompleted == null)
|
||||
{
|
||||
invokeSrv_DataTableParameterOperationCompleted = OninvokeSrv_DataTableParameterOperationCompleted;
|
||||
}
|
||||
InvokeAsync("invokeSrv_DataTableParameter", new object[] { method, parameters, pDataTable }, invokeSrv_DataTableParameterOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OninvokeSrv_DataTableParameterOperationCompleted(object arg)
|
||||
{
|
||||
if (invokeSrv_DataTableParameterCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
invokeSrv_DataTableParameterCompleted?.Invoke(this, new invokeSrv_DataTableParameterCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("http://www.imestech.com/wsInvoke/invokeSrv_DataTable", RequestNamespace = "http://www.imestech.com/wsInvoke", ResponseNamespace = "http://www.imestech.com/wsInvoke", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public object invokeSrv_DataTable(string method, string InXml, ref DataTable pDataTable)
|
||||
{
|
||||
object[] results = Invoke("invokeSrv_DataTable", new object[] { method, InXml, pDataTable });
|
||||
pDataTable = (DataTable)results[1];
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegininvokeSrv_DataTable(string method, string InXml, DataTable pDataTable, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("invokeSrv_DataTable", new object[] { method, InXml, pDataTable }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object EndinvokeSrv_DataTable(IAsyncResult asyncResult, ref DataTable pDataTable)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
pDataTable = (DataTable)results[1];
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrv_DataTableAsync(string method, string InXml, DataTable pDataTable)
|
||||
{
|
||||
invokeSrv_DataTableAsync(method, InXml, pDataTable, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrv_DataTableAsync(string method, string InXml, DataTable pDataTable, object userState)
|
||||
{
|
||||
if (invokeSrv_DataTableOperationCompleted == null)
|
||||
{
|
||||
invokeSrv_DataTableOperationCompleted = OninvokeSrv_DataTableOperationCompleted;
|
||||
}
|
||||
InvokeAsync("invokeSrv_DataTable", new object[] { method, InXml, pDataTable }, invokeSrv_DataTableOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OninvokeSrv_DataTableOperationCompleted(object arg)
|
||||
{
|
||||
if (invokeSrv_DataTableCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
invokeSrv_DataTableCompleted?.Invoke(this, new invokeSrv_DataTableCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("http://www.imestech.com/wsInvoke/invokeSrv_DataSet", RequestNamespace = "http://www.imestech.com/wsInvoke", ResponseNamespace = "http://www.imestech.com/wsInvoke", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public object invokeSrv_DataSet(string method, string InXml, ref DataSet pDataSet)
|
||||
{
|
||||
object[] results = Invoke("invokeSrv_DataSet", new object[] { method, InXml, pDataSet });
|
||||
pDataSet = (DataSet)results[1];
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegininvokeSrv_DataSet(string method, string InXml, DataSet pDataSet, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("invokeSrv_DataSet", new object[] { method, InXml, pDataSet }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object EndinvokeSrv_DataSet(IAsyncResult asyncResult, ref DataSet pDataSet)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
pDataSet = (DataSet)results[1];
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrv_DataSetAsync(string method, string InXml, DataSet pDataSet)
|
||||
{
|
||||
invokeSrv_DataSetAsync(method, InXml, pDataSet, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrv_DataSetAsync(string method, string InXml, DataSet pDataSet, object userState)
|
||||
{
|
||||
if (invokeSrv_DataSetOperationCompleted == null)
|
||||
{
|
||||
invokeSrv_DataSetOperationCompleted = OninvokeSrv_DataSetOperationCompleted;
|
||||
}
|
||||
InvokeAsync("invokeSrv_DataSet", new object[] { method, InXml, pDataSet }, invokeSrv_DataSetOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OninvokeSrv_DataSetOperationCompleted(object arg)
|
||||
{
|
||||
if (invokeSrv_DataSetCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
invokeSrv_DataSetCompleted?.Invoke(this, new invokeSrv_DataSetCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("http://www.imestech.com/wsInvoke/invokeSrv_Session", RequestNamespace = "http://www.imestech.com/wsInvoke", ResponseNamespace = "http://www.imestech.com/wsInvoke", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public object invokeSrv_Session(string method, object[] parameters)
|
||||
{
|
||||
object[] results = Invoke("invokeSrv_Session", new object[] { method, parameters });
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegininvokeSrv_Session(string method, object[] parameters, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("invokeSrv_Session", new object[] { method, parameters }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object EndinvokeSrv_Session(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return results[0];
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrv_SessionAsync(string method, object[] parameters)
|
||||
{
|
||||
invokeSrv_SessionAsync(method, parameters, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrv_SessionAsync(string method, object[] parameters, object userState)
|
||||
{
|
||||
if (invokeSrv_SessionOperationCompleted == null)
|
||||
{
|
||||
invokeSrv_SessionOperationCompleted = OninvokeSrv_SessionOperationCompleted;
|
||||
}
|
||||
InvokeAsync("invokeSrv_Session", new object[] { method, parameters }, invokeSrv_SessionOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OninvokeSrv_SessionOperationCompleted(object arg)
|
||||
{
|
||||
if (invokeSrv_SessionCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
invokeSrv_SessionCompleted?.Invoke(this, new invokeSrv_SessionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("http://www.imestech.com/wsInvoke/Test", RequestNamespace = "http://www.imestech.com/wsInvoke", ResponseNamespace = "http://www.imestech.com/wsInvoke", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public string Test(string UserNo)
|
||||
{
|
||||
object[] results = Invoke("Test", new object[] { UserNo });
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BeginTest(string UserNo, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("Test", new object[] { UserNo }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndTest(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void TestAsync(string UserNo)
|
||||
{
|
||||
TestAsync(UserNo, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void TestAsync(string UserNo, object userState)
|
||||
{
|
||||
if (TestOperationCompleted == null)
|
||||
{
|
||||
TestOperationCompleted = OnTestOperationCompleted;
|
||||
}
|
||||
InvokeAsync("Test", new object[] { UserNo }, TestOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnTestOperationCompleted(object arg)
|
||||
{
|
||||
if (TestCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
TestCompleted?.Invoke(this, new TestCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public new void CancelAsync(object userState)
|
||||
{
|
||||
base.CancelAsync(userState);
|
||||
}
|
||||
|
||||
private bool IsLocalFileSystemWebService(string url)
|
||||
{
|
||||
if (url == null || ReferenceEquals(url, string.Empty))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
var wsUri = new Uri(url);
|
||||
if (wsUri.Port >= 1024 && string.Compare(wsUri.Host, "localHost", StringComparison.OrdinalIgnoreCase) == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void invokeSrvCompletedEventHandler(object sender, invokeSrvCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class invokeSrvCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal invokeSrvCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return results[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void invokeSrv_XmlCompletedEventHandler(object sender, invokeSrv_XmlCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class invokeSrv_XmlCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal invokeSrv_XmlCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return results[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void invokeSrv_Xml_SessionCompletedEventHandler(object sender, invokeSrv_Xml_SessionCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class invokeSrv_Xml_SessionCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal invokeSrv_Xml_SessionCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return results[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void invokeSrv_DataTableParameterCompletedEventHandler(object sender, invokeSrv_DataTableParameterCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class invokeSrv_DataTableParameterCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal invokeSrv_DataTableParameterCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return results[0];
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public DataTable pDataTable
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return (DataTable)results[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void invokeSrv_DataTableCompletedEventHandler(object sender, invokeSrv_DataTableCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class invokeSrv_DataTableCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal invokeSrv_DataTableCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return results[0];
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public DataTable pDataTable
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return (DataTable)results[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void invokeSrv_DataSetCompletedEventHandler(object sender, invokeSrv_DataSetCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class invokeSrv_DataSetCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal invokeSrv_DataSetCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return results[0];
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public DataSet pDataSet
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return (DataSet)results[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void invokeSrv_SessionCompletedEventHandler(object sender, invokeSrv_SessionCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class invokeSrv_SessionCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal invokeSrv_SessionCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public object Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return results[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void TestCompletedEventHandler(object sender, TestCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class TestCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal TestCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Results>
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://localhost/MESws_Industry/wsInvoke.asmx?wsdl" filename="wsInvoke.wsdl" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://localhost/MESws_Industry/wsInvoke.asmx?disco" filename="wsInvoke.disco" />
|
||||
</Results>
|
||||
</DiscoveryClientResultsFile>
|
||||
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
|
||||
<contractRef ref="http://localhost/MESws_Industry/wsInvoke.asmx?wsdl" docRef="http://localhost/MESws_Industry/wsInvoke.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
|
||||
<soap address="http://localhost/MESws_Industry/wsInvoke.asmx" xmlns:q1="http://www.imestech.com/wsInvoke" binding="q1:wsInvokeSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
<soap address="http://localhost/MESws_Industry/wsInvoke.asmx" xmlns:q2="http://www.imestech.com/wsInvoke" binding="q2:wsInvokeSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
</discovery>
|
||||
427
SRC/MESAgent/AutoLoaderLib/Web References/wsInvoke/wsInvoke.wsdl
Normal file
427
SRC/MESAgent/AutoLoaderLib/Web References/wsInvoke/wsInvoke.wsdl
Normal file
@ -0,0 +1,427 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.imestech.com/wsInvoke" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://www.imestech.com/wsInvoke" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<s:schema elementFormDefault="qualified" targetNamespace="http://www.imestech.com/wsInvoke">
|
||||
<s:element name="invokeSrv">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfAnyType" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:complexType name="ArrayOfAnyType">
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="unbounded" name="anyType" nillable="true" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
<s:element name="invokeSrvResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrvResult" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Xml">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="inXMl" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_XmlResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_XmlResult" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Xml_Session">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="inXMl" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Xml_SessionResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_Xml_SessionResult" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_DataTableParameter">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfAnyType" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataTable">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax" />
|
||||
<s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_DataTableParameterResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_DataTableParameterResult" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataTable">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax" />
|
||||
<s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_DataTable">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataTable">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax" />
|
||||
<s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_DataTableResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_DataTableResult" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataTable">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax" />
|
||||
<s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_DataSet">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataSet">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element ref="s:schema" />
|
||||
<s:any />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_DataSetResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_DataSetResult" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataSet">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element ref="s:schema" />
|
||||
<s:any />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Session">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfAnyType" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_SessionResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_SessionResult" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="Test">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="UserNo" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="TestResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="TestResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="invokeSrvSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrvSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrvResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_XmlSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Xml" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_XmlSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_XmlResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_Xml_SessionSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Xml_Session" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_Xml_SessionSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Xml_SessionResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_DataTableParameterSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_DataTableParameter" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_DataTableParameterSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_DataTableParameterResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_DataTableSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_DataTable" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_DataTableSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_DataTableResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_DataSetSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_DataSet" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_DataSetSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_DataSetResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_SessionSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Session" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_SessionSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_SessionResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="TestSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:Test" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="TestSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:TestResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="wsInvokeSoap">
|
||||
<wsdl:operation name="invokeSrv">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke with objects and Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrvSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrvSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Xml">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke with Xml String and Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_XmlSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_XmlSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Xml_Session">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">EnableSession, Invoke with Xml String and Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_Xml_SessionSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_Xml_SessionSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataTableParameter">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke with DataTable and Object Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_DataTableParameterSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_DataTableParameterSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataTable">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke with DataTable and Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_DataTableSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_DataTableSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataSet">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke with DataSet and Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_DataSetSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_DataSetSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Session">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">EnableSession, Invoke and Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_SessionSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_SessionSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Test">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Web service and database connection test</wsdl:documentation>
|
||||
<wsdl:input message="tns:TestSoapIn" />
|
||||
<wsdl:output message="tns:TestSoapOut" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="wsInvokeSoap" type="tns:wsInvokeSoap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="invokeSrv">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Xml">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Xml" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Xml_Session">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Xml_Session" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataTableParameter">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_DataTableParameter" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataTable">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_DataTable" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataSet">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_DataSet" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Session">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Session" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Test">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/Test" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="wsInvokeSoap12" type="tns:wsInvokeSoap">
|
||||
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="invokeSrv">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Xml">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Xml" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Xml_Session">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Xml_Session" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataTableParameter">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_DataTableParameter" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataTable">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_DataTable" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataSet">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_DataSet" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Session">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Session" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Test">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/Test" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="wsInvoke">
|
||||
<wsdl:port name="wsInvokeSoap" binding="tns:wsInvokeSoap">
|
||||
<soap:address location="http://localhost/MESws_Industry/wsInvoke.asmx" />
|
||||
</wsdl:port>
|
||||
<wsdl:port name="wsInvokeSoap12" binding="tns:wsInvokeSoap12">
|
||||
<soap12:address location="http://localhost/MESws_Industry/wsInvoke.asmx" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
||||
35
SRC/MESAgent/AutoLoaderLib/app.config
Normal file
35
SRC/MESAgent/AutoLoaderLib/app.config
Normal file
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<section name="AutoLoaderLib_Base.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<system.diagnostics>
|
||||
<sources>
|
||||
<!-- 這個區段定義 My.Application.Log 的記錄組態-->
|
||||
<source name="DefaultSource" switchName="DefaultSwitch">
|
||||
<listeners>
|
||||
<add name="FileLog"/>
|
||||
<!-- 取消註解下列區段,以寫入應用程式事件記錄檔-->
|
||||
<!--<add name="EventLog"/>-->
|
||||
</listeners>
|
||||
</source>
|
||||
</sources>
|
||||
<switches>
|
||||
<add name="DefaultSwitch" value="Information"/>
|
||||
</switches>
|
||||
<sharedListeners>
|
||||
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
|
||||
<!-- 取消註解下列區段,並將 APPLICATION_NAME 取代成您的應用程式名稱,以寫入至應用程式事件記錄檔-->
|
||||
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
|
||||
</sharedListeners>
|
||||
</system.diagnostics>
|
||||
<applicationSettings>
|
||||
<AutoLoaderLib_Base.My.MySettings>
|
||||
<setting name="AutoLoaderLib_wsInvoke_wsInvoke" serializeAs="String">
|
||||
<value>http://localhost/MESws_Industry/wsInvoke.asmx</value>
|
||||
</setting>
|
||||
</AutoLoaderLib_Base.My.MySettings>
|
||||
</applicationSettings>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/></startup></configuration>
|
||||
356
SRC/MESAgent/AutoLoaderLib/clsAutoLoaderLibrary.cs
Normal file
356
SRC/MESAgent/AutoLoaderLib/clsAutoLoaderLibrary.cs
Normal file
@ -0,0 +1,356 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using Microsoft.VisualBasic.FileIO;
|
||||
using NPOI.HSSF.UserModel;
|
||||
using NPOI.SS.UserModel;
|
||||
using NPOI.XSSF.UserModel;
|
||||
using iMESCore.Settings;
|
||||
using static iMESCore.DataBase.iMESSql;
|
||||
using static iMESCore.Base.iMESConst;
|
||||
using System.Data.Common;
|
||||
|
||||
namespace AutoLoaderLib_C
|
||||
{
|
||||
|
||||
public class clsAutoLoaderLibrary
|
||||
{
|
||||
|
||||
//private System.Data.OleDb.OleDbCommand cmmTemp;
|
||||
private string strConnectionString; // Connection string
|
||||
private string strReportConnectionString; // Report DB Connection string
|
||||
private string strDataBaseType; // DataBase Type:oracle, mysql, access
|
||||
private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ
|
||||
|
||||
private AppSettings objSetting = new AppSettings();
|
||||
|
||||
private string InXml, OutXml, strIdentity, strParameter, XmlData, XmlSchema;
|
||||
|
||||
// //Initial Object--------------------------------------------------------------------------------------------------------------------------------
|
||||
public clsAutoLoaderLibrary()
|
||||
{
|
||||
// //Get database type
|
||||
strDataBaseType = objSetting.GetDataBaseType();
|
||||
// //Get connection string
|
||||
strConnectionString = objSetting.GetConnectionString(strDataBaseType);
|
||||
// //Get Message Queue Type
|
||||
strMQType = objSetting.GetMQType();
|
||||
// //Get connection string
|
||||
strReportConnectionString = objSetting.GetReportConnectionString(strDataBaseType);
|
||||
// //GetMESWebSer
|
||||
modWIN.gMESWebServiceHost = objSetting["MESWebServiceHost"].ToString();
|
||||
}
|
||||
|
||||
// //Property--------------------------------------------------------------------------------------------------------------------------------
|
||||
public string ConnectionString
|
||||
{
|
||||
get
|
||||
{
|
||||
return strConnectionString;
|
||||
}
|
||||
}
|
||||
|
||||
public string DataBaseType
|
||||
{
|
||||
get
|
||||
{
|
||||
return strDataBaseType;
|
||||
}
|
||||
}
|
||||
|
||||
public string MQType
|
||||
{
|
||||
get
|
||||
{
|
||||
return strMQType;
|
||||
}
|
||||
}
|
||||
|
||||
// //Public function----------------------------------------------------------------------------------------------------
|
||||
public string ExecuteFunction(string FunctionName, Collection colParameters = null)
|
||||
{
|
||||
string ExecuteFunctionRet = default(string);
|
||||
// 此 Function 將執行傳入之FunctionName
|
||||
// 傳入值: FunctionName,colParameters
|
||||
// 傳回值: DataSet(成功), nothing(失敗)
|
||||
|
||||
// colParameters的資料範例如下
|
||||
// colParameters.Add("C1", "CustomerNo")
|
||||
// colParameters.Add("P1", "ProductNo")
|
||||
|
||||
int i;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
// 1.處理 FunctionName 大小寫問題
|
||||
System.Reflection.MethodInfo[] MyMethodInfos = GetType().GetMethods(System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); // 取出Private的Function
|
||||
var loopTo = MyMethodInfos.Length - 1;
|
||||
for (i = 0; i <= loopTo; i++)
|
||||
{
|
||||
if ((MyMethodInfos[i].Name.ToUpper() ?? "") == (FunctionName.ToUpper() ?? ""))
|
||||
{
|
||||
FunctionName = MyMethodInfos[i].Name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 2.執行Private Function,傳出DataSet
|
||||
object objArgs = new object[] { colParameters };
|
||||
ExecuteFunctionRet = Conversions.ToString(GetType().InvokeMember(FunctionName, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.InvokeMethod, null, this, (object[])objArgs));
|
||||
}
|
||||
|
||||
catch (Exception e1)
|
||||
{
|
||||
ExecuteFunctionRet = "fail";
|
||||
throw new Exception("clsAutoLoaderLibrary.ExecuteFunction:" + "{" + FunctionName + "}" + e1.Message);
|
||||
}
|
||||
|
||||
finally
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return ExecuteFunctionRet;
|
||||
|
||||
}
|
||||
|
||||
#region ---AutoLoader function---
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region ---AutoLoader Sample---
|
||||
|
||||
private string funWatchTest(Collection colParameters = null)
|
||||
{
|
||||
string funWatchTestRet = default(string);
|
||||
|
||||
string strJobNo = string.Empty; // JobNo
|
||||
string strSourcePath = string.Empty; // 來源檔案路徑
|
||||
string strDestinationPath = string.Empty; // 目前檔案路徑
|
||||
string strQueuePath = string.Empty; // 處理中檔案路徑
|
||||
string strFailPath = string.Empty; // 失敗檔案路徑
|
||||
string FileName = string.Empty; // 處理中檔案
|
||||
string DirName = DateTime.Now.ToString("yyyyMM"); // 分類目錄名稱
|
||||
string strLotNo = string.Empty;
|
||||
string strComponentNo = string.Empty;
|
||||
bool blnMoveFile = true;
|
||||
string strSQL = string.Empty;
|
||||
|
||||
try
|
||||
{
|
||||
// //取出colParameter傳入參數
|
||||
strJobNo = colParameters["JobNo"].ToString().Trim();
|
||||
strSourcePath = colParameters["SourcePath"].ToString().Trim();
|
||||
strDestinationPath = colParameters["DestinationPath"].ToString().Trim();
|
||||
strQueuePath = colParameters["QueuePath"].ToString().Trim();
|
||||
strFailPath = colParameters["FailPath"].ToString().Trim();
|
||||
// //取出來源目錄中*.csv檔案
|
||||
string[] DirFiles = Directory.GetFiles(strSourcePath, "*.csv");
|
||||
// //將檔案複製到Queue的目錄中
|
||||
foreach (var currentFileName in DirFiles)
|
||||
{
|
||||
FileName = currentFileName;
|
||||
// //檢查檔案存不存在,有可能被另一個執行緒先處理
|
||||
if (File.Exists(FileName) == true)
|
||||
{
|
||||
// '//檔案已存在Queue必須先刪除
|
||||
// If File.Exists(strQueuePath & Path.GetFileName(FileName)) = True Then
|
||||
// File.Delete(strQueuePath & Path.GetFileName(FileName))
|
||||
// End If
|
||||
// //移動檔案Source至Queue
|
||||
try
|
||||
{
|
||||
blnMoveFile = true;
|
||||
File.Move(FileName, strQueuePath + Path.GetFileName(FileName));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
blnMoveFile = false;
|
||||
throw new Exception("此執行程序已中止,由另一執行程序處理中!!");
|
||||
}
|
||||
// //將檔案來源改為Queue
|
||||
FileName = strQueuePath + Path.GetFileName(FileName);
|
||||
// //開始執行解檔處理
|
||||
using (var myReader = new TextFieldParser(FileName, Encoding.Default))
|
||||
{
|
||||
myReader.TextFieldType = FieldType.Delimited;
|
||||
myReader.Delimiters = new string[] { "," };
|
||||
// //建立Connection
|
||||
var cnnTemp = CreateConnection(strConnectionString);
|
||||
//System.Data.OleDb.OleDbCommand cmmTemp = null;
|
||||
//System.Data.OleDb.OleDbDataAdapter daTemp = null;
|
||||
DbDataReader drTemp = null;
|
||||
var CollectionSQL = new Collection();
|
||||
// //變數宣告區域
|
||||
|
||||
// //Try Catch
|
||||
try
|
||||
{
|
||||
// //Parser檔案
|
||||
while (!myReader.EndOfData)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// //執行SQL
|
||||
ExecuteSQLNoneQuery_UPD(strDataBaseType, strConnectionString, CollectionSQL);
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
} // //直接將錯誤Throw出去
|
||||
|
||||
finally
|
||||
{
|
||||
// //釋放資源
|
||||
CollectionSQL = null;
|
||||
// //Close Connection
|
||||
CloseConnection(cnnTemp);
|
||||
}
|
||||
}
|
||||
// //目錄不存在時必須要先建立
|
||||
if (Directory.Exists(strDestinationPath + DirName) == false)
|
||||
{
|
||||
Directory.CreateDirectory(strDestinationPath + DirName);
|
||||
}
|
||||
// //檔案已存在Destination必須先刪除
|
||||
if (File.Exists(strDestinationPath + DirName + @"\" + Path.GetFileName(FileName)) == true)
|
||||
{
|
||||
File.Delete(strDestinationPath + DirName + @"\" + Path.GetFileName(FileName));
|
||||
}
|
||||
// //移動檔案Queue至Destination
|
||||
File.Move(FileName, strDestinationPath + DirName + @"\" + Path.GetFileName(FileName));
|
||||
}
|
||||
}
|
||||
// //回傳Success
|
||||
funWatchTestRet = "success";
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
// //檔案處理失敗時移動檔案Queue至Fail
|
||||
if (!string.IsNullOrEmpty(FileName) && blnMoveFile == true)
|
||||
{
|
||||
// //目錄不存在時必須要先建立
|
||||
if (Directory.Exists(strFailPath + DirName) == false)
|
||||
{
|
||||
Directory.CreateDirectory(strFailPath + DirName);
|
||||
}
|
||||
// //檔案已存在File必須先刪除
|
||||
if (File.Exists(strFailPath + DirName + @"\" + Path.GetFileName(FileName)) == true)
|
||||
{
|
||||
File.Delete(strFailPath + DirName + @"\" + Path.GetFileName(FileName));
|
||||
}
|
||||
// //移動檔案Queue至Fail
|
||||
try
|
||||
{
|
||||
File.Move(FileName, strFailPath + DirName + @"\" + Path.GetFileName(FileName));
|
||||
}
|
||||
catch (Exception ex1)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
// //回傳錯誤原因
|
||||
funWatchTestRet = CombineFailMsg("0000-999999", "[JobNo:" + strJobNo + "][FunctionNo:funWatchTest][FileName:" + FileName + "][LotNo:" + strLotNo + "][WaferNo:" + strComponentNo + "][" + ex.Message + ",StackTrace:" + ex.StackTrace + "][SQL:" + strSQL + "]");
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
return funWatchTestRet;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ---Error Log---
|
||||
|
||||
// //Function---------------------------------------------------------------------------------------------------------------------------------
|
||||
public string AddErrorLog(string ServiceName, string UserID, string KeyField, string KeyValue, DateTime RecordDate = default(DateTime), string Description = defString, string ComputerName = defString)
|
||||
|
||||
|
||||
|
||||
{
|
||||
string AddErrorLogRet = default(string);
|
||||
// 此 Function 將新增一筆資料
|
||||
// 傳入值: 各欄位新增值
|
||||
// 傳回值: success(成功), fail(失敗)
|
||||
|
||||
string strSQLAddField = string.Empty;
|
||||
string strSQLAddValue = string.Empty;
|
||||
string strSQL = string.Empty;
|
||||
|
||||
if (RecordDate == defDateTime)
|
||||
RecordDate = DateTime.Now;
|
||||
|
||||
try
|
||||
{
|
||||
strSQLAddField = "Insert into tblSysErrorLog (ServiceName, UserID, KeyField, KeyValue";
|
||||
strSQLAddValue = " Values ('" + ChkSingleQuation(Strings.Left(ServiceName, 30)) + "','" + ChkSingleQuation(Strings.Left(UserID, 10)) + "','" + ChkSingleQuation(Strings.Left(KeyField, 999)) + "','" + ChkSingleQuation(Strings.Left(KeyValue, 999)) + "'";
|
||||
|
||||
if ((Description ?? "") != defString)
|
||||
{
|
||||
strSQLAddField += ",Description";
|
||||
strSQLAddValue += ",'" + ChkSingleQuation(Strings.Left(Description, 1999)) + "'";
|
||||
}
|
||||
if (RecordDate != defDateTime)
|
||||
{
|
||||
strSQLAddField += ",RecordDate";
|
||||
strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(RecordDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')";
|
||||
}
|
||||
if ((ComputerName ?? "") != defString)
|
||||
{
|
||||
strSQLAddField += ",ComputerName";
|
||||
strSQLAddValue += ",'" + ChkSingleQuation(Strings.Left(ComputerName, 50)) + "'";
|
||||
}
|
||||
|
||||
// 直接給定strSQL
|
||||
strSQL = strSQLAddField + ")" + strSQLAddValue + ")";
|
||||
|
||||
// //執行SQL指令
|
||||
string argstrDatabaseType = Conversions.ToString(DataBaseType);
|
||||
ExecuteSQLNoneQuery(argstrDatabaseType, strConnectionString, ref strSQL);
|
||||
|
||||
// //Return success
|
||||
AddErrorLogRet = "success";
|
||||
}
|
||||
|
||||
catch (Exception e1)
|
||||
{
|
||||
AddErrorLogRet = "fail";
|
||||
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
|
||||
// Throw 'New Exception("kcSYS.AddErrorLog: " & e1.Message)
|
||||
|
||||
}
|
||||
|
||||
return AddErrorLogRet;
|
||||
|
||||
}
|
||||
private string CombineFailMsg(string ErrorCode, string Desc)
|
||||
{
|
||||
string CombineFailMsgRet = default(string);
|
||||
CombineFailMsgRet = "ErrorCode:" + ErrorCode + ";" + Desc;
|
||||
return CombineFailMsgRet;
|
||||
}
|
||||
#endregion
|
||||
|
||||
~clsAutoLoaderLibrary()
|
||||
{
|
||||
if (objSetting != null)
|
||||
objSetting = null;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
939
SRC/MESAgent/AutoLoaderLib/modAutoLoaderLibrary.cs
Normal file
939
SRC/MESAgent/AutoLoaderLib/modAutoLoaderLibrary.cs
Normal file
@ -0,0 +1,939 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Runtime.InteropServices;
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using static iMESCore.Base.iMESConst;
|
||||
using static iMESCore.Base.iMESComXML;
|
||||
|
||||
namespace AutoLoaderLib_C
|
||||
{
|
||||
static class modAutoLoaderLibrary
|
||||
{
|
||||
public enum GroupType
|
||||
{
|
||||
UserGroup = 0, // 使用者群組
|
||||
IssueGroup = 1, // 簽核群組
|
||||
EquipmentGroup = 2, // 設備工程師群組
|
||||
InventoryGroup = 3, // 庫房工程師群組
|
||||
ReportGroup = 4, // 報表使用群組
|
||||
ERFDispositionGroup = 5, // 異常處理群組
|
||||
ERFMailccGroup = 6 // 附件收件人群組
|
||||
}
|
||||
|
||||
private static string InXml, OutXml, strIdentity, strParameter, XmlData, XmlSchema;
|
||||
|
||||
#region 計算最大、最小、總合、平方根、良品數
|
||||
|
||||
public static bool funCalculateMinMaxSumSqr(DataRow rowRawData, string colFieldName, ref DataRow rowReslut, DataRow rowRawData_SpecYield, string min_colFieldName, string max_colFieldName, DataRow rowRawData_SpecAvg, DataRow rowRawData_SpecEng, string colFieldName_IR = defString, bool blnGoodFlag_Yield = true, bool blnGoodFlag_Avg = true, bool blnGoodFlag_AOI = true)
|
||||
|
||||
|
||||
|
||||
{
|
||||
bool funCalculateMinMaxSumSqrRet = default(bool);
|
||||
|
||||
|
||||
// //符合規格的顆數(AVG)
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecAvg[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecAvg[max_colFieldName], false)))
|
||||
{
|
||||
switch (Strings.Mid(colFieldName, 1, 3).ToUpper() ?? "")
|
||||
{
|
||||
case "ESD": // 計算ESD的Yield時IR必須也要是Pass
|
||||
{
|
||||
if ((colFieldName_IR ?? "") != defString)
|
||||
{
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName_IR])), rowRawData_SpecAvg[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName_IR])), rowRawData_SpecAvg[max_colFieldName], false)))
|
||||
{
|
||||
// //更新
|
||||
rowReslut.BeginEdit();
|
||||
// //Max
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectLess(rowReslut["MaxValue"], decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), false)))
|
||||
{
|
||||
rowReslut["MaxValue"] = decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
}
|
||||
// //Min
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowReslut["MinValue"], -9999, false)) || Conversions.ToBoolean(Operators.ConditionalCompareObjectGreater(rowReslut["MinValue"], decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), false)))
|
||||
{
|
||||
rowReslut["MinValue"] = decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
}
|
||||
// //IR必須要過ESD才能算
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecEng[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecEng[max_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName_IR])), rowRawData_SpecEng[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName_IR])), rowRawData_SpecEng[max_colFieldName], false)))
|
||||
|
||||
|
||||
{
|
||||
// //Yield Die數加一
|
||||
rowReslut["GoodQty1"] = Convert.ToInt32(rowReslut["GoodQty1"]) + 1;
|
||||
// Else
|
||||
// blnGoodFlag_Yield = False
|
||||
}
|
||||
|
||||
// //不包含AOIBin欄位判斷Yield
|
||||
if (colFieldName.ToString().ToUpper() != "AOIBIN")
|
||||
{
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[max_colFieldName], false)))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
blnGoodFlag_AOI = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[max_colFieldName], false)))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
blnGoodFlag_Yield = false;
|
||||
}
|
||||
|
||||
// '計算IR符合ESD規格的顆數
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName_IR])), rowRawData_SpecEng[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName_IR])), rowRawData_SpecEng[max_colFieldName], false)))
|
||||
{
|
||||
rowReslut["IRFitESDSpecQty"] = Convert.ToInt32(rowReslut["IRFitESDSpecQty"]) + 1;
|
||||
}
|
||||
// //Sum
|
||||
rowReslut["SumValue"] = (decimal)rowReslut["SumValue"] +
|
||||
decimal.Parse(rowRawData[colFieldName].ToString());
|
||||
// //SumSqr
|
||||
rowReslut["SqrValue"] = (double)rowReslut["SqrValue"] +
|
||||
Math.Pow((double)decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), 2d);
|
||||
// //Avg Die數加一
|
||||
rowReslut["GoodQty2"] = Convert.ToInt32(rowReslut["GoodQty2"]) + 1;
|
||||
// //更新
|
||||
rowReslut.EndEdit();
|
||||
// //
|
||||
funCalculateMinMaxSumSqrRet = true; // //此電性在規格內
|
||||
}
|
||||
else
|
||||
{
|
||||
// '計算IR符合ESD規格的顆數
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName_IR])), rowRawData_SpecEng[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName_IR])), rowRawData_SpecEng[max_colFieldName], false)))
|
||||
{
|
||||
rowReslut["GoodQty1"] = Convert.ToInt32(rowReslut["GoodQty1"]) + 1;
|
||||
rowReslut["IRFitESDSpecQty"] = Convert.ToInt32(rowReslut["IRFitESDSpecQty"]) + 1;
|
||||
// Else
|
||||
// blnGoodFlag_Yield = False
|
||||
}
|
||||
|
||||
// //不包含AOIBin欄位判斷Yield
|
||||
if (colFieldName.ToString().ToUpper() != "AOIBIN")
|
||||
{
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[max_colFieldName], false)))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
blnGoodFlag_AOI = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[max_colFieldName], false)))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
blnGoodFlag_Yield = false;
|
||||
}
|
||||
|
||||
funCalculateMinMaxSumSqrRet = false; // //回傳此電性在規格外
|
||||
blnGoodFlag_Avg = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("無法取得檔案中" + colFieldName_IR + "所對應的電性欄位!!");
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
// //更新
|
||||
rowReslut.BeginEdit();
|
||||
// //Max
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectLess(rowReslut["MaxValue"], decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), false)))
|
||||
{
|
||||
rowReslut["MaxValue"] = decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
}
|
||||
// //Min
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowReslut["MinValue"], -9999, false)) || Conversions.ToBoolean(Operators.ConditionalCompareObjectGreater(rowReslut["MinValue"], decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), false)))
|
||||
{
|
||||
rowReslut["MinValue"] = decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
}
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecEng[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecEng[max_colFieldName], false)))
|
||||
{
|
||||
// //Die數加一
|
||||
rowReslut["GoodQty1"] = Convert.ToInt32(rowReslut["GoodQty1"]) + 1;
|
||||
// Else
|
||||
// blnGoodFlag_Yield = False
|
||||
}
|
||||
// //不包含AOIBin欄位判斷Yield
|
||||
if (colFieldName.ToString().ToUpper() != "AOIBIN")
|
||||
{
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[max_colFieldName], false)))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
blnGoodFlag_AOI = false;
|
||||
}
|
||||
}
|
||||
// //
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[max_colFieldName], false)))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
blnGoodFlag_Yield = false;
|
||||
}
|
||||
// //Sum
|
||||
rowReslut["SumValue"] = (decimal)rowReslut["SumValue"] +
|
||||
decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
// //SumSqr
|
||||
rowReslut["SqrValue"] = (double)rowReslut["SqrValue"] +
|
||||
Math.Pow((double)decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), 2d);
|
||||
// //Avg Die數加一
|
||||
rowReslut["GoodQty2"] = Convert.ToInt32(rowReslut["GoodQty2"]) + 1;
|
||||
// //更新
|
||||
rowReslut.EndEdit();
|
||||
// //
|
||||
funCalculateMinMaxSumSqrRet = true; // //此電性在規格內
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecEng[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecEng[max_colFieldName], false)))
|
||||
{
|
||||
// //Die數加一
|
||||
rowReslut["GoodQty1"] = Convert.ToInt32(rowReslut["GoodQty1"]) + 1;
|
||||
// Else
|
||||
// blnGoodFlag_Yield = False
|
||||
}
|
||||
// //不包含AOIBin欄位判斷Yield
|
||||
if (colFieldName.ToString().ToUpper() != "AOIBIN")
|
||||
{
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[max_colFieldName], false)))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
blnGoodFlag_AOI = false;
|
||||
}
|
||||
}
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_SpecYield[max_colFieldName], false)))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
blnGoodFlag_Yield = false;
|
||||
}
|
||||
// '計算IR符合ESD規格的顆數
|
||||
if (Strings.Mid(colFieldName, 1, 3).ToUpper() == "ESD" && Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName_IR])), rowRawData_SpecEng[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName_IR])), rowRawData_SpecEng[max_colFieldName], false)))
|
||||
|
||||
{
|
||||
rowReslut["IRFitESDSpecQty"] = Convert.ToInt32(rowReslut["IRFitESDSpecQty"]) + 1;
|
||||
}
|
||||
funCalculateMinMaxSumSqrRet = false; // //回傳此電性在規格外
|
||||
blnGoodFlag_Avg = false;
|
||||
}
|
||||
|
||||
return funCalculateMinMaxSumSqrRet;
|
||||
// End If
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static bool funCalculateMinMaxSumSqr(DataRow rowRawData, string colFieldName, ref DataRow rowReslut, bool blnChkSpecFlag, DataRow rowRawData_Spec = null, DataRow rowRawData_Spec_AVG = null, string min_colFieldName = defString, string max_colFieldName = defString)
|
||||
|
||||
{
|
||||
bool funCalculateMinMaxSumSqrRet = default(bool);
|
||||
|
||||
// //依傳入值判斷是否要判規格
|
||||
if (blnChkSpecFlag == true)
|
||||
{
|
||||
// //不可為Nothing
|
||||
if (rowRawData_Spec == null)
|
||||
{
|
||||
throw new Exception("必須傳入規格定義資料(YIELD)!!");
|
||||
}
|
||||
// //不可為Nothing
|
||||
if (rowRawData_Spec_AVG == null)
|
||||
{
|
||||
throw new Exception("必須傳入規格定義資料(AVG)!!");
|
||||
}
|
||||
// //不可為defString
|
||||
if ((max_colFieldName ?? "") == defString)
|
||||
{
|
||||
throw new Exception("必須傳入規格電性最大欄位定義資料!!");
|
||||
}
|
||||
// //不可為defString
|
||||
if ((min_colFieldName ?? "") == defString)
|
||||
{
|
||||
throw new Exception("必須傳入規格電性最小欄位定義資料!!");
|
||||
}
|
||||
}
|
||||
// //更新
|
||||
rowReslut.BeginEdit();
|
||||
// //Max
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectLess(rowReslut["MaxValue"], decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), false)))
|
||||
{
|
||||
rowReslut["MaxValue"] = decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
}
|
||||
// //Min
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowReslut["MinValue"], 0, false)) || Conversions.ToBoolean(Operators.ConditionalCompareObjectGreater(rowReslut["MinValue"], decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), false)))
|
||||
{
|
||||
rowReslut["MinValue"] = decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
}
|
||||
// //依傳入值判斷是否要判規格
|
||||
if (blnChkSpecFlag == true)
|
||||
{
|
||||
// //規格最大、最小都為零時不需要判(AVG)
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowRawData_Spec_AVG[min_colFieldName], 0, false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowRawData_Spec_AVG[max_colFieldName], 0, false)))
|
||||
{
|
||||
// //Sum
|
||||
rowReslut["SumValue"] = (decimal)rowReslut["SumValue"] +
|
||||
decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
// //SumSqr
|
||||
rowReslut["SqrValue"] = (double)rowReslut["SqrValue"] +
|
||||
Math.Pow((double)decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), 2d);
|
||||
// //Die數加一
|
||||
rowReslut["GoodQty1"] = Convert.ToInt32(rowReslut["GoodQty1"]) + 1;
|
||||
}
|
||||
// //符合規格的顆數(良品數)
|
||||
else if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_Spec_AVG[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLess(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_Spec_AVG[max_colFieldName], false)))
|
||||
{
|
||||
// //Sum
|
||||
rowReslut["SumValue"] = (decimal)rowReslut["SumValue"] +
|
||||
decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
// //SumSqr
|
||||
rowReslut["SqrValue"] = (double)rowReslut["SqrValue"] +
|
||||
Math.Pow((double)decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), 2d);
|
||||
// //Die數加一
|
||||
rowReslut["GoodQty1"] = Convert.ToInt32(rowReslut["GoodQty1"]) + 1;
|
||||
}
|
||||
// //規格最大、最小都為零時不需要判(YIELD)
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowRawData_Spec[min_colFieldName], 0, false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowRawData_Spec[max_colFieldName], 0, false)))
|
||||
{
|
||||
// //Pass數加一
|
||||
rowReslut["GoodQty2"] = Convert.ToInt32(rowReslut["GoodQty2"]) + 1;
|
||||
funCalculateMinMaxSumSqrRet = true; // //此電性不需判斷規格(是)
|
||||
}
|
||||
// //符合規格的顆數(良品數)
|
||||
else if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_Spec[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLess(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_Spec[max_colFieldName], false)))
|
||||
{
|
||||
// //Pass數加一
|
||||
rowReslut["GoodQty2"] = Convert.ToInt32(rowReslut["GoodQty2"]) + 1;
|
||||
funCalculateMinMaxSumSqrRet = true; // //回傳此電性是否在規格內(是)
|
||||
}
|
||||
else
|
||||
{
|
||||
funCalculateMinMaxSumSqrRet = false;
|
||||
} // //回傳此電性是否在規格內(否)
|
||||
}
|
||||
else
|
||||
{
|
||||
// //Sum
|
||||
rowReslut["SumValue"] = (decimal)rowReslut["SumValue"] +
|
||||
decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
// //SumSqr
|
||||
rowReslut["SqrValue"] = (double)rowReslut["SqrValue"] +
|
||||
Math.Pow((double)decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), 2d);
|
||||
// //Pass數加一
|
||||
rowReslut["GoodQty1"] = Convert.ToInt32(rowReslut["GoodQty1"]) + 1;
|
||||
rowReslut["GoodQty2"] = Convert.ToInt32(rowReslut["GoodQty2"]) + 1;
|
||||
funCalculateMinMaxSumSqrRet = true;
|
||||
} // //此電性不需判斷規格(是)
|
||||
// //
|
||||
rowReslut.EndEdit();
|
||||
return funCalculateMinMaxSumSqrRet;
|
||||
|
||||
}
|
||||
|
||||
public static bool funCalculateMinMaxSumSqr(ref DataRow rowReslut, decimal valueQty, DataRow rowRawData_Spec, string min_colFieldName, string max_colFieldName)
|
||||
{
|
||||
bool funCalculateMinMaxSumSqrRet = default(bool);
|
||||
|
||||
|
||||
rowReslut.BeginEdit();
|
||||
// //Max
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectLess(rowReslut["MaxValue"], valueQty, false)))
|
||||
{
|
||||
rowReslut["MaxValue"] = valueQty;
|
||||
}
|
||||
|
||||
// //Min
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowReslut["MinValue"], 0, false)) || Conversions.ToBoolean(Operators.ConditionalCompareObjectGreater(rowReslut["MinValue"], valueQty, false)))
|
||||
{
|
||||
rowReslut["MinValue"] = valueQty;
|
||||
}
|
||||
|
||||
// //Sum
|
||||
rowReslut["SumValue"] = (decimal)rowReslut["SumValue"] + valueQty;
|
||||
|
||||
// //SumSqr
|
||||
rowReslut["SqrValue"] = (double)rowReslut["SqrValue"] +
|
||||
Math.Pow((double)valueQty, 2d);
|
||||
|
||||
// //符合規格的顆數(良品數)
|
||||
// //規格最大、最小都為零時不需要判,都算是Good
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowRawData_Spec[min_colFieldName], 0, false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowRawData_Spec[max_colFieldName], 0, false)))
|
||||
{
|
||||
rowReslut["GoodQty1"] = Convert.ToInt32(rowReslut["GoodQty1"]) + 1;
|
||||
rowReslut["GoodQty2"] = Convert.ToInt32(rowReslut["GoodQty2"]) + 1;
|
||||
funCalculateMinMaxSumSqrRet = true; // //回傳此電性是否在規格內(是)
|
||||
}
|
||||
else if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(valueQty, rowRawData_Spec[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLess(valueQty, rowRawData_Spec[max_colFieldName], false)))
|
||||
{
|
||||
rowReslut["GoodQty1"] = Convert.ToInt32(rowReslut["GoodQty1"]) + 1;
|
||||
rowReslut["GoodQty2"] = Convert.ToInt32(rowReslut["GoodQty2"]) + 1;
|
||||
funCalculateMinMaxSumSqrRet = true; // //回傳此電性是否在規格內(是)
|
||||
}
|
||||
else
|
||||
{
|
||||
funCalculateMinMaxSumSqrRet = false;
|
||||
} // //回傳此電性是否在規格內(否)
|
||||
// //更新
|
||||
rowReslut.EndEdit();
|
||||
return funCalculateMinMaxSumSqrRet;
|
||||
|
||||
}
|
||||
|
||||
public static bool funCalculateMinMaxSumSqr(DataRow rowRawData, string colFieldName, ref DataRow rowReslut)
|
||||
{
|
||||
bool funCalculateMinMaxSumSqrRet = default(bool);
|
||||
|
||||
// //更新
|
||||
rowReslut.BeginEdit();
|
||||
// //Max
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectLess(rowReslut["MaxValue"], decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), false)))
|
||||
{
|
||||
rowReslut["MaxValue"] = decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
}
|
||||
// //Min
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowReslut["MinValue"], 0, false)) || Conversions.ToBoolean(Operators.ConditionalCompareObjectGreater(rowReslut["MinValue"], decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), false)))
|
||||
{
|
||||
rowReslut["MinValue"] = decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
}
|
||||
// //更新
|
||||
rowReslut.EndEdit();
|
||||
// //Return
|
||||
funCalculateMinMaxSumSqrRet = true;
|
||||
return funCalculateMinMaxSumSqrRet;
|
||||
|
||||
}
|
||||
|
||||
// add by Lena, 2012/06/22
|
||||
public static bool funCalculateMinMaxSumSqr(string colFieldName, DataRow rowRawData, ref DataRow rowReslut, DataRow rowRawData_Spec, string min_colFieldName, string max_colFieldName)
|
||||
{
|
||||
bool funCalculateMinMaxSumSqrRet = default(bool);
|
||||
|
||||
|
||||
// '//符合規格的顆數(良品數)
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_Spec[min_colFieldName], false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectLessEqual(decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), rowRawData_Spec[max_colFieldName], false)))
|
||||
{
|
||||
|
||||
// //更新
|
||||
rowReslut.BeginEdit();
|
||||
// //Max
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectLess(rowReslut["MaxValue"], decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), false)))
|
||||
{
|
||||
rowReslut["MaxValue"] = decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
}
|
||||
// //Min
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowReslut["MinValue"], -9999, false)) || Conversions.ToBoolean(Operators.ConditionalCompareObjectGreater(rowReslut["MinValue"], decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), false)))
|
||||
{
|
||||
rowReslut["MinValue"] = decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
}
|
||||
|
||||
// //Sum
|
||||
rowReslut["SumValue"] = (decimal)rowReslut["SumValue"] +
|
||||
decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
|
||||
// //SumSqr
|
||||
rowReslut["SqrValue"] = (double)rowReslut["SqrValue"] +
|
||||
Math.Pow((double)decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), 2d);
|
||||
|
||||
// //Yield Die數加一
|
||||
rowReslut["GoodQty1"] = Convert.ToInt32(rowReslut["GoodQty1"]) + 1;
|
||||
|
||||
// //Avg Die數加一
|
||||
rowReslut["GoodQty2"] = Convert.ToInt32(rowReslut["GoodQty2"]) + 1;
|
||||
|
||||
// //更新
|
||||
rowReslut.EndEdit();
|
||||
funCalculateMinMaxSumSqrRet = true; // //回傳此電性是否在規格內(是)
|
||||
}
|
||||
|
||||
// '//規格最大、最小都為零時不需要判,都算是Good
|
||||
else if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowRawData_Spec[min_colFieldName], 0, false)) && Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowRawData_Spec[max_colFieldName], 0, false)))
|
||||
{
|
||||
|
||||
// //更新
|
||||
rowReslut.BeginEdit();
|
||||
// //Max
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectLess(rowReslut["MaxValue"], decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), false)))
|
||||
{
|
||||
rowReslut["MaxValue"] = decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
}
|
||||
// //Min
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(rowReslut["MinValue"], -9999, false)) || Conversions.ToBoolean(Operators.ConditionalCompareObjectGreater(rowReslut["MinValue"], decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), false)))
|
||||
{
|
||||
rowReslut["MinValue"] = decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
}
|
||||
|
||||
// //Sum
|
||||
rowReslut["SumValue"] = (decimal)rowReslut["SumValue"] +
|
||||
decimal.Parse(Conversions.ToString(rowRawData[colFieldName]));
|
||||
|
||||
// //SumSqr
|
||||
rowReslut["SqrValue"] = (double)rowReslut["SqrValue"] +
|
||||
Math.Pow((double)decimal.Parse(Conversions.ToString(rowRawData[colFieldName])), 2d);
|
||||
|
||||
// //Yield Die數加一
|
||||
rowReslut["GoodQty1"] = Convert.ToInt32(rowReslut["GoodQty1"]) + 1;
|
||||
|
||||
// //Avg Die數加一
|
||||
rowReslut["GoodQty2"] = Convert.ToInt32(rowReslut["GoodQty2"]) + 1;
|
||||
|
||||
// //更新
|
||||
rowReslut.EndEdit();
|
||||
funCalculateMinMaxSumSqrRet = true; // //回傳此電性是否在規格內(是)
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
funCalculateMinMaxSumSqrRet = false;
|
||||
} // //回傳此電性是否在規格內(否)
|
||||
|
||||
return funCalculateMinMaxSumSqrRet;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region --- Transaction Output ---
|
||||
|
||||
public static object OutputSQLNoneQuery(ref string strCommandText)
|
||||
{
|
||||
|
||||
bool blnTransactionLog = false;
|
||||
|
||||
try
|
||||
{
|
||||
blnTransactionLog = Conversions.ToBoolean(System.Configuration.ConfigurationSettings.AppSettings["TransactionLog"]);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
blnTransactionLog = false;
|
||||
}
|
||||
|
||||
if (blnTransactionLog == false)
|
||||
return default(Object);
|
||||
|
||||
var tfc = new System.CodeDom.Compiler.TempFileCollection(System.Configuration.ConfigurationSettings.AppSettings["OutputSQLPath"], true);
|
||||
string FileName = tfc.AddExtension("SQL");
|
||||
string ErrorLogFile = System.Configuration.ConfigurationSettings.AppSettings["ErrorLogPath"] + Strings.Format(DateTime.Now, "yyyyMMdd").ToString() + "_Error.Log";
|
||||
FileName = FileName.Insert(FileName.LastIndexOf(@"\") + 1, "TX" + DateTime.Now.ToString("yyyyMMddHHmmssfff"));
|
||||
|
||||
try
|
||||
{
|
||||
using (var sw = System.IO.File.AppendText(FileName))
|
||||
{
|
||||
sw.WriteLine(strCommandText.Replace(Constants.vbCrLf, " "));
|
||||
sw.Flush();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (var sw = System.IO.File.AppendText(ErrorLogFile))
|
||||
{
|
||||
sw.WriteLine(ex.Message + ex.StackTrace);
|
||||
sw.Flush();
|
||||
}
|
||||
}
|
||||
catch (Exception e1)
|
||||
{
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
System.IO.File.Delete(tfc.BasePath + ".tmp");
|
||||
}
|
||||
|
||||
return default(Object);
|
||||
|
||||
}
|
||||
|
||||
// Public Function OutputSQLNoneQuery_UPD(ByRef CollectionSQL As Collection)
|
||||
|
||||
// Dim blnTransactionLog As Boolean = False
|
||||
|
||||
// Try
|
||||
// blnTransactionLog = CType(System.Configuration.ConfigurationSettings.AppSettings("TransactionLog"), Boolean)
|
||||
// Catch ex As Exception
|
||||
// blnTransactionLog = False
|
||||
// End Try
|
||||
|
||||
// If blnTransactionLog = False Then Exit Function
|
||||
|
||||
// Dim tfc As New System.CodeDom.Compiler.TempFileCollection(System.Configuration.ConfigurationSettings.AppSettings("OutputSQLPath"), True)
|
||||
// Dim FileName As String = tfc.AddExtension("SQL")
|
||||
// Dim ErrorLogFile As String = System.Configuration.ConfigurationSettings.AppSettings("ErrorLogPath") & Format(Now, "yyyyMMdd").ToString & "_Error.Log"
|
||||
// FileName = FileName.Insert(FileName.LastIndexOf("\") + 1, "TX" & Now.ToString("yyyyMMddHHmmssfff"))
|
||||
// Dim strCommandText As String = String.Empty
|
||||
|
||||
// Try
|
||||
// Using sw As System.IO.StreamWriter = System.IO.File.AppendText(FileName)
|
||||
// For Each strCommandText In CollectionSQL
|
||||
// sw.WriteLine(strCommandText.Replace(vbCrLf, " "))
|
||||
// Next strCommandText
|
||||
// sw.Flush()
|
||||
// End Using
|
||||
// Catch ex As Exception
|
||||
// Try
|
||||
// Using sw As System.IO.StreamWriter = System.IO.File.AppendText(ErrorLogFile)
|
||||
// sw.WriteLine(ex.Message & ex.StackTrace)
|
||||
// sw.Flush()
|
||||
// End Using
|
||||
// Catch e1 As Exception
|
||||
// End Try
|
||||
// Finally
|
||||
// System.IO.File.Delete(tfc.BasePath & ".tmp")
|
||||
// End Try
|
||||
|
||||
// End Function
|
||||
|
||||
public static object OutputSQLNoneQuery_AttachFile(ref string strCommandText, ref string AttachName, ref string aBody, object DataType)
|
||||
{
|
||||
|
||||
bool blnTransactionLog = false;
|
||||
|
||||
try
|
||||
{
|
||||
blnTransactionLog = Conversions.ToBoolean(System.Configuration.ConfigurationSettings.AppSettings["TransactionLog"]);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
blnTransactionLog = false;
|
||||
}
|
||||
|
||||
if (blnTransactionLog == false)
|
||||
return default(Object);
|
||||
|
||||
var tfc1 = new System.CodeDom.Compiler.TempFileCollection(System.Configuration.ConfigurationSettings.AppSettings["OutputSQLPath"], true);
|
||||
var tfc2 = new System.CodeDom.Compiler.TempFileCollection(System.Configuration.ConfigurationSettings.AppSettings["AttachFilePath"], true);
|
||||
string FileName = tfc1.AddExtension("SQL");
|
||||
string AttachFile = tfc2.AddExtension("TXT");
|
||||
string ErrorLogFile = System.Configuration.ConfigurationSettings.AppSettings["ErrorLogPath"] + Strings.Format(DateTime.Now, "yyyyMMdd").ToString() + "_Error.Log";
|
||||
FileName = FileName.Insert(FileName.LastIndexOf(@"\") + 1, "TX" + DateTime.Now.ToString("yyyyMMddHHmmssfff"));
|
||||
AttachFile = AttachFile.Insert(AttachFile.LastIndexOf(@"\") + 1, AttachName);
|
||||
|
||||
try
|
||||
{
|
||||
// //Output File
|
||||
if (aBody != null)
|
||||
{
|
||||
string sFileSource = AttachFile;
|
||||
if (System.IO.File.Exists(sFileSource))
|
||||
{
|
||||
try
|
||||
{
|
||||
System.IO.File.Delete(sFileSource);
|
||||
using (var sw = System.IO.File.AppendText(sFileSource))
|
||||
{
|
||||
sw.WriteLine(aBody);
|
||||
sw.Flush();
|
||||
}
|
||||
}
|
||||
catch (System.IO.IOException ex)
|
||||
{
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
using (var sw = System.IO.File.AppendText(sFileSource))
|
||||
{
|
||||
sw.WriteLine(aBody);
|
||||
sw.Flush();
|
||||
}
|
||||
}
|
||||
}
|
||||
// //輸出格式 = SQL Command;DataType;FilePath
|
||||
strCommandText += ";" + DataType.ToString() + ";" + AttachFile;
|
||||
using (var sw = System.IO.File.AppendText(FileName))
|
||||
{
|
||||
sw.WriteLine(strCommandText.Replace(Constants.vbCrLf, " "));
|
||||
sw.Flush();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (var sw = System.IO.File.AppendText(ErrorLogFile))
|
||||
{
|
||||
sw.WriteLine(ex.Message + ex.StackTrace);
|
||||
sw.Flush();
|
||||
}
|
||||
}
|
||||
catch (Exception e1)
|
||||
{
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
System.IO.File.Delete(tfc1.BasePath + ".tmp");
|
||||
System.IO.File.Delete(tfc2.BasePath + ".tmp");
|
||||
}
|
||||
|
||||
return default(Object);
|
||||
|
||||
}
|
||||
|
||||
public static object OutputSQLNoneQuery_AttachFile(ref string strCommandText, ref string AttachName, ref byte[] aBody, object DataType)
|
||||
{
|
||||
|
||||
bool blnTransactionLog = false;
|
||||
|
||||
try
|
||||
{
|
||||
blnTransactionLog = Conversions.ToBoolean(System.Configuration.ConfigurationSettings.AppSettings["TransactionLog"]);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
blnTransactionLog = false;
|
||||
}
|
||||
|
||||
if (blnTransactionLog == false)
|
||||
return default(Object);
|
||||
|
||||
var tfc1 = new System.CodeDom.Compiler.TempFileCollection(System.Configuration.ConfigurationSettings.AppSettings["OutputSQLPath"], true);
|
||||
var tfc2 = new System.CodeDom.Compiler.TempFileCollection(System.Configuration.ConfigurationSettings.AppSettings["AttachFilePath"], true);
|
||||
string FileName = tfc1.AddExtension("SQL");
|
||||
string AttachFile = tfc2.AddExtension(AttachName.Substring(AttachName.Length - 3, 3).ToUpper());
|
||||
string ErrorLogFile = System.Configuration.ConfigurationSettings.AppSettings["ErrorLogPath"] + Strings.Format(DateTime.Now, "yyyyMMdd").ToString() + "_Error.Log";
|
||||
FileName = FileName.Insert(FileName.LastIndexOf(@"\") + 1, "TX" + DateTime.Now.ToString("yyyyMMddHHmmssfff"));
|
||||
AttachFile = AttachFile.Insert(AttachFile.LastIndexOf(@"\") + 1, AttachName.Substring(0, AttachName.Length - 4));
|
||||
|
||||
try
|
||||
{
|
||||
// //Output File
|
||||
if (aBody != null)
|
||||
{
|
||||
string sFileSource = AttachFile;
|
||||
if (System.IO.File.Exists(sFileSource))
|
||||
{
|
||||
try
|
||||
{
|
||||
System.IO.File.Delete(sFileSource);
|
||||
var fs = new System.IO.FileStream(sFileSource, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
|
||||
fs.Write(aBody, 0, aBody.Length);
|
||||
fs.Close();
|
||||
}
|
||||
catch (System.IO.IOException ex)
|
||||
{
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var fs = new System.IO.FileStream(sFileSource, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
|
||||
fs.Write(aBody, 0, aBody.Length);
|
||||
fs.Close();
|
||||
}
|
||||
}
|
||||
// //輸出格式 = SQL Command;DataType;FilePath
|
||||
strCommandText += ";" + DataType.ToString() + ";" + AttachFile;
|
||||
using (var sw = System.IO.File.AppendText(FileName))
|
||||
{
|
||||
sw.WriteLine(strCommandText.Replace(Constants.vbCrLf, " "));
|
||||
sw.Flush();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (var sw = System.IO.File.AppendText(ErrorLogFile))
|
||||
{
|
||||
sw.WriteLine(ex.Message + ex.StackTrace);
|
||||
sw.Flush();
|
||||
}
|
||||
}
|
||||
catch (Exception e1)
|
||||
{
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
System.IO.File.Delete(tfc1.BasePath + ".tmp");
|
||||
System.IO.File.Delete(tfc2.BasePath + ".tmp");
|
||||
}
|
||||
|
||||
return default(Object);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Invoke
|
||||
|
||||
/// <summary>
|
||||
/// 叫用Web Service, 並回傳Response XML
|
||||
/// </summary>
|
||||
/// <param name="Method">要呼叫哪一個WebService的方法, ex: wsWIP.LoadLotBasis</param>
|
||||
/// <param name="InXml">InXml</param>
|
||||
/// <param name="Customize">是否客製的WebService</param>
|
||||
/// <returns></returns>
|
||||
public static string InvokeSrv(string Method, string InXml, bool Customize = false)
|
||||
{
|
||||
|
||||
object result;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var ws = new wsInvoke.wsInvoke())
|
||||
{
|
||||
ws.Url = modWIN.LocalizeWebService(ws.Url.ToString(), Customize);
|
||||
ws.EnableDecompression = true;
|
||||
result = ws.invokeSrv(Method, new object[] { InXml });
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return Conversions.ToString(result);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 叫用Web Service, 回傳Response XML
|
||||
/// </summary>
|
||||
/// <param name="Method">要呼叫哪一個WebService的方法, ex: wsWIP.LoadLotBasis</param>
|
||||
/// <param name="InXml">InXml</param>
|
||||
/// <param name="buffer">用來取回byte資料或傳入byte資料</param>
|
||||
/// <param name="Customize">是否客製的WebService</param>
|
||||
/// <returns></returns>
|
||||
public static string InvokeSrv(string Method, string InXml, byte[] buffer, bool Customize = false)
|
||||
{
|
||||
|
||||
object result;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var ws = new wsInvoke.wsInvoke())
|
||||
{
|
||||
ws.Url = modWIN.LocalizeWebService(ws.Url.ToString(), Customize);
|
||||
ws.EnableDecompression = true;
|
||||
result = ws.invokeSrv(Method, new object[] { InXml, buffer });
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return Conversions.ToString(result);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 叫用Web Service, 並回傳Response XML
|
||||
/// </summary>
|
||||
/// <param name="Method">要呼叫哪一個WebService的方法, ex: wsWIP.LoadLotBasis</param>
|
||||
/// <param name="InXml">InXml</param>
|
||||
/// <param name="pDataSet">接收結果的DataSet</param>
|
||||
/// <param name="Customize">是否客製的WebService</param>
|
||||
/// <returns></returns>
|
||||
public static string InvokeSrv(string Method, string InXml, ref DataSet pDataSet, bool Customize = false)
|
||||
{
|
||||
|
||||
object result;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var ws = new wsInvoke.wsInvoke())
|
||||
{
|
||||
ws.Url = modWIN.LocalizeWebService(ws.Url.ToString(), Customize);
|
||||
ws.EnableDecompression = true;
|
||||
result = ws.invokeSrv_DataSet(Method, InXml, ref pDataSet);
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return Conversions.ToString(result);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
// 發Mail功能 非群組與群組發送
|
||||
public static string SendMultiEmail(ref string FileName, ref string EmailSubject, string EmailBody = defString, string GroupNo = defString, byte[] AttachFile = null, GroupType GroupType = GroupType.UserGroup)
|
||||
{
|
||||
string SendMultiEmailRet = default(string);
|
||||
// GroupType
|
||||
// 0:User Group (使用者群組)
|
||||
// 1:Issue Group (簽核群組)
|
||||
// 2:Equipment Group(設備工程師群組)
|
||||
// 3:Inventory Group(庫房工程師群組)
|
||||
// 4:Report Group(報表使用群組)
|
||||
// 5:ERF Disposition Group(異常處理群組)
|
||||
// 6:ERF Mail ccGroup(附件收件人群組)
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
strIdentity = CombineXMLIdentity(modWIN.gComputerName, "AUTORUN", DateTime.Now.ToString());
|
||||
strParameter = CombineXMLParameter("groupno", "GroupNo", "String", CInput(GroupNo), "");
|
||||
strParameter = strParameter + CombineXMLParameter("emailsubject", "EmailSubject", "String", EmailSubject, "");
|
||||
strParameter = strParameter + CombineXMLParameter("emailbody", "EmailBody", "String", EmailBody, "");
|
||||
strParameter = strParameter + CombineXMLParameter("grouptype", "GroupType", "Integer", GroupType.ToString(), "");
|
||||
strParameter = strParameter + CombineXMLParameter("attachfilename", "AttachFileName", "String", FileName, "");
|
||||
var XmlDoc = new System.Xml.XmlDocument();
|
||||
|
||||
InXml = modWIN.CombineXMLRequest(ref strIdentity, ref strParameter);
|
||||
|
||||
// OutXml = wsWIP.SendEmailAndAttachFileToGroup(InXml, AttachFile)
|
||||
OutXml = InvokeSrv("wsWIP.SendEmailAndAttachFileToGroup", InXml, AttachFile);
|
||||
|
||||
XmlDoc.LoadXml(OutXml);
|
||||
|
||||
if (modWIN.chkExecutionSuccess(ref XmlDoc)) // 找出Exception訊並顯示出來
|
||||
{
|
||||
SendMultiEmailRet = "success";
|
||||
}
|
||||
else
|
||||
{
|
||||
SendMultiEmailRet = "fail";
|
||||
}
|
||||
|
||||
XmlDoc = null;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
SendMultiEmailRet = "fail;" + ex.Message;
|
||||
}
|
||||
|
||||
return SendMultiEmailRet;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
492
SRC/MESAgent/AutoLoaderLib/modWIN.cs
Normal file
492
SRC/MESAgent/AutoLoaderLib/modWIN.cs
Normal file
@ -0,0 +1,492 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using static System.Configuration.ConfigurationSettings;
|
||||
using System.Data;
|
||||
using System.Runtime.InteropServices;
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using static iMESCore.Base.iMESConst;
|
||||
|
||||
namespace AutoLoaderLib_C
|
||||
{
|
||||
|
||||
|
||||
static class modWIN
|
||||
{
|
||||
|
||||
// ReviseDate : 2003/08/07,修改處理AdditionalXML
|
||||
// ReviseDate : 2003/08/05,新增Public gReturnArray
|
||||
// ReviseDate : 2003/07/01,更改AddFlow產生的Error(CInput)
|
||||
// ReviseDate : 2002/11/04,新增CUnInput function
|
||||
|
||||
public static string gComputerName;
|
||||
public static string gReturnKeyValue;
|
||||
public static string gUserNo;
|
||||
public static string gUserName;
|
||||
public static string gUserLevel;
|
||||
public static string gLanguageMode;
|
||||
public static string gAppPath;
|
||||
// **Add for Smart Client Architecture
|
||||
public static string gMESWebServiceHost;
|
||||
public static string gCUSWebServiceHost;
|
||||
|
||||
// Add By Peter 2005/6/20
|
||||
public static string gSettingMode = "";
|
||||
|
||||
public static DataRow drSearch;
|
||||
|
||||
public static ArrayList gReturnArray = new ArrayList();
|
||||
|
||||
public const string strAddTagLabel = "extrabase"; // Add by py for Combine Addition XML doc
|
||||
public const string strAddTagName = "ExtraBase"; // Add by py for Combine Addition XML doc
|
||||
|
||||
public static bool chkExecutionSuccess(ref System.Xml.XmlDocument Xmldoc)
|
||||
{
|
||||
bool chkExecutionSuccessRet = default(bool);
|
||||
if (Xmldoc.DocumentElement["result"].InnerXml == "success")
|
||||
{
|
||||
chkExecutionSuccessRet = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
chkExecutionSuccessRet = false;
|
||||
}
|
||||
|
||||
return chkExecutionSuccessRet;
|
||||
}
|
||||
|
||||
public static string GetExceptionSysMsg(ref System.Xml.XmlDocument Xmldoc)
|
||||
{
|
||||
string GetExceptionSysMsgRet = default(string);
|
||||
string argstrInput = Xmldoc.DocumentElement.GetElementsByTagName("sysmsg").Item(0).InnerXml;
|
||||
GetExceptionSysMsgRet = CUnInput(ref argstrInput);
|
||||
Xmldoc.DocumentElement.GetElementsByTagName("sysmsg").Item(0).InnerXml = argstrInput;
|
||||
return GetExceptionSysMsgRet;
|
||||
}
|
||||
|
||||
public static string GetExceptionMesMsg(ref System.Xml.XmlDocument Xmldoc)
|
||||
{
|
||||
string GetExceptionMesMsgRet = default(string);
|
||||
string argstrInput = Xmldoc.DocumentElement.GetElementsByTagName("mesmsg").Item(0).InnerXml;
|
||||
GetExceptionMesMsgRet = CUnInput(ref argstrInput);
|
||||
Xmldoc.DocumentElement.GetElementsByTagName("mesmsg").Item(0).InnerXml = argstrInput;
|
||||
return GetExceptionMesMsgRet;
|
||||
}
|
||||
|
||||
public static string CombineXMLIdentity(ref string ComputerName, ref string CurUserNo, ref string SendTime)
|
||||
{
|
||||
string CombineXMLIdentityRet = default(string);
|
||||
CombineXMLIdentityRet = "<computername>" + ComputerName + "</computername>" + "<curuserno>" + CurUserNo + "</curuserno>" + "<sendtime>" + SendTime + "</sendtime>";
|
||||
|
||||
return CombineXMLIdentityRet;
|
||||
}
|
||||
|
||||
public static string CombineXMLParameter(ref string value_name, ref string name, ref string type, ref string value, ref string desc)
|
||||
{
|
||||
string CombineXMLParameterRet = default(string);
|
||||
CombineXMLParameterRet = "<" + value_name.ToLower() + ">" + "<name>" + name + "</name>" + "<type>" + type + "</type>" + "<value>" + value + "</value>" + "<desc>" + desc + "</desc>" + "</" + value_name.ToLower() + ">";
|
||||
|
||||
|
||||
|
||||
|
||||
return CombineXMLParameterRet;
|
||||
}
|
||||
|
||||
public static string CombineXMLRequest(ref string strIdentity, ref string strParameter)
|
||||
{
|
||||
string CombineXMLRequestRet = default(string);
|
||||
CombineXMLRequestRet = "<request>" + "<identity>" + strIdentity + "</identity>";
|
||||
if (!string.IsNullOrEmpty(strParameter))
|
||||
{
|
||||
CombineXMLRequestRet = CombineXMLRequestRet + "<parameter>" + strParameter + "</parameter>";
|
||||
}
|
||||
CombineXMLRequestRet = CombineXMLRequestRet + "</request>";
|
||||
return CombineXMLRequestRet;
|
||||
}
|
||||
|
||||
public static string CombineXMLValue(ref string TagName, ref string Value)
|
||||
{
|
||||
string CombineXMLValueRet = default(string);
|
||||
CombineXMLValueRet = "<" + TagName + ">" + Value + "</" + TagName + ">";
|
||||
return CombineXMLValueRet;
|
||||
}
|
||||
|
||||
public static string CombineXMLValueTag(ref string Value)
|
||||
{
|
||||
string CombineXMLValueTagRet = default(string);
|
||||
CombineXMLValueTagRet = "<value>" + Value + "</value>";
|
||||
return CombineXMLValueTagRet;
|
||||
}
|
||||
|
||||
public static string CombineXMLParameterMultiValue(ref string value_name, ref string name, ref string type, ref string value, ref string desc)
|
||||
{
|
||||
string CombineXMLParameterMultiValueRet = default(string);
|
||||
// Value不用加上Tag
|
||||
CombineXMLParameterMultiValueRet = "<" + value_name.ToLower() + ">" + "<name>" + name + "</name>" + "<type>" + type + "</type>" + value + "<desc>" + desc + "</desc>" + "</" + value_name.ToLower() + ">";
|
||||
|
||||
|
||||
|
||||
return CombineXMLParameterMultiValueRet;
|
||||
}
|
||||
|
||||
public static int FindRecordPosition(ref DataView dvData, ref string strColumnName, ref string strFindValue)
|
||||
{
|
||||
int FindRecordPositionRet = default(int);
|
||||
// //由Dataview的第一筆開始尋找符合的資料直到最後一筆
|
||||
// //傳出資料在資料表內的Index
|
||||
int i;
|
||||
bool Found; // //紀錄是否找到符合資料
|
||||
string strDataType; // //尋找資料欄的資料型態
|
||||
|
||||
try
|
||||
{
|
||||
if (!string.IsNullOrEmpty(strFindValue)) // 是否有傳入尋找的條件
|
||||
{
|
||||
Found = false;
|
||||
strDataType = dvData.Table.Columns[strColumnName].DataType.ToString();
|
||||
if (strDataType == "System.DateTime") // 日期型態的資料比對
|
||||
{
|
||||
var loopTo = dvData.Count;
|
||||
for (i = 0; i <= loopTo; i++)
|
||||
{
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(dvData[i][strColumnName], "#" + Strings.Format(Conversions.ToDate(strFindValue), "yyyy/MM/dd") + "#", false)))
|
||||
{
|
||||
Found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else // 字串,數值資料型態的比對
|
||||
{
|
||||
var loopTo1 = dvData.Count;
|
||||
for (i = 0; i <= loopTo1; i++)
|
||||
{
|
||||
if ((Strings.UCase(dvData[i][strColumnName].ToString()) ?? "") == (Strings.UCase(strFindValue) ?? ""))
|
||||
{
|
||||
Found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Found == true)
|
||||
{
|
||||
FindRecordPositionRet = i; // 找到符合資料,傳出所在的RowIndex
|
||||
}
|
||||
else
|
||||
{
|
||||
FindRecordPositionRet = -1;
|
||||
} // 沒有符合資料
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
FindRecordPositionRet = -1;
|
||||
} // 沒有符合資料
|
||||
|
||||
return FindRecordPositionRet;
|
||||
|
||||
// //使用Dataview的Find Method,日期無法使用
|
||||
// dvData.Sort = strColumnName
|
||||
// FindRecordPosition = dvData.Find(strFindValue)
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static string PasswordEncoding(ref string Password)
|
||||
{
|
||||
string PasswordEncodingRet = default(string);
|
||||
// 此 Function 將傳入值加以編碼後傳出,編碼後長度不變
|
||||
// 傳入值: 密碼
|
||||
// 傳回值: 編碼後密碼
|
||||
|
||||
// Vernam密碼是由Gilbert Vernam在1918年發明的
|
||||
string g_Key = "xNDFz6LH67LOv7xKbWFpbMu1wejrM7SzvV4tLRvq3X47m708O1xMHLoaMNCqGhoaEN";
|
||||
string strChar, iCryptChar, strEncrypted = default(string);
|
||||
int i, iKeyChar, iStringChar;
|
||||
|
||||
var loopTo = Strings.Len(Password);
|
||||
for (i = 1; i <= loopTo; i++)
|
||||
{
|
||||
iKeyChar = Strings.Asc(Strings.Mid(g_Key, i, 1));
|
||||
iStringChar = Strings.Asc(Strings.Mid(Password, i, 1));
|
||||
iCryptChar = (iKeyChar ^ iStringChar).ToString();
|
||||
strEncrypted = strEncrypted + Strings.Chr(Conversions.ToInteger(iCryptChar));
|
||||
}
|
||||
|
||||
PasswordEncodingRet = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(strEncrypted));
|
||||
return PasswordEncodingRet;
|
||||
|
||||
}
|
||||
|
||||
public static string FilterByString(ref string strFilter, ref string strColumnName, ref string strColumnValue)
|
||||
{
|
||||
string FilterByStringRet = default(string);
|
||||
// 對字串欄位做篩選
|
||||
if (string.IsNullOrEmpty(strFilter))
|
||||
{
|
||||
strFilter = strColumnName + " = '" + Strings.Replace(strColumnValue, "'", "''") + "'";
|
||||
}
|
||||
else
|
||||
{
|
||||
strFilter = strFilter + " And " + strColumnName + " = '" + Strings.Replace(strColumnValue, "'", "''") + "'";
|
||||
}
|
||||
FilterByStringRet = strFilter;
|
||||
return FilterByStringRet;
|
||||
}
|
||||
|
||||
|
||||
public static string FilterByInteger(ref string strFilter, ref string strColumnName, ref int strColumnValue)
|
||||
{
|
||||
string FilterByIntegerRet = default(string);
|
||||
// 對數值欄位做篩選
|
||||
if (string.IsNullOrEmpty(strFilter))
|
||||
{
|
||||
strFilter = strColumnName + " = " + strColumnValue;
|
||||
}
|
||||
else
|
||||
{
|
||||
strFilter = strFilter + " And " + strColumnName + " = " + strColumnValue;
|
||||
}
|
||||
FilterByIntegerRet = strFilter;
|
||||
return FilterByIntegerRet;
|
||||
}
|
||||
|
||||
public static string FilterByDate(ref string strFilter, ref string strColumnName, ref DateTime datFromDate, ref DateTime datEndDate)
|
||||
{
|
||||
string FilterByDateRet = default(string);
|
||||
// 對日期欄位做篩選
|
||||
if (string.IsNullOrEmpty(strFilter))
|
||||
{
|
||||
strFilter = strColumnName + " >= #" + Strings.Format(Conversions.ToDate(datFromDate), "yyyy/MM/dd 00:00:00") + "# And " + strColumnName + " <= #" + Strings.Format(Conversions.ToDate(datEndDate), "yyyy/MM/dd 23:59:59") + "# ";
|
||||
}
|
||||
else
|
||||
{
|
||||
strFilter = strFilter + " And " + strColumnName + " >= #" + Strings.Format(Conversions.ToDate(datFromDate), "yyyy/MM/dd 00:00:00") + "# And " + strColumnName + " <= #" + Strings.Format(Conversions.ToDate(datEndDate), "yyyy/MM/dd 23:59:59") + "# ";
|
||||
}
|
||||
FilterByDateRet = strFilter;
|
||||
return FilterByDateRet;
|
||||
}
|
||||
|
||||
public static bool IsBoolean(ref string strBoolean, string strBooleanValue = defString)
|
||||
{
|
||||
bool IsBooleanRet = default(bool);
|
||||
// 此 Function 檢查傳入值是否為Boolean值
|
||||
// 傳入值: strBoolean欲檢查是否為Boolean值的字串
|
||||
// strBooleanValue將檢查值轉換為True或False的統一字串
|
||||
// 傳回值: True是Boolean值 ; False不是Boolean值
|
||||
|
||||
IsBooleanRet = false;
|
||||
|
||||
if (string.IsNullOrEmpty(strBoolean))
|
||||
{
|
||||
IsBooleanRet = false;
|
||||
}
|
||||
else if (Strings.Trim(Strings.UCase(strBoolean)) != "Y" & Strings.Trim(Strings.UCase(strBoolean)) != "N" & Strings.Trim(Strings.UCase(strBoolean)) != "T" & Strings.Trim(Strings.UCase(strBoolean)) != "F" & Strings.Trim(Strings.UCase(strBoolean)) != "YES" & Strings.Trim(Strings.UCase(strBoolean)) != "NO" & Strings.Trim(Strings.UCase(strBoolean)) != "TRUE" & Strings.Trim(Strings.UCase(strBoolean)) != "FALSE" & Strings.Trim(Strings.UCase(strBoolean)) != "是" & Strings.Trim(Strings.UCase(strBoolean)) != "否" & Strings.Trim(Strings.UCase(strBoolean)) != "ON" & Strings.Trim(Strings.UCase(strBoolean)) != "OFF")
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
|
||||
IsBooleanRet = false;
|
||||
}
|
||||
|
||||
else if (Strings.Trim(Strings.UCase(strBoolean)) == "Y" | Strings.Trim(Strings.UCase(strBoolean)) == "T" | Strings.Trim(Strings.UCase(strBoolean)) == "YES" | Strings.Trim(Strings.UCase(strBoolean)) == "TRUE" | Strings.Trim(Strings.UCase(strBoolean)) == "是" | Strings.Trim(Strings.UCase(strBoolean)) == "ON")
|
||||
|
||||
{
|
||||
IsBooleanRet = true;
|
||||
strBooleanValue = "True";
|
||||
}
|
||||
else
|
||||
{
|
||||
IsBooleanRet = true;
|
||||
strBooleanValue = "False";
|
||||
}
|
||||
|
||||
return IsBooleanRet;
|
||||
}
|
||||
|
||||
|
||||
public static string CInput(ref string strInput)
|
||||
{
|
||||
string CInputRet = default(string);
|
||||
// 將傳入值內的單引號轉換為可存入資料庫的格式
|
||||
// 2. 將傳入值內的 &, >, < 三個特殊字元轉換為XmlDocument可解譯之代替符號
|
||||
// 傳入值: strInput包含特殊字元的字串
|
||||
// 傳回值: 將特殊字元變更為代替符號的字串
|
||||
|
||||
// 轉換 ' 為 '' (單引號轉為兩個單引號)
|
||||
CInputRet = Strings.Replace(strInput, "'", "''");
|
||||
|
||||
// 轉換 & 為 &
|
||||
CInputRet = Strings.Replace(CInputRet, "&", "&");
|
||||
|
||||
// CInput = Replace(CInput, """", "''") 'AddFlow的Xml字串不可將雙引號轉為兩個單引號,XMLToFlow會Error
|
||||
|
||||
// 轉換 > 為 >
|
||||
CInputRet = Strings.Replace(CInputRet, ">", ">");
|
||||
|
||||
// 轉換 < 為 <
|
||||
CInputRet = Strings.Replace(CInputRet, "<", "<");
|
||||
return CInputRet;
|
||||
|
||||
}
|
||||
|
||||
public static string CUnInput(ref string strInput)
|
||||
{
|
||||
string CUnInputRet = default(string);
|
||||
// 將傳入值內的單引號轉換為可存入資料庫的格式
|
||||
// 傳入值: strInput包含特殊字元的字串
|
||||
// 傳回值: 將代替符號變更為特殊字元的字串
|
||||
|
||||
// 轉換 ' 為 '' (單引號轉為兩個單引號)
|
||||
// CUnInput = Replace(strInput, "'", "''")
|
||||
CUnInputRet = Strings.Replace(strInput, "\"", "'");
|
||||
|
||||
// 轉換 & 為 &
|
||||
CUnInputRet = Strings.Replace(CUnInputRet, "&", "&");
|
||||
|
||||
// 轉換 > 為 >
|
||||
CUnInputRet = Strings.Replace(CUnInputRet, ">", ">");
|
||||
|
||||
// 轉換 < 為 <
|
||||
CUnInputRet = Strings.Replace(CUnInputRet, "<", "<");
|
||||
return CUnInputRet;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// ***Add by PY 2003/07/31****
|
||||
public static string CombineXMLAdditional(ref string strAdditional)
|
||||
{
|
||||
string CombineXMLAdditionalRet = default(string);
|
||||
CombineXMLAdditionalRet = "<additional>" + strAdditional;
|
||||
CombineXMLAdditionalRet = CombineXMLAdditionalRet + "</additional>";
|
||||
return CombineXMLAdditionalRet;
|
||||
}
|
||||
|
||||
public static string CombineAddXML_Add(ref string name, ref string type, ref string value)
|
||||
{
|
||||
string CombineAddXML_AddRet = default(string);
|
||||
CombineAddXML_AddRet = "<field>" + "<name>" + name + "</name>" + "<type>" + type + "</type>" + "<value>" + value + "</value>" + "</field>";
|
||||
|
||||
|
||||
|
||||
return CombineAddXML_AddRet;
|
||||
}
|
||||
public static string CombineAddXML_Edit(ref string name, ref string type, ref string value)
|
||||
{
|
||||
string CombineAddXML_EditRet = default(string);
|
||||
CombineAddXML_EditRet = "<field>" + "<name>" + name + "</name>" + "<type>" + type + "</type>" + "<value>" + value + "</value>" + "</field>";
|
||||
|
||||
|
||||
|
||||
return CombineAddXML_EditRet;
|
||||
}
|
||||
public static string CombineAddXML_Field(ref string name)
|
||||
{
|
||||
string CombineAddXML_FieldRet = default(string);
|
||||
CombineAddXML_FieldRet = "<field>" + "<name>" + name + "</name>" + "</field>";
|
||||
|
||||
return CombineAddXML_FieldRet;
|
||||
}
|
||||
|
||||
public static string CombineAddXML_Condition(string condition)
|
||||
{
|
||||
string CombineAddXML_ConditionRet = default(string);
|
||||
CombineAddXML_ConditionRet = "<condition>" + Strings.Replace(condition, "''", "'") + "</condition>";
|
||||
return CombineAddXML_ConditionRet;
|
||||
}
|
||||
|
||||
// **Add by py 2003/12/04,Gary Lu 20120911:以MESWin1~Win4的版本進行替換
|
||||
public static string LocalizeWebService(string wsUrl, bool Customize = false)
|
||||
{
|
||||
|
||||
string[] tmpString;
|
||||
int i;
|
||||
tmpString = wsUrl.Split('/');
|
||||
if (Customize == true)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(Strings.Trim(gCUSWebServiceHost)))
|
||||
{
|
||||
if (tmpString.Length == 6)
|
||||
{
|
||||
wsUrl = tmpString[0].ToString() + "/" + tmpString[1].ToString() + "/" + gCUSWebServiceHost + "/" + tmpString[4].ToString() + "/" + tmpString[5].ToString();
|
||||
}
|
||||
else if (tmpString.Length == 5)
|
||||
{
|
||||
wsUrl = "http://" + gCUSWebServiceHost + "/" + tmpString[tmpString.Length - 1].ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(Strings.Trim(gMESWebServiceHost)))
|
||||
{
|
||||
if (tmpString.Length == 6)
|
||||
{
|
||||
// wsUrl = "http://" & gMESWebServiceHost & "/" & tmpString(tmpString.Length - 2).ToString & "/" & tmpString(tmpString.Length - 1).ToString
|
||||
wsUrl = tmpString[0].ToString() + "/" + tmpString[1].ToString() + "/" + gMESWebServiceHost + "/" + tmpString[4].ToString() + "/" + tmpString[5].ToString();
|
||||
}
|
||||
else if (tmpString.Length == 5)
|
||||
{
|
||||
// wsUrl = "http://" & gMESWebServiceHost & "/" & tmpString(tmpString.Length - 1).ToString
|
||||
wsUrl = tmpString[0].ToString() + "/" + tmpString[1].ToString() + "/" + gMESWebServiceHost + "/" + tmpString[4].ToString();
|
||||
}
|
||||
}
|
||||
|
||||
return wsUrl;
|
||||
// Have to assume the web service is on the machine that this application came from
|
||||
} // LocalizeWebService
|
||||
|
||||
// Add By Peter 2005/6/20
|
||||
public static string GetAppSettings(string key, string section = "")
|
||||
{
|
||||
string result = string.Empty;
|
||||
|
||||
try
|
||||
{
|
||||
if (!string.IsNullOrEmpty(section))
|
||||
{
|
||||
result = Conversions.ToString(((Hashtable)GetConfig(section))[key]);
|
||||
}
|
||||
else if (string.IsNullOrEmpty(gSettingMode) || string.IsNullOrEmpty(gSettingMode) || gSettingMode.Length == 0)
|
||||
{
|
||||
result = AppSettings[key];
|
||||
}
|
||||
else
|
||||
{
|
||||
Hashtable ht = (Hashtable)GetConfig(gSettingMode);
|
||||
if (ht != null)
|
||||
{
|
||||
result = Conversions.ToString(ht[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public static string GetExceptionStack(ref System.Xml.XmlDocument Xmldoc)
|
||||
{
|
||||
string GetExceptionStackRet = default(string);
|
||||
if (Xmldoc.DocumentElement.GetElementsByTagName("stack").Count > 0)
|
||||
{
|
||||
string argstrInput = Xmldoc.DocumentElement.GetElementsByTagName("stack").Item(0).InnerXml;
|
||||
GetExceptionStackRet = CUnInput(ref argstrInput);
|
||||
Xmldoc.DocumentElement.GetElementsByTagName("stack").Item(0).InnerXml = argstrInput;
|
||||
}
|
||||
else
|
||||
{
|
||||
GetExceptionStackRet = "";
|
||||
}
|
||||
|
||||
return GetExceptionStackRet;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
30
SRC/MESAgent/MESAutoRun/AutoRunLib/AssemblyInfo.cs
Normal file
30
SRC/MESAgent/MESAutoRun/AutoRunLib/AssemblyInfo.cs
Normal file
@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 一般的組件資訊是由下列這組屬性所控制。
|
||||
// 變更這些屬性的值即可修改組件的相關資訊。
|
||||
// 檢閱組件屬性的值
|
||||
|
||||
[assembly: AssemblyTitle("AutoRunLib")]
|
||||
[assembly: AssemblyDescription("AutoRunLib for MESSeries")]
|
||||
[assembly: AssemblyCompany("iMES Technology Inc.")]
|
||||
[assembly: AssemblyProduct("MESSeries 6")]
|
||||
[assembly: AssemblyCopyright("Copyright © iMES Technology Inc.")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: ComVisible(true)]
|
||||
|
||||
// 下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID
|
||||
[assembly: Guid("C4620590-2AB6-4D4D-8D66-A8D689DA698C")]
|
||||
|
||||
// 組件的版本資訊由下列四個值所組成:
|
||||
//
|
||||
// 主要版本
|
||||
// 次要版本
|
||||
// 組建編號
|
||||
// 修訂
|
||||
//
|
||||
// 您可以自行指定所有的值,也可以依照以下的方式,使用 '*' 將修訂和組建編號
|
||||
// 指定為預設值:
|
||||
|
||||
[assembly: AssemblyVersion("6.0.0.0")]
|
||||
453
SRC/MESAgent/MESAutoRun/AutoRunLib/AutoRunLib_C.csproj
Normal file
453
SRC/MESAgent/MESAutoRun/AutoRunLib/AutoRunLib_C.csproj
Normal file
@ -0,0 +1,453 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
|
||||
<PropertyGroup>
|
||||
<ProjectType>Local</ProjectType>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{7C0468A8-E807-0FF4-0C04-C1AD9B3D7D2A}</ProjectGuid>
|
||||
<SccProjectName>SAK</SccProjectName>
|
||||
<SccLocalPath>SAK</SccLocalPath>
|
||||
<SccAuxPath>SAK</SccAuxPath>
|
||||
<SccProvider>SAK</SccProvider>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ApplicationIcon>
|
||||
</ApplicationIcon>
|
||||
<AssemblyKeyContainerName>
|
||||
</AssemblyKeyContainerName>
|
||||
<AssemblyName>AutoRunLib_C</AssemblyName>
|
||||
<AssemblyOriginatorKeyFile>
|
||||
</AssemblyOriginatorKeyFile>
|
||||
<AssemblyOriginatorKeyMode>None</AssemblyOriginatorKeyMode>
|
||||
<DefaultClientScript>JScript</DefaultClientScript>
|
||||
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
|
||||
<DefaultTargetSchema>IE50</DefaultTargetSchema>
|
||||
<DelaySign>false</DelaySign>
|
||||
<OutputType>Library</OutputType>
|
||||
<OptionCompare>Binary</OptionCompare>
|
||||
<OptionExplicit>On</OptionExplicit>
|
||||
<OptionStrict>Off</OptionStrict>
|
||||
<RootNamespace>AutoRunLib_C</RootNamespace>
|
||||
<StartupObject>
|
||||
</StartupObject>
|
||||
<WebReference_EnableProperties>true</WebReference_EnableProperties>
|
||||
<WebReference_EnableSQLTypes>false</WebReference_EnableSQLTypes>
|
||||
<WebReference_EnableLegacyEventingModel>true</WebReference_EnableLegacyEventingModel>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<MyType>Windows</MyType>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<TargetFrameworkProfile />
|
||||
<DefaultItemExcludes>$(DefaultItemExcludes);$(ProjectDir)**\*.vb</DefaultItemExcludes>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>..\..\..\MES_C_DLL\</OutputPath>
|
||||
<DocumentationFile>..\..\..\MES_C_DLL\AutoRunLib_C.xml</DocumentationFile>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<ConfigurationOverrideFile>
|
||||
</ConfigurationOverrideFile>
|
||||
<DefineConstants>
|
||||
</DefineConstants>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<Optimize>false</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
<NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>..\..\..\MES_C_DLL\</OutputPath>
|
||||
<DocumentationFile>..\..\..\MES_C_DLL\
|
||||
</DocumentationFile>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<ConfigurationOverrideFile>
|
||||
</ConfigurationOverrideFile>
|
||||
<DefineConstants>
|
||||
</DefineConstants>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<Optimize>true</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
<NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
|
||||
<DebugType>none</DebugType>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>..\..\..\MES_C_DLL\</OutputPath>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
<NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisLogFile>..\..\..\MES_C_DLL\AutoRunLib.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
|
||||
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<Optimize>true</Optimize>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
<NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisLogFile>..\..\..\MES_C_DLL\AutoRunLib.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
|
||||
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
|
||||
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="data_access_service">
|
||||
<HintPath>..\..\..\MES_S_DLL\data_access_service.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="iMESAppSetting">
|
||||
<HintPath>..\..\..\MES_S_DLL\iMESAppSetting.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="iMESComSubroutine">
|
||||
<HintPath>..\..\..\MES_S_DLL\iMESComSubroutine.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="iMESComXML">
|
||||
<HintPath>..\..\..\MES_S_DLL\iMESComXML.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="iMESConst">
|
||||
<HintPath>..\..\..\MES_S_DLL\iMESConst.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualBasic" />
|
||||
<Reference Include="GuardServerProvider">
|
||||
<HintPath>..\..\..\MES_S_DLL\GuardServerProvider.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Infragistics4.Win.v19.1, Version=19.1.20191.294, 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.294, 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.UltraWinGrid.ExcelExport.v19.1, Version=19.1.20191.294, 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.ExcelExport.v19.1.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, 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.294, 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.294, 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="Infragistics4.Documents.Excel.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Documents.Excel.v19.1.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Infragistics4.Documents.Core.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Documents.Core.v19.1.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="iMESCIO, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3ad2cfbf6a289680, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\MES_S_DLL\iMESCIO.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="iMESDAO">
|
||||
<HintPath>..\..\..\MES_S_DLL\iMESDAO.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="iMESDataObject">
|
||||
<HintPath>..\..\..\MES_S_DLL\iMESDataObject.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="iMESProjectBase">
|
||||
<HintPath>..\..\..\MES_S_DLL\iMESProjectBase.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="iMESUltraGrid, Version=4.20.0.30415, Culture=neutral, PublicKeyToken=3ad2cfbf6a289680, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\MES_C_DLL\iMESUltraGrid.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System">
|
||||
<Name>System</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Data">
|
||||
<Name>System.Data</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.OracleClient" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
<Reference Include="System.Web.Services">
|
||||
<Name>System.Web.Services</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml">
|
||||
<Name>System.XML</Name>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Import Include="COM_ERP.clsCommon" />
|
||||
<Import Include="COM_ERP.clsWorkFlow" />
|
||||
<Import Include="Microsoft.VisualBasic" />
|
||||
<Import Include="System" />
|
||||
<Import Include="System.Collections" />
|
||||
<Import Include="System.Data" />
|
||||
<Import Include="System.Diagnostics" />
|
||||
<Import Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="EAIMessageSynchronizer.cs" />
|
||||
<Compile Include="Web References\wsERP_WorkFlow\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Web References\wsInvoke\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="app.config" />
|
||||
<None Include="My Project\Settings.settings">
|
||||
<CustomToolNamespace>AutoRunLib_C.My</CustomToolNamespace>
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\wsERP_EAI\IntegrationEntry.wsdl" />
|
||||
<None Include="Web References\wsERP_EAI\Reference.map">
|
||||
<Generator>MSDiscoCodeGenerator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\wsERP_MES\Reference.map">
|
||||
<Generator>MSDiscoCodeGenerator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\wsERP_MES\wsMES.wsdl" />
|
||||
<None Include="Web References\wsERP_TP\Reference.map">
|
||||
<Generator>MSDiscoCodeGenerator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\wsERP_TP\TIPTOPServiceGateWay.wsdl" />
|
||||
<None Include="Web References\wsERP_TP_RPC\Reference.map">
|
||||
<Generator>MSDiscoCodeGenerator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\wsERP_TP_RPC\TIPTOPServiceGateWay.wsdl" />
|
||||
<Compile Include="AssemblyInfo.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="clsAutoRunLibrary.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="modAutoRunLibrary.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="modWIN.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Web References\wsERP_EAI\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Web References\wsERP_MES\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Web References\wsERP_TP\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Web References\wsERP_TP_RPC\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="Web References\wsERP_WorkFlow\Reference.map">
|
||||
<Generator>MSDiscoCodeGenerator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\wsERP_WorkFlow\WFMESService.wsdl" />
|
||||
<None Include="Web References\wsInvoke\Reference.map">
|
||||
<Generator>MSDiscoCodeGenerator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\wsInvoke\wsInvoke.wsdl" />
|
||||
<WebReferenceUrl Include="http://10.40.30.73/WFMES/WFMESService.asmx">
|
||||
<UrlBehavior>Dynamic</UrlBehavior>
|
||||
<RelPath>Web References\wsERP_WorkFlow\</RelPath>
|
||||
<UpdateFromURL>http://10.40.30.73/WFMES/WFMESService.asmx</UpdateFromURL>
|
||||
<ServiceLocationURL>
|
||||
</ServiceLocationURL>
|
||||
<CachedDynamicPropName>
|
||||
</CachedDynamicPropName>
|
||||
<CachedAppSettingsObjectName>MySettings</CachedAppSettingsObjectName>
|
||||
<CachedSettingsPropName>AutoRunLib_wsERP_WorkFlow_WFMESService</CachedSettingsPropName>
|
||||
</WebReferenceUrl>
|
||||
<WebReferenceUrl Include="http://218.211.164.199:9999/IntegrationEntry%3fwsdl">
|
||||
<UrlBehavior>Dynamic</UrlBehavior>
|
||||
<RelPath>Web References\wsERP_EAI\</RelPath>
|
||||
<UpdateFromURL>http://218.211.164.199:9999/IntegrationEntry%3fwsdl</UpdateFromURL>
|
||||
<ServiceLocationURL>
|
||||
</ServiceLocationURL>
|
||||
<CachedDynamicPropName>
|
||||
</CachedDynamicPropName>
|
||||
<CachedAppSettingsObjectName>MySettings</CachedAppSettingsObjectName>
|
||||
<CachedSettingsPropName>AutoRunLib_wsERP_EAI_IntegrationEntry</CachedSettingsPropName>
|
||||
</WebReferenceUrl>
|
||||
<WebReferenceUrl Include="http://localhost/ERPws_DSC/TIPTOPServiceGateWay.wsdl">
|
||||
<UrlBehavior>Dynamic</UrlBehavior>
|
||||
<RelPath>Web References\wsERP_TP\</RelPath>
|
||||
<UpdateFromURL>http://localhost/ERPws_DSC/TIPTOPServiceGateWay.wsdl</UpdateFromURL>
|
||||
<ServiceLocationURL>
|
||||
</ServiceLocationURL>
|
||||
<CachedDynamicPropName>
|
||||
</CachedDynamicPropName>
|
||||
<CachedAppSettingsObjectName>MySettings</CachedAppSettingsObjectName>
|
||||
<CachedSettingsPropName>AutoRunLib_wsERP_TP_TIPTOPServiceGateWay</CachedSettingsPropName>
|
||||
</WebReferenceUrl>
|
||||
<WebReferenceUrl Include="http://localhost/ERPws_DSC/TIPTOPServiceGateWay_RPC.wsdl">
|
||||
<UrlBehavior>Dynamic</UrlBehavior>
|
||||
<RelPath>Web References\wsERP_TP_RPC\</RelPath>
|
||||
<UpdateFromURL>http://localhost/ERPws_DSC/TIPTOPServiceGateWay_RPC.wsdl</UpdateFromURL>
|
||||
<ServiceLocationURL>
|
||||
</ServiceLocationURL>
|
||||
<CachedDynamicPropName>
|
||||
</CachedDynamicPropName>
|
||||
<CachedAppSettingsObjectName>MySettings</CachedAppSettingsObjectName>
|
||||
<CachedSettingsPropName>AutoRunLib_wsERP_TP_RPC_TIPTOPServiceGateWay</CachedSettingsPropName>
|
||||
</WebReferenceUrl>
|
||||
<WebReferenceUrl Include="http://localhost/ERPws_DSC/wsMES.asmx">
|
||||
<UrlBehavior>Dynamic</UrlBehavior>
|
||||
<RelPath>Web References\wsERP_MES\</RelPath>
|
||||
<UpdateFromURL>http://localhost/ERPws_DSC/wsMES.asmx</UpdateFromURL>
|
||||
<ServiceLocationURL>
|
||||
</ServiceLocationURL>
|
||||
<CachedDynamicPropName>
|
||||
</CachedDynamicPropName>
|
||||
<CachedAppSettingsObjectName>MySettings</CachedAppSettingsObjectName>
|
||||
<CachedSettingsPropName>AutoRunLib_wsERP_MES_wsMES</CachedSettingsPropName>
|
||||
</WebReferenceUrl>
|
||||
<WebReferences Include="Web References\" />
|
||||
<WebReferenceUrl Include="http://localhost/MESws_STD/wsInvoke.asmx">
|
||||
<UrlBehavior>Dynamic</UrlBehavior>
|
||||
<RelPath>Web References\wsInvoke\</RelPath>
|
||||
<UpdateFromURL>http://localhost/MESws_STD/wsInvoke.asmx</UpdateFromURL>
|
||||
<ServiceLocationURL>
|
||||
</ServiceLocationURL>
|
||||
<CachedDynamicPropName>
|
||||
</CachedDynamicPropName>
|
||||
<CachedAppSettingsObjectName>MySettings</CachedAppSettingsObjectName>
|
||||
<CachedSettingsPropName>AutoRunLib_wsInvoke_wsInvoke</CachedSettingsPropName>
|
||||
</WebReferenceUrl>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Web References\wsERP_MES\wsMES.disco" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Web References\wsInvoke\wsInvoke.disco" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WCFMetadata Include="Service References\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Web References\wsERP_WorkFlow\WFMESService.disco" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\..\..\MESWin\shared file\MakeVersion_CS.targets" Condition="exists('..\..\..\MESWin\shared file\MakeVersion_CS.targets')" />
|
||||
</Project>
|
||||
633
SRC/MESAgent/MESAutoRun/AutoRunLib/EAIMessageSynchronizer.cs
Normal file
633
SRC/MESAgent/MESAutoRun/AutoRunLib/EAIMessageSynchronizer.cs
Normal file
@ -0,0 +1,633 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using iMESCIO.CDO.Tables;
|
||||
using iMESCIO.SCI.DPM.Request;
|
||||
using iMESCIO.SCI.DPM.Response;
|
||||
using iMESCIO.SCI.ERP.Request;
|
||||
using iMESCIO.SCI.ERP.Response;
|
||||
using iMESCIO.SCI.SMES.Request;
|
||||
using iMESCIO.SCI.SMES.Response;
|
||||
using iMESCore.Base.ProjectBase.Base;
|
||||
using iMESCore.Settings;
|
||||
using MESDAO.Tables;
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using static iMESCore.DataBase.iMESSql;
|
||||
using static iMESCore.Base.iMESComSubroutine;
|
||||
|
||||
namespace AutoRunLib_C
|
||||
{
|
||||
|
||||
public class EAIMessageSynchronizer
|
||||
{
|
||||
|
||||
public enum WorkCode
|
||||
{
|
||||
ContinueRun = 0, // 繼續執行作業
|
||||
StopSame = 1, // 停止相同的作業
|
||||
StopAll = 2 // 停止所有作業
|
||||
}
|
||||
|
||||
private string strDataBaseType; // DataBase Type:oracle, mysql, access
|
||||
private string strConnectionString; // Connection string
|
||||
private string strReportDataBaseType;
|
||||
private string strReportConnectionString; // Report DB Connection string
|
||||
private string strERPconnectionString;
|
||||
private string strERPDataBaseType;
|
||||
private string strERPReportConnectionString;
|
||||
private string InXML, OutXML;
|
||||
private string RequestKey = "";
|
||||
private AppSettings objSetting = new AppSettings();
|
||||
private string strLanguageMode = "zh-cht";
|
||||
private string strResourceDir = "Resources";
|
||||
|
||||
// //Initial Object--------------------------------------------------------------------------------------------------------------------------------
|
||||
public EAIMessageSynchronizer()
|
||||
{
|
||||
// //Get database type
|
||||
strDataBaseType = objSetting.GetDataBaseType();
|
||||
// //Get connection string
|
||||
strConnectionString = objSetting.GetConnectionString(strDataBaseType);
|
||||
// //Get Message Queue Type
|
||||
// strMQType = objSetting.GetMQType()
|
||||
|
||||
strReportDataBaseType = objSetting.GetReportDataBaseType();
|
||||
// //Get connection string
|
||||
strReportConnectionString = objSetting.GetReportConnectionString(strReportDataBaseType);
|
||||
|
||||
// ERP
|
||||
// //Get ERP database type
|
||||
strERPDataBaseType = objSetting.GetDataBaseType_ERP();
|
||||
// //Get ERP connection string
|
||||
strERPconnectionString = objSetting.GetConnectionString_ERP(strERPDataBaseType);
|
||||
|
||||
try
|
||||
{
|
||||
strResourceDir = objSetting["ResourceDir"].ToString();
|
||||
}
|
||||
catch (Exception)
|
||||
{ }
|
||||
try
|
||||
{
|
||||
strLanguageMode = objSetting["LanguageMode"].ToString();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
|
||||
// 'T100 整合項目增加, 取得 Web.Config 設定項目, 2015/12/15 Add.
|
||||
|
||||
// Try
|
||||
// '從Web.config取出目前的DatabaseType
|
||||
// strERPCreator = System.Configuration.ConfigurationSettings.AppSettings.Get("defCreator")
|
||||
// '2016-03-09, Joe, 取出預設ERP單位屬性編號
|
||||
// strERPUnitNo = System.Configuration.ConfigurationSettings.AppSettings.Get("defERPUnitNoProperty")
|
||||
// '2016-03-02, Joe, 取出預設語系並轉換成ERP對應語系,後續T100多語系資料需用到
|
||||
// strDefLanguage = System.Configuration.ConfigurationSettings.AppSettings.Get("LanguageMode")
|
||||
// Select Case strDefLanguage.ToUpper
|
||||
// Case "ZH-CHS"
|
||||
// strLanguage_T100 = "zh_CN"
|
||||
// Case "EN"
|
||||
// strLanguage_T100 = "en_US"
|
||||
// Case Else
|
||||
// strLanguage_T100 = "zh_TW"
|
||||
// End Select
|
||||
// Catch ex As Exception
|
||||
// '發生錯誤時丟回本身的Function Name及系統錯誤訊息
|
||||
// End Try
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// //Property--------------------------------------------------------------------------------------------------------------------------------
|
||||
public string ConnectionString
|
||||
{
|
||||
get
|
||||
{
|
||||
return strConnectionString;
|
||||
}
|
||||
}
|
||||
|
||||
public string DataBaseType
|
||||
{
|
||||
get
|
||||
{
|
||||
return strDataBaseType;
|
||||
}
|
||||
}
|
||||
|
||||
public void StartSyncing(Collection colParameters = null)
|
||||
{
|
||||
var StopRunList = new List<string>();
|
||||
var objERPSetting = new List<CDO_TBLSYSERPSETTING>();
|
||||
var objQueue = new List<CDO_TBLSYSSENDTOEAIQUEUE>();
|
||||
string Parameter01, Parameter02;
|
||||
WorkCode ReturnWorkCode;
|
||||
bool bSendMail = false;
|
||||
|
||||
do
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
// Parameter01為參數一
|
||||
// 作為Mail通知群組(GroupNo),放在最前面防止連線失敗無法寄送通知。
|
||||
if (!(colParameters["Parameter01"] == null) & !string.IsNullOrEmpty(Strings.Trim(Conversions.ToString(colParameters["Parameter01"]))))
|
||||
{
|
||||
Parameter01 = colParameters["Parameter01"].ToString().Trim();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception(TranslateMsg("Mail GroupNo (Parameter 01) [%NOT SET%]!", strLanguageMode, strResourceDir));
|
||||
}
|
||||
|
||||
// Parameter02為參數二
|
||||
// 重新拋轉上限(數值)
|
||||
if (!(colParameters["Parameter02"] == null) & !string.IsNullOrEmpty(Strings.Trim(Conversions.ToString(colParameters["Parameter02"]))))
|
||||
{
|
||||
if (Information.IsNumeric(colParameters["Parameter02"]) == false)
|
||||
{
|
||||
throw new Exception("(Parameter 02) [%is not%] [%Numeric%]!");
|
||||
}
|
||||
Parameter02 = colParameters["Parameter02"].ToString().Trim();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception(TranslateMsg("Limit Qty (Parameter 02) [%NOT SET%]!", strLanguageMode, strResourceDir));
|
||||
}
|
||||
|
||||
// 取得ERP整合設定資訊
|
||||
objERPSetting = GetERPSetting();
|
||||
|
||||
// 取得要拋送給ERP的資訊
|
||||
objQueue = GetSendQueue();
|
||||
if (objQueue == null)
|
||||
break;
|
||||
|
||||
string StopData;
|
||||
var SendERPSetting = new CDO_TBLSYSERPSETTING();
|
||||
bool exitTry1 = false;
|
||||
foreach (CDO_TBLSYSSENDTOEAIQUEUE objQ in objQueue)
|
||||
{
|
||||
InXML = "";
|
||||
RequestKey = "";
|
||||
|
||||
// 找出目前要拋送的目的服務是否有在StopRunList中,如存在則不允許執行
|
||||
StopData = StopRunList.Where(x => (x ?? "") == (objQ.SENDTO ?? "")).FirstOrDefault();
|
||||
if (string.IsNullOrEmpty(StopData))
|
||||
{
|
||||
// 取出要拋送的目的服務的ERP整合設定資訊
|
||||
SendERPSetting = objERPSetting.Where(x => (x.ERP_NAME ?? "") == (objQ.SENDTO ?? "")).FirstOrDefault();
|
||||
if (SendERPSetting == null)
|
||||
{
|
||||
// Throw New Exception("[%ERP_Name%]:" & objQ.SENDTO & "[%IS NOT FOUND%]!")
|
||||
// Exit Try
|
||||
continue;
|
||||
}
|
||||
// 組Req uest XML
|
||||
InXML = CombineRequestXML(SendERPSetting, objQ);
|
||||
// 將資訊拋給ERP
|
||||
using (var ws = new wsERP_EAI.IntegrationEntry())
|
||||
{
|
||||
ws.Url = SendERPSetting.ERP_WSURL;
|
||||
OutXML = ws.invokeSrv(InXML);
|
||||
}
|
||||
// 處理執行結果
|
||||
ReturnWorkCode = HandleSendResult(OutXML, objQ, SendERPSetting, Parameter01, Parameter02);
|
||||
// 依回傳的結果判定是否繼續執行
|
||||
bool exitTry = false;
|
||||
switch (ReturnWorkCode)
|
||||
{
|
||||
case WorkCode.ContinueRun:
|
||||
{
|
||||
// 繼續執行
|
||||
continue;
|
||||
}
|
||||
case WorkCode.StopSame:
|
||||
{
|
||||
// 將此次失敗的ERP名稱加到StopRunList
|
||||
StopRunList.Add(objQ.SENDTO);
|
||||
// 繼續執行
|
||||
continue;
|
||||
}
|
||||
case WorkCode.StopAll:
|
||||
{
|
||||
// 全部停止執行
|
||||
exitTry1 = exitTry = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (exitTry)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (exitTry1)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
while (false);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 取得ERP整合的設定資料
|
||||
/// </summary>
|
||||
/// <returns>List(Of CDO_TBLSYSERPSETTING)</returns>
|
||||
private List<CDO_TBLSYSERPSETTING> GetERPSetting()
|
||||
{
|
||||
|
||||
var DAO = new DAO_TBLSYSERPSETTING();
|
||||
var Data = new List<CDO_TBLSYSERPSETTING>();
|
||||
|
||||
try
|
||||
{
|
||||
// 取出ERP整合資訊
|
||||
Data = (List<CDO_TBLSYSERPSETTING>)DAO.Query(null, new QueryRelatedInfo() { ReturnType = ReturnMode.List });
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return Data;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 取得Queue資料
|
||||
/// </summary>
|
||||
/// <returns>List(Of CDO_TBLSYSSENDTOEAIQUEUE)</returns>
|
||||
private List<CDO_TBLSYSSENDTOEAIQUEUE> GetSendQueue()
|
||||
{
|
||||
|
||||
var DAO = new DAO_TBLSYSSENDTOEAIQUEUE();
|
||||
var Data = new List<CDO_TBLSYSSENDTOEAIQUEUE>();
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
// 取出待拋轉資訊
|
||||
Data = (List<CDO_TBLSYSSENDTOEAIQUEUE>)DAO.Query(null, new QueryRelatedInfo() { ReturnType = ReturnMode.List });
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return Data;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 組出RequestXML
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private string CombineRequestXML(CDO_TBLSYSERPSETTING pERPSetting, CDO_TBLSYSSENDTOEAIQUEUE pSendContent)
|
||||
{
|
||||
string CombineRequestXMLRet = default(string);
|
||||
|
||||
DataRow[] drERPSetting;
|
||||
string strFilter = "";
|
||||
|
||||
try
|
||||
{
|
||||
// pSendContent.enterprise_no = drERPSetting(0)("ERP_ENTID").ToString
|
||||
// pSendContent.site_no = drERPSetting(0)("ERP_ORG").ToString
|
||||
|
||||
// 轉XML
|
||||
string RequestHead = "<host prod=\"" + pERPSetting.MESPRODUCTNAME + "\" ver=\"" + pERPSetting.MESPRODUCTVER + "\" ip=\"" + pERPSetting.MESIP + "\" id=\"" + pERPSetting.MESID + "\" acct=\"" + pERPSetting.ERP_USER + "\" lang=\"" + pERPSetting.ERP_LANG + "\" timestamp=\"" + Strings.Format(DateTime.Now, "yyyyMMddHHmmssfff") + "\"/>";
|
||||
RequestHead += "<service prod=\"" + pERPSetting.CALLEDPRODUCTNAME + "\" name=\"" + pSendContent.SERVICENAME + "\" ip=\"" + pERPSetting.CALLEDIP + "\" id=\"" + pERPSetting.CALLEDID + "\"/>";
|
||||
string RequestDataKey = "<datakey><key name=\"EntId\">" + pERPSetting.ERP_ENTID + "</key><key name=\"CompanyId\">" + pERPSetting.ERP_ORG + "</key></datakey>";
|
||||
string RequestXML_Body = pSendContent.PAYLOAD;
|
||||
RequestKey = modAutoRunLibrary.GetRequestKey(RequestHead);
|
||||
string RequestHeader = "<request key=\"" + RequestKey + "\" type=\"sync\">" + RequestHead + RequestDataKey + "<payload>" + RequestXML_Body + "</payload></request>";
|
||||
// CDO to XML
|
||||
CombineRequestXMLRet = RequestHeader;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return CombineRequestXMLRet;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 同步結果處理
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private WorkCode HandleSendResult(string pEAIResult, CDO_TBLSYSSENDTOEAIQUEUE pSendSrc, CDO_TBLSYSERPSETTING pEAISetting, string pJobParam01, string pJobParam02)
|
||||
{
|
||||
WorkCode HandleSendResultRet = default(WorkCode);
|
||||
|
||||
//IDbConnection cnnTemp = null;
|
||||
//IDbCommand cmmTemp;
|
||||
string strSQL;
|
||||
//System.Data.OleDbDataAdapter daTemp;
|
||||
var dsTemp = new DataSet();
|
||||
var objReturn = default(WorkCode);
|
||||
var objEAIResult = default(object);
|
||||
bool ProcessResult = false;
|
||||
string ProcessMessage = "";
|
||||
|
||||
try
|
||||
{
|
||||
// 物件初始化
|
||||
switch (pSendSrc.SERVICENAME ?? "")
|
||||
{
|
||||
case "issue.wo.item.process": // MES發料
|
||||
{
|
||||
objEAIResult = new SCI_Response_issue_wo_item_process();
|
||||
break;
|
||||
}
|
||||
case "stockin.data.create": // 完工入庫
|
||||
{
|
||||
objEAIResult = new SCI_Response_stockin_data_create();
|
||||
break;
|
||||
}
|
||||
case "workorder.create": // DPM 拋報工單
|
||||
{
|
||||
objEAIResult = new SCI_Response_workorder_create();
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 將中台回的結果轉成物件
|
||||
try
|
||||
{
|
||||
(objEAIResult as SCI_Response_workorder_create).ParseXmlToObject(pEAIResult);
|
||||
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual((objEAIResult as SCI_Response_workorder_create).code, "0", false)))
|
||||
{
|
||||
ProcessResult = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
ProcessMessage = Conversions.ToString((objEAIResult as SCI_Response_workorder_create).description);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProcessMessage = OutXML;
|
||||
}
|
||||
// 紀錄TransactionLog
|
||||
string argstrException = null;
|
||||
modAutoRunLibrary.addTransactionLog(InXML, OutXML, DateTime.Now.ToString("yyyyMMddHHmmssss"), "MES", "StartSyncing", Environment.MachineName, "AutoRun", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), Conversions.ToString(Interaction.IIf(ProcessResult == Conversions.ToBoolean("0"), "success", "fail")), ProcessMessage, pSendSrc.SERVICENAME, strException: argstrException);
|
||||
// 判斷中台回的結果
|
||||
if (ProcessResult)
|
||||
{
|
||||
// 成功
|
||||
HandleSendResultRet = WorkCode.ContinueRun;
|
||||
// 處理執行成功資訊及歷程
|
||||
HandleSendSuccess(pEAIResult, pSendSrc);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 失敗
|
||||
// 處理執行失敗資訊及歷程
|
||||
HandleSendFail(pEAIResult, ProcessMessage, pSendSrc, pJobParam02);
|
||||
// 寄送Mail
|
||||
string argFileName = "N/A";
|
||||
string argEmailSubject = "AutuRunJob : StartSyncing Fail![" + pSendSrc.SERVICENAME + "]";
|
||||
string argEmailBody = TranslateMsg("[%SENDID%]:" + pSendSrc.SENDID + " [%EXECUTE%] [%ISSUEMOMATERIAL%] [%FAIL%]! [%ERRORMESSAGE%]:", strLanguageMode, strResourceDir) + ProcessMessage;
|
||||
modAutoRunLibrary.SendMultiEmail(ref argFileName, ref argEmailSubject, argEmailBody, pJobParam01);
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
//CloseConnection(cnnTemp);
|
||||
}
|
||||
|
||||
return objReturn;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 同步結果處理-成功
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private void HandleSendSuccess(string pEAIResult, CDO_TBLSYSSENDTOEAIQUEUE pSendSrc)
|
||||
{
|
||||
|
||||
string strSQL;
|
||||
var objQueueLog = new CDO_TBLSYSSENDTOEAIQUEUE_LOG();
|
||||
var objEAIResult = new object();
|
||||
var DAO = new DAO_TBLSYSSENDTOEAIQUEUE();
|
||||
var DAO_Log = new DAO_TBLSYSSENDTOEAIQUEUE_LOG();
|
||||
|
||||
var cdoERPDocLog = new CDO_TBLSYSERPDOCUMENTLOG();
|
||||
var daoERPDocLog = new DAO_TBLSYSERPDOCUMENTLOG();
|
||||
|
||||
try
|
||||
{
|
||||
// 執行成功後呼叫各服務各自處理邏輯
|
||||
switch (pSendSrc.SERVICENAME ?? "")
|
||||
{
|
||||
case "issue.wo.item.process": // MES發料
|
||||
{
|
||||
objEAIResult = new SCI_Response_issue_wo_item_process();
|
||||
// 將中台回的結果轉成物件
|
||||
try
|
||||
{
|
||||
(objEAIResult as SCI_Response_issue_wo_item_process).ParseXmlToObject(pEAIResult);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception("[%XML FORMAT ERROR%]");
|
||||
}
|
||||
|
||||
// 解析Request XML
|
||||
var cdoInXML = new SCI_Request_issue_wo_item_process();
|
||||
cdoInXML.ParseXmlToObject(InXML);
|
||||
|
||||
object argdaoTransaction = DAO;
|
||||
AddERPDocumentLog(8, Conversions.ToString((objEAIResult as SCI_Response_issue_wo_item_process).return_no), cdoInXML.doc_no, pSendSrc, ref argdaoTransaction);
|
||||
DAO = (DAO_TBLSYSSENDTOEAIQUEUE)argdaoTransaction;
|
||||
break;
|
||||
}
|
||||
case "stockin.data.create": // 完工入庫
|
||||
{
|
||||
objEAIResult = new SCI_Response_stockin_data_create();
|
||||
// 將中台回的結果轉成物件
|
||||
try
|
||||
{
|
||||
(objEAIResult as SCI_Response_stockin_data_create).ParseXmlToObject(pEAIResult);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception("[%XML FORMAT ERROR%]");
|
||||
}
|
||||
|
||||
// 解析Request XML
|
||||
var cdoInXML = new SCI_Request_stockin_data_create();
|
||||
cdoInXML.ParseXmlToObject(InXML);
|
||||
|
||||
object argdaoTransaction1 = DAO;
|
||||
AddERPDocumentLog(4, Conversions.ToString((objEAIResult as SCI_Response_stockin_data_create).stock_in_no), cdoInXML.source_no, pSendSrc, ref argdaoTransaction1);
|
||||
DAO = (DAO_TBLSYSSENDTOEAIQUEUE)argdaoTransaction1;
|
||||
break;
|
||||
}
|
||||
|
||||
case "workorder.create": // DPM報工單
|
||||
{
|
||||
objEAIResult = new SCI_Response_workorder_create();
|
||||
// 將中台回的結果轉成物件
|
||||
try
|
||||
{
|
||||
(objEAIResult as SCI_Response_workorder_create).ParseXmlToObject(pEAIResult);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception("[%XML FORMAT ERROR%]");
|
||||
}
|
||||
|
||||
// 解析Request XML
|
||||
var cdoInXML = new SCI_Request_workorder_create();
|
||||
cdoInXML.ParseXmlToObject(InXML);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 將Queue資訊搬至Log
|
||||
objQueueLog.SENDID = pSendSrc.SENDID;
|
||||
objQueueLog.SENDTO = pSendSrc.SENDTO;
|
||||
objQueueLog.SERVICENAME = pSendSrc.SERVICENAME;
|
||||
objQueueLog.SERVICEVERSION = pSendSrc.SERVICEVERSION;
|
||||
objQueueLog.SENDCONTENT = pSendSrc.PAYLOAD;
|
||||
objQueueLog.SENDCOUNT = pSendSrc.SENDCOUNT;
|
||||
objQueueLog.RETURNINFO = Conversions.ToString((objEAIResult as SCI_Response_workorder_create).description);
|
||||
objQueueLog.RUNRESULT = "success";
|
||||
objQueueLog.CREATOR = pSendSrc.CREATOR;
|
||||
objQueueLog.CREATEDATE = pSendSrc.CREATEDATE;
|
||||
// 2017-07-17, Joe, 將ERP入庫單號寫入Queue中,還原時才能與MES發料資訊做對應一起還原
|
||||
objQueueLog.RELATIONERPNO = pSendSrc.RELATIONERPNO;
|
||||
objQueueLog.LOTSERIAL = pSendSrc.LOTSERIAL;
|
||||
DAO_Log.Add(objQueueLog, DAO);
|
||||
|
||||
// 刪除已拋轉成功的Queue
|
||||
DAO.Delete(pSendSrc, DAO);
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 同步結果處理-失敗
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private void HandleSendFail(string pEAIResult, string pEAIMessage, CDO_TBLSYSSENDTOEAIQUEUE pSendSrc, string pJobParam02)
|
||||
{
|
||||
|
||||
string strSQL;
|
||||
var objQueueLog = new CDO_TBLSYSSENDTOEAIQUEUE_LOG();
|
||||
var DAO = new DAO_TBLSYSSENDTOEAIQUEUE();
|
||||
var DAO_Log = new DAO_TBLSYSSENDTOEAIQUEUE_LOG();
|
||||
|
||||
try
|
||||
{
|
||||
// 錯誤次數加1
|
||||
pSendSrc.SENDCOUNT = pSendSrc.SENDCOUNT + 1;
|
||||
pSendSrc.EXCEPTION = pEAIResult;
|
||||
|
||||
// 將此筆Queue回寫DB
|
||||
DAO.Update(pSendSrc, DAO);
|
||||
|
||||
// 發送Mail
|
||||
|
||||
// 判斷目前執行的同步次數是否已達到最大限制次數
|
||||
if (string.IsNullOrEmpty(pJobParam02) == false && Convert.ToInt32(pJobParam02) != -1 && pSendSrc.SENDCOUNT > Convert.ToInt32(pJobParam02))
|
||||
{
|
||||
|
||||
// 將Queue資訊搬至Log
|
||||
objQueueLog.SENDID = pSendSrc.SENDID;
|
||||
objQueueLog.SENDTO = pSendSrc.SENDTO;
|
||||
objQueueLog.SERVICENAME = pSendSrc.SERVICENAME;
|
||||
objQueueLog.SERVICEVERSION = pSendSrc.SERVICEVERSION;
|
||||
objQueueLog.SENDCONTENT = pSendSrc.PAYLOAD;
|
||||
objQueueLog.SENDCOUNT = pSendSrc.SENDCOUNT;
|
||||
objQueueLog.RETURNINFO = pEAIMessage;
|
||||
objQueueLog.RUNRESULT = "fail";
|
||||
objQueueLog.EXCEPTION = pSendSrc.EXCEPTION;
|
||||
objQueueLog.CREATOR = pSendSrc.CREATOR;
|
||||
objQueueLog.CREATEDATE = pSendSrc.CREATEDATE;
|
||||
// 2017-07-17, Joe, 將ERP入庫單號寫入Queue中,還原時才能與MES發料資訊做對應一起還原
|
||||
objQueueLog.RELATIONERPNO = pSendSrc.RELATIONERPNO;
|
||||
DAO_Log.Add(objQueueLog, DAO);
|
||||
|
||||
// 刪除已拋轉成功的Queue
|
||||
DAO.Delete(pSendSrc, DAO);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private object AddERPDocumentLog(int pDocType, string ERPNo, string MESNo, CDO_TBLSYSSENDTOEAIQUEUE pSendSrc, ref object daoTransaction)
|
||||
{
|
||||
|
||||
var cdoERPDocLog = new CDO_TBLSYSERPDOCUMENTLOG();
|
||||
var daoERPDocLog = new DAO_TBLSYSERPDOCUMENTLOG();
|
||||
|
||||
try
|
||||
{
|
||||
// 將資訊寫入ERP Document Log
|
||||
cdoERPDocLog.TRANSID = RequestKey;
|
||||
cdoERPDocLog.DOCUMENTTYPE = pDocType; // 單據類別 1:工單發料,2:工單退料,3:報工單,4:完工入庫,5:不良品入庫單,6:外包出貨單,7:外包回貨單,8:MES發料
|
||||
cdoERPDocLog.MESNO = MESNo;
|
||||
cdoERPDocLog.ERPNO = ERPNo;
|
||||
cdoERPDocLog.CREATEDATE = pSendSrc.CREATEDATE;
|
||||
// 2017-07-17, Joe, 將ERP入庫單號寫入Queue中,還原時才能與MES發料資訊做對應一起還原
|
||||
cdoERPDocLog.RELATIONERPNO = pSendSrc.RELATIONERPNO;
|
||||
cdoERPDocLog.SENDID = pSendSrc.SENDID;
|
||||
daoERPDocLog.Add(cdoERPDocLog, (iMESDBBase)daoTransaction);
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return default(Object);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
161
SRC/MESAgent/MESAutoRun/AutoRunLib/My Project/Settings.Designer.cs
generated
Normal file
161
SRC/MESAgent/MESAutoRun/AutoRunLib/My Project/Settings.Designer.cs
generated
Normal file
@ -0,0 +1,161 @@
|
||||
// ------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 這段程式碼是由工具產生的。
|
||||
// 執行階段版本:4.0.30319.42000
|
||||
//
|
||||
// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
|
||||
// 變更將會遺失。
|
||||
// </auto-generated>
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
using System.Diagnostics;
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
|
||||
|
||||
namespace AutoRunLib_C.My
|
||||
{
|
||||
|
||||
[System.Runtime.CompilerServices.CompilerGenerated()]
|
||||
[System.CodeDom.Compiler.GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
|
||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal sealed partial class MySettings : System.Configuration.ApplicationSettingsBase
|
||||
{
|
||||
|
||||
private static MySettings defaultInstance = (MySettings)Synchronized(new MySettings());
|
||||
|
||||
#region My.Settings 自動儲存功能
|
||||
/* TODO ERROR: Skipped IfDirectiveTrivia
|
||||
#If _MyType = "WindowsForms" Then
|
||||
*//* TODO ERROR: Skipped DisabledTextTrivia
|
||||
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(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
|
||||
If My.Application.SaveMySettingsOnExit Then
|
||||
My.Settings.Save()
|
||||
End If
|
||||
End Sub
|
||||
*//* TODO ERROR: Skipped EndIfDirectiveTrivia
|
||||
#End If
|
||||
*/
|
||||
#endregion
|
||||
|
||||
public static MySettings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
|
||||
/* TODO ERROR: Skipped IfDirectiveTrivia
|
||||
#If _MyType = "WindowsForms" Then
|
||||
*//* TODO ERROR: Skipped DisabledTextTrivia
|
||||
If Not addedHandler Then
|
||||
SyncLock addedHandlerLockObject
|
||||
If Not addedHandler Then
|
||||
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
|
||||
addedHandler = True
|
||||
End If
|
||||
End SyncLock
|
||||
End If
|
||||
*//* TODO ERROR: Skipped EndIfDirectiveTrivia
|
||||
#End If
|
||||
*/
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[System.Configuration.ApplicationScopedSetting()]
|
||||
[DebuggerNonUserCode()]
|
||||
[System.Configuration.SpecialSetting(System.Configuration.SpecialSetting.WebServiceUrl)]
|
||||
[System.Configuration.DefaultSettingValue("http://localhost/ERPws_DSC/wsMES.asmx")]
|
||||
public string AutoRunLib_wsERP_MES_wsMES
|
||||
{
|
||||
get
|
||||
{
|
||||
return Conversions.ToString(this["AutoRunLib_wsERP_MES_wsMES"]);
|
||||
}
|
||||
}
|
||||
|
||||
[System.Configuration.ApplicationScopedSetting()]
|
||||
[DebuggerNonUserCode()]
|
||||
[System.Configuration.SpecialSetting(System.Configuration.SpecialSetting.WebServiceUrl)]
|
||||
[System.Configuration.DefaultSettingValue("http://10.40.40.30/gas/ws/r/aws_ttsrv2_top2o")]
|
||||
public string AutoRunLib_wsERP_TP_TIPTOPServiceGateWay
|
||||
{
|
||||
get
|
||||
{
|
||||
return Conversions.ToString(this["AutoRunLib_wsERP_TP_TIPTOPServiceGateWay"]);
|
||||
}
|
||||
}
|
||||
|
||||
[System.Configuration.ApplicationScopedSetting()]
|
||||
[DebuggerNonUserCode()]
|
||||
[System.Configuration.SpecialSetting(System.Configuration.SpecialSetting.WebServiceUrl)]
|
||||
[System.Configuration.DefaultSettingValue("http://218.211.164.212:8082/ws/r/aws_ttsrv2_top3o")]
|
||||
public string AutoRunLib_wsERP_TP_RPC_TIPTOPServiceGateWay
|
||||
{
|
||||
get
|
||||
{
|
||||
return Conversions.ToString(this["AutoRunLib_wsERP_TP_RPC_TIPTOPServiceGateWay"]);
|
||||
}
|
||||
}
|
||||
|
||||
[System.Configuration.ApplicationScopedSetting()]
|
||||
[DebuggerNonUserCode()]
|
||||
[System.Configuration.SpecialSetting(System.Configuration.SpecialSetting.WebServiceUrl)]
|
||||
[System.Configuration.DefaultSettingValue("http://10.40.41.197:9999/IntegrationEntry")]
|
||||
public string AutoRunLib_wsERP_EAI_IntegrationEntry
|
||||
{
|
||||
get
|
||||
{
|
||||
return Conversions.ToString(this["AutoRunLib_wsERP_EAI_IntegrationEntry"]);
|
||||
}
|
||||
}
|
||||
|
||||
[System.Configuration.ApplicationScopedSetting()]
|
||||
[DebuggerNonUserCode()]
|
||||
[System.Configuration.SpecialSetting(System.Configuration.SpecialSetting.WebServiceUrl)]
|
||||
[System.Configuration.DefaultSettingValue("http://localhost/MESws_STD/wsInvoke.asmx")]
|
||||
public string AutoRunLib_wsInvoke_wsInvoke
|
||||
{
|
||||
get
|
||||
{
|
||||
return Conversions.ToString(this["AutoRunLib_wsInvoke_wsInvoke"]);
|
||||
}
|
||||
}
|
||||
|
||||
[System.Configuration.ApplicationScopedSetting()]
|
||||
[DebuggerNonUserCode()]
|
||||
[System.Configuration.SpecialSetting(System.Configuration.SpecialSetting.WebServiceUrl)]
|
||||
[System.Configuration.DefaultSettingValue("http://10.40.30.73/WFMES/WFMESService.asmx")]
|
||||
public string AutoRunLib_wsERP_WorkFlow_WFMESService
|
||||
{
|
||||
get
|
||||
{
|
||||
return Conversions.ToString(this["AutoRunLib_wsERP_WorkFlow_WFMESService"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace AutoRunLib_C.My
|
||||
{
|
||||
|
||||
[HideModuleName()]
|
||||
[DebuggerNonUserCode()]
|
||||
[System.Runtime.CompilerServices.CompilerGenerated()]
|
||||
internal static class MySettingsProperty
|
||||
{
|
||||
|
||||
[System.ComponentModel.Design.HelpKeyword("My.Settings")]
|
||||
internal static MySettings Settings
|
||||
{
|
||||
get
|
||||
{
|
||||
return MySettings.Default;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="AutoRunLib_wsERP_MES_wsMES" Type="(Web Service URL)" Scope="Application">
|
||||
<Value Profile="(Default)">http://localhost/ERPws_DSC/wsMES.asmx</Value>
|
||||
</Setting>
|
||||
<Setting Name="AutoRunLib_wsERP_TP_TIPTOPServiceGateWay" Type="(Web Service URL)" Scope="Application">
|
||||
<Value Profile="(Default)">http://10.40.40.30/gas/ws/r/aws_ttsrv2_top2o</Value>
|
||||
</Setting>
|
||||
<Setting Name="AutoRunLib_wsERP_TP_RPC_TIPTOPServiceGateWay" Type="(Web Service URL)" Scope="Application">
|
||||
<Value Profile="(Default)">http://218.211.164.212:8082/ws/r/aws_ttsrv2_top3o</Value>
|
||||
</Setting>
|
||||
<Setting Name="AutoRunLib_wsERP_EAI_IntegrationEntry" Type="(Web Service URL)" Scope="Application">
|
||||
<Value Profile="(Default)">http://10.40.41.197:9999/IntegrationEntry</Value>
|
||||
</Setting>
|
||||
<Setting Name="AutoRunLib_wsInvoke_wsInvoke" Type="(Web Service URL)" Scope="Application">
|
||||
<Value Profile="(Default)">http://localhost/MESws_STD/wsInvoke.asmx</Value>
|
||||
</Setting>
|
||||
<Setting Name="AutoRunLib_wsERP_WorkFlow_WFMESService" Type="(Web Service URL)" Scope="Application">
|
||||
<Value Profile="(Default)">http://10.40.30.73/WFMES/WFMESService.asmx</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
@ -0,0 +1 @@
|
||||
[assembly: System.Reflection.AssemblyFileVersion("6.0.5.31114")]
|
||||
@ -0,0 +1,372 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:intf="http://entry.serviceengine.cross.digiwin.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://entry.serviceengine.cross.digiwin.com" targetNamespace="http://entry.serviceengine.cross.digiwin.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://entry.serviceengine.cross.digiwin.com">
|
||||
<xsd:element name="regEAI">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="in0" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="regEAIResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="regEAIReturn" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="getParamList">
|
||||
<xsd:complexType />
|
||||
</xsd:element>
|
||||
<xsd:element name="getParamListResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="getParamListReturn" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="regProdAP">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="in0" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="regProdAPResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="regProdAPReturn" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="regSrv">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="in0" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="regSrvResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="regSrvReturn" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="getProdList">
|
||||
<xsd:complexType />
|
||||
</xsd:element>
|
||||
<xsd:element name="getProdListResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="getProdListReturn" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="getProd">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="in0" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="getProdResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="getProdReturn" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="getSrv">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="in0" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="getSrvResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="getSrvReturn" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="invokeEtl">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="in0" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="invokeEtlResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="invokeEtlReturn" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="invokeSrv">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="in0" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="invokeSrvResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="invokeSrvReturn" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="getEtlJobList">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="in0" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="getEtlJobListResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="getEtlJobListReturn" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="invokeMdm">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="in0" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="invokeMdmResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="invokeMdmReturn" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="invokeEtlResponse">
|
||||
<wsdl:part name="parameters" element="impl:invokeEtlResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeEtlRequest">
|
||||
<wsdl:part name="parameters" element="impl:invokeEtl" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="regSrvRequest">
|
||||
<wsdl:part name="parameters" element="impl:regSrv" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrvResponse">
|
||||
<wsdl:part name="parameters" element="impl:invokeSrvResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="regEAIRequest">
|
||||
<wsdl:part name="parameters" element="impl:regEAI" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getProdListResponse">
|
||||
<wsdl:part name="parameters" element="impl:getProdListResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getProdResponse">
|
||||
<wsdl:part name="parameters" element="impl:getProdResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="regProdAPResponse">
|
||||
<wsdl:part name="parameters" element="impl:regProdAPResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getEtlJobListRequest">
|
||||
<wsdl:part name="parameters" element="impl:getEtlJobList" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getSrvRequest">
|
||||
<wsdl:part name="parameters" element="impl:getSrv" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrvRequest">
|
||||
<wsdl:part name="parameters" element="impl:invokeSrv" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getParamListResponse">
|
||||
<wsdl:part name="parameters" element="impl:getParamListResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getSrvResponse">
|
||||
<wsdl:part name="parameters" element="impl:getSrvResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getParamListRequest">
|
||||
<wsdl:part name="parameters" element="impl:getParamList" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getProdRequest">
|
||||
<wsdl:part name="parameters" element="impl:getProd" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeMdmResponse">
|
||||
<wsdl:part name="parameters" element="impl:invokeMdmResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="regSrvResponse">
|
||||
<wsdl:part name="parameters" element="impl:regSrvResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getProdListRequest">
|
||||
<wsdl:part name="parameters" element="impl:getProdList" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getEtlJobListResponse">
|
||||
<wsdl:part name="parameters" element="impl:getEtlJobListResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeMdmRequest">
|
||||
<wsdl:part name="parameters" element="impl:invokeMdm" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="regEAIResponse">
|
||||
<wsdl:part name="parameters" element="impl:regEAIResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="regProdAPRequest">
|
||||
<wsdl:part name="parameters" element="impl:regProdAP" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="IntegrationEntry">
|
||||
<wsdl:operation name="regEAI">
|
||||
<wsdl:input name="regEAIRequest" message="impl:regEAIRequest" />
|
||||
<wsdl:output name="regEAIResponse" message="impl:regEAIResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getParamList">
|
||||
<wsdl:input name="getParamListRequest" message="impl:getParamListRequest" />
|
||||
<wsdl:output name="getParamListResponse" message="impl:getParamListResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="regProdAP">
|
||||
<wsdl:input name="regProdAPRequest" message="impl:regProdAPRequest" />
|
||||
<wsdl:output name="regProdAPResponse" message="impl:regProdAPResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="regSrv">
|
||||
<wsdl:input name="regSrvRequest" message="impl:regSrvRequest" />
|
||||
<wsdl:output name="regSrvResponse" message="impl:regSrvResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getProdList">
|
||||
<wsdl:input name="getProdListRequest" message="impl:getProdListRequest" />
|
||||
<wsdl:output name="getProdListResponse" message="impl:getProdListResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getProd">
|
||||
<wsdl:input name="getProdRequest" message="impl:getProdRequest" />
|
||||
<wsdl:output name="getProdResponse" message="impl:getProdResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getSrv">
|
||||
<wsdl:input name="getSrvRequest" message="impl:getSrvRequest" />
|
||||
<wsdl:output name="getSrvResponse" message="impl:getSrvResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeEtl">
|
||||
<wsdl:input name="invokeEtlRequest" message="impl:invokeEtlRequest" />
|
||||
<wsdl:output name="invokeEtlResponse" message="impl:invokeEtlResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv">
|
||||
<wsdl:input name="invokeSrvRequest" message="impl:invokeSrvRequest" />
|
||||
<wsdl:output name="invokeSrvResponse" message="impl:invokeSrvResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getEtlJobList">
|
||||
<wsdl:input name="getEtlJobListRequest" message="impl:getEtlJobListRequest" />
|
||||
<wsdl:output name="getEtlJobListResponse" message="impl:getEtlJobListResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeMdm">
|
||||
<wsdl:input name="invokeMdmRequest" message="impl:invokeMdmRequest" />
|
||||
<wsdl:output name="invokeMdmResponse" message="impl:invokeMdmResponse" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="IntegrationEntrySoapBinding" type="impl:IntegrationEntry">
|
||||
<wsdlsoap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="regEAI">
|
||||
<wsdlsoap:operation soapAction="" />
|
||||
<wsdl:input name="regEAIRequest">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output name="regEAIResponse">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getParamList">
|
||||
<wsdlsoap:operation soapAction="" />
|
||||
<wsdl:input name="getParamListRequest">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output name="getParamListResponse">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="regProdAP">
|
||||
<wsdlsoap:operation soapAction="" />
|
||||
<wsdl:input name="regProdAPRequest">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output name="regProdAPResponse">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="regSrv">
|
||||
<wsdlsoap:operation soapAction="" />
|
||||
<wsdl:input name="regSrvRequest">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output name="regSrvResponse">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getProdList">
|
||||
<wsdlsoap:operation soapAction="" />
|
||||
<wsdl:input name="getProdListRequest">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output name="getProdListResponse">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getProd">
|
||||
<wsdlsoap:operation soapAction="" />
|
||||
<wsdl:input name="getProdRequest">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output name="getProdResponse">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getSrv">
|
||||
<wsdlsoap:operation soapAction="" />
|
||||
<wsdl:input name="getSrvRequest">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output name="getSrvResponse">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeEtl">
|
||||
<wsdlsoap:operation soapAction="" />
|
||||
<wsdl:input name="invokeEtlRequest">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output name="invokeEtlResponse">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv">
|
||||
<wsdlsoap:operation soapAction="" />
|
||||
<wsdl:input name="invokeSrvRequest">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output name="invokeSrvResponse">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getEtlJobList">
|
||||
<wsdlsoap:operation soapAction="" />
|
||||
<wsdl:input name="getEtlJobListRequest">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output name="getEtlJobListResponse">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeMdm">
|
||||
<wsdlsoap:operation soapAction="" />
|
||||
<wsdl:input name="invokeMdmRequest">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output name="invokeMdmResponse">
|
||||
<wsdlsoap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="IntegrationEntry">
|
||||
<wsdl:port name="IntegrationEntry" binding="impl:IntegrationEntrySoapBinding">
|
||||
<wsdlsoap:address location="http://10.40.41.197:9999/IntegrationEntry" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
||||
@ -0,0 +1,980 @@
|
||||
// ------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 這段程式碼是由工具產生的。
|
||||
// 執行階段版本:4.0.30319.42000
|
||||
//
|
||||
// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
|
||||
// 變更將會遺失。
|
||||
// </auto-generated>
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Web.Services;
|
||||
using System.Web.Services.Protocols;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
|
||||
//
|
||||
// 原始程式碼已由 Microsoft.VSDesigner 自動產生,版本 4.0.30319.42000。
|
||||
//
|
||||
namespace AutoRunLib_C.wsERP_EAI
|
||||
{
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
[WebServiceBinding(Name = "IntegrationEntrySoapBinding", Namespace = "http://entry.serviceengine.cross.digiwin.com")]
|
||||
public partial class IntegrationEntry : SoapHttpClientProtocol
|
||||
{
|
||||
|
||||
private System.Threading.SendOrPostCallback regEAIOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback getParamListOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback regProdAPOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback regSrvOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback getProdListOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback getProdOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback getSrvOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback invokeEtlOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback invokeSrvOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback getEtlJobListOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback invokeMdmOperationCompleted;
|
||||
|
||||
private bool useDefaultCredentialsSetExplicitly;
|
||||
|
||||
/// <remarks/>
|
||||
public IntegrationEntry() : base()
|
||||
{
|
||||
Url = My.MySettings.Default.AutoRunLib_wsERP_EAI_IntegrationEntry;
|
||||
if (IsLocalFileSystemWebService(Url) == true)
|
||||
{
|
||||
UseDefaultCredentials = true;
|
||||
useDefaultCredentialsSetExplicitly = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
useDefaultCredentialsSetExplicitly = true;
|
||||
}
|
||||
}
|
||||
|
||||
public new string Url
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.Url;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (IsLocalFileSystemWebService(base.Url) == true && useDefaultCredentialsSetExplicitly == false && IsLocalFileSystemWebService(value) == false)
|
||||
|
||||
{
|
||||
base.UseDefaultCredentials = false;
|
||||
}
|
||||
base.Url = value;
|
||||
}
|
||||
}
|
||||
|
||||
public new bool UseDefaultCredentials
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.UseDefaultCredentials;
|
||||
}
|
||||
set
|
||||
{
|
||||
base.UseDefaultCredentials = value;
|
||||
useDefaultCredentialsSetExplicitly = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public event regEAICompletedEventHandler regEAICompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event getParamListCompletedEventHandler getParamListCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event regProdAPCompletedEventHandler regProdAPCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event regSrvCompletedEventHandler regSrvCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event getProdListCompletedEventHandler getProdListCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event getProdCompletedEventHandler getProdCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event getSrvCompletedEventHandler getSrvCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event invokeEtlCompletedEventHandler invokeEtlCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event invokeSrvCompletedEventHandler invokeSrvCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event getEtlJobListCompletedEventHandler getEtlJobListCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event invokeMdmCompletedEventHandler invokeMdmCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("", RequestNamespace = "http://entry.serviceengine.cross.digiwin.com", ResponseNamespace = "http://entry.serviceengine.cross.digiwin.com", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public string regEAI(string in0)
|
||||
{
|
||||
object[] results = Invoke("regEAI", new object[] { in0 });
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BeginregEAI(string in0, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("regEAI", new object[] { in0 }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndregEAI(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void regEAIAsync(string in0)
|
||||
{
|
||||
regEAIAsync(in0, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void regEAIAsync(string in0, object userState)
|
||||
{
|
||||
if (regEAIOperationCompleted == null)
|
||||
{
|
||||
regEAIOperationCompleted = OnregEAIOperationCompleted;
|
||||
}
|
||||
InvokeAsync("regEAI", new object[] { in0 }, regEAIOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnregEAIOperationCompleted(object arg)
|
||||
{
|
||||
if (regEAICompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
regEAICompleted?.Invoke(this, new regEAICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("", RequestNamespace = "http://entry.serviceengine.cross.digiwin.com", ResponseNamespace = "http://entry.serviceengine.cross.digiwin.com", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public string getParamList()
|
||||
{
|
||||
object[] results = Invoke("getParamList", new object[0]);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegingetParamList(AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("getParamList", new object[0], callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndgetParamList(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void getParamListAsync()
|
||||
{
|
||||
getParamListAsync(null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void getParamListAsync(object userState)
|
||||
{
|
||||
if (getParamListOperationCompleted == null)
|
||||
{
|
||||
getParamListOperationCompleted = OngetParamListOperationCompleted;
|
||||
}
|
||||
InvokeAsync("getParamList", new object[0], getParamListOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OngetParamListOperationCompleted(object arg)
|
||||
{
|
||||
if (getParamListCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
getParamListCompleted?.Invoke(this, new getParamListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("", RequestNamespace = "http://entry.serviceengine.cross.digiwin.com", ResponseNamespace = "http://entry.serviceengine.cross.digiwin.com", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public string regProdAP(string in0)
|
||||
{
|
||||
object[] results = Invoke("regProdAP", new object[] { in0 });
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BeginregProdAP(string in0, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("regProdAP", new object[] { in0 }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndregProdAP(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void regProdAPAsync(string in0)
|
||||
{
|
||||
regProdAPAsync(in0, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void regProdAPAsync(string in0, object userState)
|
||||
{
|
||||
if (regProdAPOperationCompleted == null)
|
||||
{
|
||||
regProdAPOperationCompleted = OnregProdAPOperationCompleted;
|
||||
}
|
||||
InvokeAsync("regProdAP", new object[] { in0 }, regProdAPOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnregProdAPOperationCompleted(object arg)
|
||||
{
|
||||
if (regProdAPCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
regProdAPCompleted?.Invoke(this, new regProdAPCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("", RequestNamespace = "http://entry.serviceengine.cross.digiwin.com", ResponseNamespace = "http://entry.serviceengine.cross.digiwin.com", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public string regSrv(string in0)
|
||||
{
|
||||
object[] results = Invoke("regSrv", new object[] { in0 });
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BeginregSrv(string in0, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("regSrv", new object[] { in0 }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndregSrv(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void regSrvAsync(string in0)
|
||||
{
|
||||
regSrvAsync(in0, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void regSrvAsync(string in0, object userState)
|
||||
{
|
||||
if (regSrvOperationCompleted == null)
|
||||
{
|
||||
regSrvOperationCompleted = OnregSrvOperationCompleted;
|
||||
}
|
||||
InvokeAsync("regSrv", new object[] { in0 }, regSrvOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnregSrvOperationCompleted(object arg)
|
||||
{
|
||||
if (regSrvCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
regSrvCompleted?.Invoke(this, new regSrvCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("", RequestNamespace = "http://entry.serviceengine.cross.digiwin.com", ResponseNamespace = "http://entry.serviceengine.cross.digiwin.com", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public string getProdList()
|
||||
{
|
||||
object[] results = Invoke("getProdList", new object[0]);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegingetProdList(AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("getProdList", new object[0], callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndgetProdList(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void getProdListAsync()
|
||||
{
|
||||
getProdListAsync(null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void getProdListAsync(object userState)
|
||||
{
|
||||
if (getProdListOperationCompleted == null)
|
||||
{
|
||||
getProdListOperationCompleted = OngetProdListOperationCompleted;
|
||||
}
|
||||
InvokeAsync("getProdList", new object[0], getProdListOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OngetProdListOperationCompleted(object arg)
|
||||
{
|
||||
if (getProdListCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
getProdListCompleted?.Invoke(this, new getProdListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("", RequestNamespace = "http://entry.serviceengine.cross.digiwin.com", ResponseNamespace = "http://entry.serviceengine.cross.digiwin.com", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public string getProd(string in0)
|
||||
{
|
||||
object[] results = Invoke("getProd", new object[] { in0 });
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegingetProd(string in0, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("getProd", new object[] { in0 }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndgetProd(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void getProdAsync(string in0)
|
||||
{
|
||||
getProdAsync(in0, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void getProdAsync(string in0, object userState)
|
||||
{
|
||||
if (getProdOperationCompleted == null)
|
||||
{
|
||||
getProdOperationCompleted = OngetProdOperationCompleted;
|
||||
}
|
||||
InvokeAsync("getProd", new object[] { in0 }, getProdOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OngetProdOperationCompleted(object arg)
|
||||
{
|
||||
if (getProdCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
getProdCompleted?.Invoke(this, new getProdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("", RequestNamespace = "http://entry.serviceengine.cross.digiwin.com", ResponseNamespace = "http://entry.serviceengine.cross.digiwin.com", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public string getSrv(string in0)
|
||||
{
|
||||
object[] results = Invoke("getSrv", new object[] { in0 });
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegingetSrv(string in0, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("getSrv", new object[] { in0 }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndgetSrv(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void getSrvAsync(string in0)
|
||||
{
|
||||
getSrvAsync(in0, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void getSrvAsync(string in0, object userState)
|
||||
{
|
||||
if (getSrvOperationCompleted == null)
|
||||
{
|
||||
getSrvOperationCompleted = OngetSrvOperationCompleted;
|
||||
}
|
||||
InvokeAsync("getSrv", new object[] { in0 }, getSrvOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OngetSrvOperationCompleted(object arg)
|
||||
{
|
||||
if (getSrvCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
getSrvCompleted?.Invoke(this, new getSrvCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("", RequestNamespace = "http://entry.serviceengine.cross.digiwin.com", ResponseNamespace = "http://entry.serviceengine.cross.digiwin.com", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public string invokeEtl(string in0)
|
||||
{
|
||||
object[] results = Invoke("invokeEtl", new object[] { in0 });
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegininvokeEtl(string in0, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("invokeEtl", new object[] { in0 }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndinvokeEtl(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeEtlAsync(string in0)
|
||||
{
|
||||
invokeEtlAsync(in0, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeEtlAsync(string in0, object userState)
|
||||
{
|
||||
if (invokeEtlOperationCompleted == null)
|
||||
{
|
||||
invokeEtlOperationCompleted = OninvokeEtlOperationCompleted;
|
||||
}
|
||||
InvokeAsync("invokeEtl", new object[] { in0 }, invokeEtlOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OninvokeEtlOperationCompleted(object arg)
|
||||
{
|
||||
if (invokeEtlCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
invokeEtlCompleted?.Invoke(this, new invokeEtlCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("", RequestNamespace = "http://entry.serviceengine.cross.digiwin.com", ResponseNamespace = "http://entry.serviceengine.cross.digiwin.com", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public string invokeSrv(string in0)
|
||||
{
|
||||
object[] results = Invoke("invokeSrv", new object[] { in0 });
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegininvokeSrv(string in0, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("invokeSrv", new object[] { in0 }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndinvokeSrv(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrvAsync(string in0)
|
||||
{
|
||||
invokeSrvAsync(in0, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeSrvAsync(string in0, object userState)
|
||||
{
|
||||
if (invokeSrvOperationCompleted == null)
|
||||
{
|
||||
invokeSrvOperationCompleted = OninvokeSrvOperationCompleted;
|
||||
}
|
||||
InvokeAsync("invokeSrv", new object[] { in0 }, invokeSrvOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OninvokeSrvOperationCompleted(object arg)
|
||||
{
|
||||
if (invokeSrvCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
invokeSrvCompleted?.Invoke(this, new invokeSrvCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("", RequestNamespace = "http://entry.serviceengine.cross.digiwin.com", ResponseNamespace = "http://entry.serviceengine.cross.digiwin.com", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public string getEtlJobList(string in0)
|
||||
{
|
||||
object[] results = Invoke("getEtlJobList", new object[] { in0 });
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegingetEtlJobList(string in0, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("getEtlJobList", new object[] { in0 }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndgetEtlJobList(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void getEtlJobListAsync(string in0)
|
||||
{
|
||||
getEtlJobListAsync(in0, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void getEtlJobListAsync(string in0, object userState)
|
||||
{
|
||||
if (getEtlJobListOperationCompleted == null)
|
||||
{
|
||||
getEtlJobListOperationCompleted = OngetEtlJobListOperationCompleted;
|
||||
}
|
||||
InvokeAsync("getEtlJobList", new object[] { in0 }, getEtlJobListOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OngetEtlJobListOperationCompleted(object arg)
|
||||
{
|
||||
if (getEtlJobListCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
getEtlJobListCompleted?.Invoke(this, new getEtlJobListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("", RequestNamespace = "http://entry.serviceengine.cross.digiwin.com", ResponseNamespace = "http://entry.serviceengine.cross.digiwin.com", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public string invokeMdm(string in0)
|
||||
{
|
||||
object[] results = Invoke("invokeMdm", new object[] { in0 });
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BegininvokeMdm(string in0, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("invokeMdm", new object[] { in0 }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndinvokeMdm(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeMdmAsync(string in0)
|
||||
{
|
||||
invokeMdmAsync(in0, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void invokeMdmAsync(string in0, object userState)
|
||||
{
|
||||
if (invokeMdmOperationCompleted == null)
|
||||
{
|
||||
invokeMdmOperationCompleted = OninvokeMdmOperationCompleted;
|
||||
}
|
||||
InvokeAsync("invokeMdm", new object[] { in0 }, invokeMdmOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OninvokeMdmOperationCompleted(object arg)
|
||||
{
|
||||
if (invokeMdmCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
invokeMdmCompleted?.Invoke(this, new invokeMdmCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public new void CancelAsync(object userState)
|
||||
{
|
||||
base.CancelAsync(userState);
|
||||
}
|
||||
|
||||
private bool IsLocalFileSystemWebService(string url)
|
||||
{
|
||||
if (url == null || ReferenceEquals(url, string.Empty))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
var wsUri = new Uri(url);
|
||||
if (wsUri.Port >= 1024 && string.Compare(wsUri.Host, "localHost", StringComparison.OrdinalIgnoreCase) == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void regEAICompletedEventHandler(object sender, regEAICompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class regEAICompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal regEAICompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void getParamListCompletedEventHandler(object sender, getParamListCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class getParamListCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal getParamListCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void regProdAPCompletedEventHandler(object sender, regProdAPCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class regProdAPCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal regProdAPCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void regSrvCompletedEventHandler(object sender, regSrvCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class regSrvCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal regSrvCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void getProdListCompletedEventHandler(object sender, getProdListCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class getProdListCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal getProdListCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void getProdCompletedEventHandler(object sender, getProdCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class getProdCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal getProdCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void getSrvCompletedEventHandler(object sender, getSrvCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class getSrvCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal getSrvCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void invokeEtlCompletedEventHandler(object sender, invokeEtlCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class invokeEtlCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal invokeEtlCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void invokeSrvCompletedEventHandler(object sender, invokeSrvCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class invokeSrvCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal invokeSrvCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void getEtlJobListCompletedEventHandler(object sender, getEtlJobListCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class getEtlJobListCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal getEtlJobListCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void invokeMdmCompletedEventHandler(object sender, invokeMdmCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class invokeMdmCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal invokeMdmCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Results>
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://218.211.164.199:9999/IntegrationEntry?wsdl" filename="IntegrationEntry.wsdl" />
|
||||
</Results>
|
||||
</DiscoveryClientResultsFile>
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Results>
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://localhost/ERPws_DSC/wsMES.asmx?disco" filename="wsMES.disco" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://localhost/ERPws_DSC/wsMES.asmx?wsdl" filename="wsMES.wsdl" />
|
||||
</Results>
|
||||
</DiscoveryClientResultsFile>
|
||||
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
|
||||
<contractRef ref="http://localhost/ERPws_DSC/wsMES.asmx?wsdl" docRef="http://localhost/ERPws_DSC/wsMES.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
|
||||
<soap address="http://localhost/ERPws_DSC/wsMES.asmx" xmlns:q1="http://www.imestech.com/wsMES" binding="q1:wsMESSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
<soap address="http://localhost/ERPws_DSC/wsMES.asmx" xmlns:q2="http://www.imestech.com/wsMES" binding="q2:wsMESSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
</discovery>
|
||||
@ -0,0 +1,925 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.imestech.com/wsMES" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://www.imestech.com/wsMES" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<s:schema elementFormDefault="qualified" targetNamespace="http://www.imestech.com/wsMES">
|
||||
<s:element name="LoadWIPInventory_SEMIbyMO_TP">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="LoadWIPInventory_SEMIbyMO_TPResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="LoadWIPInventory_SEMIbyMO_TPResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="loadWIP_SEMI_MO_TP">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="loadWIP_SEMI_MO_TPResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="loadWIP_SEMI_MO_TPResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="loadWIP_SEMI_MO_WF">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="loadWIP_SEMI_MO_WFResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="loadWIP_SEMI_MO_WFResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="ChkmesStockIn_Lot">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="ChkmesStockIn_LotResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="ChkmesStockIn_LotResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="updateINVBookingFlag">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="updateINVBookingFlagResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="updateINVBookingFlagResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOStockIn_TP">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOStockIn_TPResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="MOStockIn_TPResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOStockIn_E10">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOStockIn_E10Response">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="MOStockIn_E10Result" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOStockIn_Scrap_TP">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOStockIn_Scrap_TPResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="MOStockIn_Scrap_TPResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOStockIn_WF">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOStockIn_WFResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="MOStockIn_WFResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOStockIn_Check_WF">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOStockIn_Check_WFResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="MOStockIn_Check_WFResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOStockIn_WF_Cancel">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOStockIn_WF_CancelResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="MOStockIn_WF_CancelResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="LoadWIPInventory_SEMIbyMO_WF">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="LoadWIPInventory_SEMIbyMO_WFResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="LoadWIPInventory_SEMIbyMO_WFResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="LoadOEMOBasis_byLot_WF">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="LoadOEMOBasis_byLot_WFResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="LoadOEMOBasis_byLot_WFResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="UpdOSBasis">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="UpdOSBasisResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="UpdOSBasisResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="LoadMOMaterialStateOP">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="LoadMOMaterialStateOPResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="LoadMOMaterialStateOPResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="LoadMOMaterialState">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="LoadMOMaterialStateResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="LoadMOMaterialStateResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOIssueReturn">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOIssueReturnResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="MOIssueReturnResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOIssueReturn_Cancel">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="MOIssueReturn_CancelResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="MOIssueReturn_CancelResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="ExeMaterialScrap">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="ExeMaterialScrapResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="ExeMaterialScrapResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="GetERPReferenceNo">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="GetERPReferenceNoResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="GetERPReferenceNoResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="addTransactionLog">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="OutXml" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="TransactionID" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="ModuleID" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="FunctionID" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="ComputerName" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="CurUserNo" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="SendTime" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="Result" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="KeyValue" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="ExceptionFun" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="arrException" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="addTransactionLogResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="1" maxOccurs="1" name="addTransactionLogResult" type="s:boolean" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="arrException" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="LoadWIPInventory_SEMIbyMO_TPSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:LoadWIPInventory_SEMIbyMO_TP" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="LoadWIPInventory_SEMIbyMO_TPSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:LoadWIPInventory_SEMIbyMO_TPResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="loadWIP_SEMI_MO_TPSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:loadWIP_SEMI_MO_TP" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="loadWIP_SEMI_MO_TPSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:loadWIP_SEMI_MO_TPResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="loadWIP_SEMI_MO_WFSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:loadWIP_SEMI_MO_WF" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="loadWIP_SEMI_MO_WFSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:loadWIP_SEMI_MO_WFResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ChkmesStockIn_LotSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:ChkmesStockIn_Lot" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ChkmesStockIn_LotSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:ChkmesStockIn_LotResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="updateINVBookingFlagSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:updateINVBookingFlag" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="updateINVBookingFlagSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:updateINVBookingFlagResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOStockIn_TPSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:MOStockIn_TP" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOStockIn_TPSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:MOStockIn_TPResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOStockIn_E10SoapIn">
|
||||
<wsdl:part name="parameters" element="tns:MOStockIn_E10" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOStockIn_E10SoapOut">
|
||||
<wsdl:part name="parameters" element="tns:MOStockIn_E10Response" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOStockIn_Scrap_TPSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:MOStockIn_Scrap_TP" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOStockIn_Scrap_TPSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:MOStockIn_Scrap_TPResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOStockIn_WFSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:MOStockIn_WF" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOStockIn_WFSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:MOStockIn_WFResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOStockIn_Check_WFSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:MOStockIn_Check_WF" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOStockIn_Check_WFSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:MOStockIn_Check_WFResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOStockIn_WF_CancelSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:MOStockIn_WF_Cancel" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOStockIn_WF_CancelSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:MOStockIn_WF_CancelResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="LoadWIPInventory_SEMIbyMO_WFSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:LoadWIPInventory_SEMIbyMO_WF" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="LoadWIPInventory_SEMIbyMO_WFSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:LoadWIPInventory_SEMIbyMO_WFResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="LoadOEMOBasis_byLot_WFSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:LoadOEMOBasis_byLot_WF" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="LoadOEMOBasis_byLot_WFSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:LoadOEMOBasis_byLot_WFResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="UpdOSBasisSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:UpdOSBasis" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="UpdOSBasisSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:UpdOSBasisResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="LoadMOMaterialStateOPSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:LoadMOMaterialStateOP" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="LoadMOMaterialStateOPSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:LoadMOMaterialStateOPResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="LoadMOMaterialStateSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:LoadMOMaterialState" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="LoadMOMaterialStateSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:LoadMOMaterialStateResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOIssueReturnSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:MOIssueReturn" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOIssueReturnSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:MOIssueReturnResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOIssueReturn_CancelSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:MOIssueReturn_Cancel" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MOIssueReturn_CancelSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:MOIssueReturn_CancelResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ExeMaterialScrapSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:ExeMaterialScrap" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ExeMaterialScrapSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:ExeMaterialScrapResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetERPReferenceNoSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:GetERPReferenceNo" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetERPReferenceNoSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:GetERPReferenceNoResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="addTransactionLogSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:addTransactionLog" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="addTransactionLogSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:addTransactionLogResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="wsMESSoap">
|
||||
<wsdl:operation name="LoadWIPInventory_SEMIbyMO_TP">
|
||||
<wsdl:input message="tns:LoadWIPInventory_SEMIbyMO_TPSoapIn" />
|
||||
<wsdl:output message="tns:LoadWIPInventory_SEMIbyMO_TPSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="loadWIP_SEMI_MO_TP">
|
||||
<wsdl:input message="tns:loadWIP_SEMI_MO_TPSoapIn" />
|
||||
<wsdl:output message="tns:loadWIP_SEMI_MO_TPSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="loadWIP_SEMI_MO_WF">
|
||||
<wsdl:input message="tns:loadWIP_SEMI_MO_WFSoapIn" />
|
||||
<wsdl:output message="tns:loadWIP_SEMI_MO_WFSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ChkmesStockIn_Lot">
|
||||
<wsdl:input message="tns:ChkmesStockIn_LotSoapIn" />
|
||||
<wsdl:output message="tns:ChkmesStockIn_LotSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="updateINVBookingFlag">
|
||||
<wsdl:input message="tns:updateINVBookingFlagSoapIn" />
|
||||
<wsdl:output message="tns:updateINVBookingFlagSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_TP">
|
||||
<wsdl:input message="tns:MOStockIn_TPSoapIn" />
|
||||
<wsdl:output message="tns:MOStockIn_TPSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_E10">
|
||||
<wsdl:input message="tns:MOStockIn_E10SoapIn" />
|
||||
<wsdl:output message="tns:MOStockIn_E10SoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_Scrap_TP">
|
||||
<wsdl:input message="tns:MOStockIn_Scrap_TPSoapIn" />
|
||||
<wsdl:output message="tns:MOStockIn_Scrap_TPSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_WF">
|
||||
<wsdl:input message="tns:MOStockIn_WFSoapIn" />
|
||||
<wsdl:output message="tns:MOStockIn_WFSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_Check_WF">
|
||||
<wsdl:input message="tns:MOStockIn_Check_WFSoapIn" />
|
||||
<wsdl:output message="tns:MOStockIn_Check_WFSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_WF_Cancel">
|
||||
<wsdl:input message="tns:MOStockIn_WF_CancelSoapIn" />
|
||||
<wsdl:output message="tns:MOStockIn_WF_CancelSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LoadWIPInventory_SEMIbyMO_WF">
|
||||
<wsdl:input message="tns:LoadWIPInventory_SEMIbyMO_WFSoapIn" />
|
||||
<wsdl:output message="tns:LoadWIPInventory_SEMIbyMO_WFSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LoadOEMOBasis_byLot_WF">
|
||||
<wsdl:input message="tns:LoadOEMOBasis_byLot_WFSoapIn" />
|
||||
<wsdl:output message="tns:LoadOEMOBasis_byLot_WFSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="UpdOSBasis">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Update OSBasis</wsdl:documentation>
|
||||
<wsdl:input message="tns:UpdOSBasisSoapIn" />
|
||||
<wsdl:output message="tns:UpdOSBasisSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LoadMOMaterialStateOP">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Load MO Material State OP by MONo</wsdl:documentation>
|
||||
<wsdl:input message="tns:LoadMOMaterialStateOPSoapIn" />
|
||||
<wsdl:output message="tns:LoadMOMaterialStateOPSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LoadMOMaterialState">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Load MO Material State by MONo</wsdl:documentation>
|
||||
<wsdl:input message="tns:LoadMOMaterialStateSoapIn" />
|
||||
<wsdl:output message="tns:LoadMOMaterialStateSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOIssueReturn">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">MO Issue Return</wsdl:documentation>
|
||||
<wsdl:input message="tns:MOIssueReturnSoapIn" />
|
||||
<wsdl:output message="tns:MOIssueReturnSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOIssueReturn_Cancel">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">MOIssueReturn_Cancel</wsdl:documentation>
|
||||
<wsdl:input message="tns:MOIssueReturn_CancelSoapIn" />
|
||||
<wsdl:output message="tns:MOIssueReturn_CancelSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ExeMaterialScrap">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Execute Matreial Scrap</wsdl:documentation>
|
||||
<wsdl:input message="tns:ExeMaterialScrapSoapIn" />
|
||||
<wsdl:output message="tns:ExeMaterialScrapSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetERPReferenceNo">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get ERP Reference No</wsdl:documentation>
|
||||
<wsdl:input message="tns:GetERPReferenceNoSoapIn" />
|
||||
<wsdl:output message="tns:GetERPReferenceNoSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="addTransactionLog">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Add Transaction Log</wsdl:documentation>
|
||||
<wsdl:input message="tns:addTransactionLogSoapIn" />
|
||||
<wsdl:output message="tns:addTransactionLogSoapOut" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="wsMESSoap" type="tns:wsMESSoap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="LoadWIPInventory_SEMIbyMO_TP">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/LoadWIPInventory_SEMIbyMO_TP" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="loadWIP_SEMI_MO_TP">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/loadWIP_SEMI_MO_TP" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="loadWIP_SEMI_MO_WF">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/loadWIP_SEMI_MO_WF" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ChkmesStockIn_Lot">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/ChkmesStockIn_Lot" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="updateINVBookingFlag">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/updateINVBookingFlag" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_TP">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/MOStockIn_TP" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_E10">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/MOStockIn_E10" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_Scrap_TP">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/MOStockIn_Scrap_TP" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_WF">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/MOStockIn_WF" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_Check_WF">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/MOStockIn_Check_WF" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_WF_Cancel">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/MOStockIn_WF_Cancel" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LoadWIPInventory_SEMIbyMO_WF">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/LoadWIPInventory_SEMIbyMO_WF" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LoadOEMOBasis_byLot_WF">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/LoadOEMOBasis_byLot_WF" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="UpdOSBasis">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/UpdOSBasis" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LoadMOMaterialStateOP">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/LoadMOMaterialStateOP" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LoadMOMaterialState">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/LoadMOMaterialState" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOIssueReturn">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/MOIssueReturn" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOIssueReturn_Cancel">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/MOIssueReturn_Cancel" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ExeMaterialScrap">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/ExeMaterialScrap" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetERPReferenceNo">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/GetERPReferenceNo" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="addTransactionLog">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsMES/addTransactionLog" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="wsMESSoap12" type="tns:wsMESSoap">
|
||||
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="LoadWIPInventory_SEMIbyMO_TP">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/LoadWIPInventory_SEMIbyMO_TP" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="loadWIP_SEMI_MO_TP">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/loadWIP_SEMI_MO_TP" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="loadWIP_SEMI_MO_WF">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/loadWIP_SEMI_MO_WF" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ChkmesStockIn_Lot">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/ChkmesStockIn_Lot" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="updateINVBookingFlag">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/updateINVBookingFlag" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_TP">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/MOStockIn_TP" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_E10">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/MOStockIn_E10" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_Scrap_TP">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/MOStockIn_Scrap_TP" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_WF">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/MOStockIn_WF" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_Check_WF">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/MOStockIn_Check_WF" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOStockIn_WF_Cancel">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/MOStockIn_WF_Cancel" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LoadWIPInventory_SEMIbyMO_WF">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/LoadWIPInventory_SEMIbyMO_WF" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LoadOEMOBasis_byLot_WF">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/LoadOEMOBasis_byLot_WF" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="UpdOSBasis">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/UpdOSBasis" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LoadMOMaterialStateOP">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/LoadMOMaterialStateOP" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LoadMOMaterialState">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/LoadMOMaterialState" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOIssueReturn">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/MOIssueReturn" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="MOIssueReturn_Cancel">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/MOIssueReturn_Cancel" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ExeMaterialScrap">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/ExeMaterialScrap" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetERPReferenceNo">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/GetERPReferenceNo" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="addTransactionLog">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsMES/addTransactionLog" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="wsMES">
|
||||
<wsdl:port name="wsMESSoap" binding="tns:wsMESSoap">
|
||||
<soap:address location="http://localhost/ERPws_DSC/wsMES.asmx" />
|
||||
</wsdl:port>
|
||||
<wsdl:port name="wsMESSoap12" binding="tns:wsMESSoap12">
|
||||
<soap12:address location="http://localhost/ERPws_DSC/wsMES.asmx" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Results>
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://localhost/ERPws_DSC/TIPTOPServiceGateWay.wsdl" filename="TIPTOPServiceGateWay.wsdl" />
|
||||
</Results>
|
||||
</DiscoveryClientResultsFile>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Results>
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://localhost/ERPws_DSC/TIPTOPServiceGateWay_RPC.wsdl" filename="TIPTOPServiceGateWay.wsdl" />
|
||||
</Results>
|
||||
</DiscoveryClientResultsFile>
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,180 @@
|
||||
// ------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 這段程式碼是由工具產生的。
|
||||
// 執行階段版本:4.0.30319.42000
|
||||
//
|
||||
// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
|
||||
// 變更將會遺失。
|
||||
// </auto-generated>
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Web.Services;
|
||||
using System.Web.Services.Protocols;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
|
||||
//
|
||||
// 原始程式碼已由 Microsoft.VSDesigner 自動產生,版本 4.0.30319.42000。
|
||||
//
|
||||
namespace AutoRunLib_C.wsERP_WorkFlow
|
||||
{
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
[WebServiceBinding(Name = "WFMESServiceSoap", Namespace = "http://tempuri.org/")]
|
||||
public partial class WFMESService : SoapHttpClientProtocol
|
||||
{
|
||||
|
||||
private System.Threading.SendOrPostCallback XMLAdapterOperationCompleted;
|
||||
|
||||
private bool useDefaultCredentialsSetExplicitly;
|
||||
|
||||
/// <remarks/>
|
||||
public WFMESService() : base()
|
||||
{
|
||||
Url = My.MySettings.Default.AutoRunLib_wsERP_WorkFlow_WFMESService;
|
||||
if (IsLocalFileSystemWebService(Url) == true)
|
||||
{
|
||||
UseDefaultCredentials = true;
|
||||
useDefaultCredentialsSetExplicitly = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
useDefaultCredentialsSetExplicitly = true;
|
||||
}
|
||||
}
|
||||
|
||||
public new string Url
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.Url;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (IsLocalFileSystemWebService(base.Url) == true && useDefaultCredentialsSetExplicitly == false && IsLocalFileSystemWebService(value) == false)
|
||||
|
||||
{
|
||||
base.UseDefaultCredentials = false;
|
||||
}
|
||||
base.Url = value;
|
||||
}
|
||||
}
|
||||
|
||||
public new bool UseDefaultCredentials
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.UseDefaultCredentials;
|
||||
}
|
||||
set
|
||||
{
|
||||
base.UseDefaultCredentials = value;
|
||||
useDefaultCredentialsSetExplicitly = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public event XMLAdapterCompletedEventHandler XMLAdapterCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
[SoapDocumentMethod("http://tempuri.org/XMLAdapter", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
|
||||
public string XMLAdapter(string sXML)
|
||||
{
|
||||
object[] results = Invoke("XMLAdapter", new object[] { sXML });
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public IAsyncResult BeginXMLAdapter(string sXML, AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return BeginInvoke("XMLAdapter", new object[] { sXML }, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndXMLAdapter(IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = EndInvoke(asyncResult);
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void XMLAdapterAsync(string sXML)
|
||||
{
|
||||
XMLAdapterAsync(sXML, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void XMLAdapterAsync(string sXML, object userState)
|
||||
{
|
||||
if (XMLAdapterOperationCompleted == null)
|
||||
{
|
||||
XMLAdapterOperationCompleted = OnXMLAdapterOperationCompleted;
|
||||
}
|
||||
InvokeAsync("XMLAdapter", new object[] { sXML }, XMLAdapterOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnXMLAdapterOperationCompleted(object arg)
|
||||
{
|
||||
if (XMLAdapterCompleted != null)
|
||||
{
|
||||
InvokeCompletedEventArgs invokeArgs = (InvokeCompletedEventArgs)arg;
|
||||
XMLAdapterCompleted?.Invoke(this, new XMLAdapterCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public new void CancelAsync(object userState)
|
||||
{
|
||||
base.CancelAsync(userState);
|
||||
}
|
||||
|
||||
private bool IsLocalFileSystemWebService(string url)
|
||||
{
|
||||
if (url == null || ReferenceEquals(url, string.Empty))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
var wsUri = new Uri(url);
|
||||
if (wsUri.Port >= 1024 && string.Compare(wsUri.Host, "localHost", StringComparison.OrdinalIgnoreCase) == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
public delegate void XMLAdapterCompletedEventHandler(object sender, XMLAdapterCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCode("System.Web.Services", "4.8.3761.0")]
|
||||
[DebuggerStepThrough()]
|
||||
[DesignerCategory("code")]
|
||||
public partial class XMLAdapterCompletedEventArgs : AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal XMLAdapterCompletedEventArgs(object[] results, Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result
|
||||
{
|
||||
get
|
||||
{
|
||||
RaiseExceptionIfNecessary();
|
||||
return Conversions.ToString(results[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Results>
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://10.40.30.73/WFMES/WFMESService.asmx?wsdl" filename="WFMESService.wsdl" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://10.40.30.73/WFMES/WFMESService.asmx?disco" filename="WFMESService.disco" />
|
||||
</Results>
|
||||
</DiscoveryClientResultsFile>
|
||||
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
|
||||
<contractRef ref="http://10.40.30.73/WFMES/WFMESService.asmx?wsdl" docRef="http://10.40.30.73/WFMES/WFMESService.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
|
||||
<soap address="http://10.40.30.73/WFMES/WFMESService.asmx" xmlns:q1="http://tempuri.org/" binding="q1:WFMESServiceSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
<soap address="http://10.40.30.73/WFMES/WFMESService.asmx" xmlns:q2="http://tempuri.org/" binding="q2:WFMESServiceSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
</discovery>
|
||||
@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
|
||||
<s:element name="XMLAdapter">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="sXML" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="XMLAdapterResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="XMLAdapterResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="string" nillable="true" type="s:string" />
|
||||
</s:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="XMLAdapterSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:XMLAdapter" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="XMLAdapterSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:XMLAdapterResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="XMLAdapterHttpGetIn">
|
||||
<wsdl:part name="sXML" type="s:string" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="XMLAdapterHttpGetOut">
|
||||
<wsdl:part name="Body" element="tns:string" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="XMLAdapterHttpPostIn">
|
||||
<wsdl:part name="sXML" type="s:string" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="XMLAdapterHttpPostOut">
|
||||
<wsdl:part name="Body" element="tns:string" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="WFMESServiceSoap">
|
||||
<wsdl:operation name="XMLAdapter">
|
||||
<wsdl:input message="tns:XMLAdapterSoapIn" />
|
||||
<wsdl:output message="tns:XMLAdapterSoapOut" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:portType name="WFMESServiceHttpGet">
|
||||
<wsdl:operation name="XMLAdapter">
|
||||
<wsdl:input message="tns:XMLAdapterHttpGetIn" />
|
||||
<wsdl:output message="tns:XMLAdapterHttpGetOut" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:portType name="WFMESServiceHttpPost">
|
||||
<wsdl:operation name="XMLAdapter">
|
||||
<wsdl:input message="tns:XMLAdapterHttpPostIn" />
|
||||
<wsdl:output message="tns:XMLAdapterHttpPostOut" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="WFMESServiceSoap" type="tns:WFMESServiceSoap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="XMLAdapter">
|
||||
<soap:operation soapAction="http://tempuri.org/XMLAdapter" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="WFMESServiceSoap12" type="tns:WFMESServiceSoap">
|
||||
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="XMLAdapter">
|
||||
<soap12:operation soapAction="http://tempuri.org/XMLAdapter" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="WFMESServiceHttpGet" type="tns:WFMESServiceHttpGet">
|
||||
<http:binding verb="GET" />
|
||||
<wsdl:operation name="XMLAdapter">
|
||||
<http:operation location="/XMLAdapter" />
|
||||
<wsdl:input>
|
||||
<http:urlEncoded />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<mime:mimeXml part="Body" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="WFMESServiceHttpPost" type="tns:WFMESServiceHttpPost">
|
||||
<http:binding verb="POST" />
|
||||
<wsdl:operation name="XMLAdapter">
|
||||
<http:operation location="/XMLAdapter" />
|
||||
<wsdl:input>
|
||||
<mime:content type="application/x-www-form-urlencoded" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<mime:mimeXml part="Body" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="WFMESService">
|
||||
<wsdl:port name="WFMESServiceSoap" binding="tns:WFMESServiceSoap">
|
||||
<soap:address location="http://10.40.30.73/WFMES/WFMESService.asmx" />
|
||||
</wsdl:port>
|
||||
<wsdl:port name="WFMESServiceSoap12" binding="tns:WFMESServiceSoap12">
|
||||
<soap12:address location="http://10.40.30.73/WFMES/WFMESService.asmx" />
|
||||
</wsdl:port>
|
||||
<wsdl:port name="WFMESServiceHttpGet" binding="tns:WFMESServiceHttpGet">
|
||||
<http:address location="http://10.40.30.73/WFMES/WFMESService.asmx" />
|
||||
</wsdl:port>
|
||||
<wsdl:port name="WFMESServiceHttpPost" binding="tns:WFMESServiceHttpPost">
|
||||
<http:address location="http://10.40.30.73/WFMES/WFMESService.asmx" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Results>
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://localhost/MESws_STD/wsInvoke.asmx?wsdl" filename="wsInvoke.wsdl" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://localhost/MESws_STD/wsInvoke.asmx?disco" filename="wsInvoke.disco" />
|
||||
</Results>
|
||||
</DiscoveryClientResultsFile>
|
||||
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
|
||||
<contractRef ref="http://localhost/MESws_STD/wsInvoke.asmx?wsdl" docRef="http://localhost/MESws_STD/wsInvoke.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
|
||||
<soap address="http://localhost/MESws_STD/wsInvoke.asmx" xmlns:q1="http://www.imestech.com/wsInvoke" binding="q1:wsInvokeSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
<soap address="http://localhost/MESws_STD/wsInvoke.asmx" xmlns:q2="http://www.imestech.com/wsInvoke" binding="q2:wsInvokeSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
</discovery>
|
||||
@ -0,0 +1,847 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.imestech.com/wsInvoke" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://www.imestech.com/wsInvoke" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<s:schema elementFormDefault="qualified" targetNamespace="http://www.imestech.com/wsInvoke">
|
||||
<s:element name="invokeSrv">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfAnyType" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:complexType name="ArrayOfAnyType">
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="unbounded" name="anyType" nillable="true" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
<s:element name="invokeSrvResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrvResult" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_EnableLog">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfAnyType" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="LogOn" type="s:boolean" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_EnableLogResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_EnableLogResult" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Xml">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="inXMl" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_XmlResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_XmlResult" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Xml_Session">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="inXMl" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Xml_SessionResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_Xml_SessionResult" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_DataTableParameter">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfAnyType" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataTable">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax" />
|
||||
<s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_DataTableParameterResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_DataTableParameterResult" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataTable">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax" />
|
||||
<s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_DataTable">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataTable">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax" />
|
||||
<s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_DataTableResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_DataTableResult" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataTable">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax" />
|
||||
<s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_DataSet">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="InXml" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataSet">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element ref="s:schema" />
|
||||
<s:any />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_DataSetResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_DataSetResult" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataSet">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element ref="s:schema" />
|
||||
<s:any />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Session">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfAnyType" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_SessionResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_SessionResult" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Session_json">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="metadata" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="parameter" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Session_jsonResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_Session_jsonResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_json">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="uri" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="content" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_jsonResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_jsonResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Session_plainjson">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="uri" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="content" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Session_plainjsonResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_Session_plainjsonResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_plainjson">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="uri" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="content" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_plainjsonResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_plainjsonResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="Test">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="UserNo" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="TestResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="TestResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invoke_SignalR">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="mseContent" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invoke_SignalRResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invoke_SignalRResult" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Module">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfAnyType" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pInvokeType" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pLogKeyFields" type="tns:ArrayOfString" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="blnLogOn" type="s:boolean" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:complexType name="ArrayOfString">
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
<s:element name="invokeSrv_ModuleResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_ModuleResult" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfAnyType" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Module_DataSet">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="method" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfAnyType" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pInvokeType" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pLogKeyFields" type="tns:ArrayOfString" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="blnLogOn" type="s:boolean" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataSet">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element ref="s:schema" />
|
||||
<s:any />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="invokeSrv_Module_DataSetResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="invokeSrv_Module_DataSetResult" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfAnyType" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="pDataSet">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element ref="s:schema" />
|
||||
<s:any />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="Invoke_GuardServer_Process">
|
||||
<s:complexType />
|
||||
</s:element>
|
||||
<s:element name="Invoke_GuardServer_ProcessResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="Invoke_GuardServer_ProcessResult" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="invokeSrvSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrvSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrvResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_EnableLogSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_EnableLog" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_EnableLogSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_EnableLogResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_XmlSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Xml" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_XmlSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_XmlResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_Xml_SessionSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Xml_Session" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_Xml_SessionSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Xml_SessionResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_DataTableParameterSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_DataTableParameter" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_DataTableParameterSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_DataTableParameterResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_DataTableSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_DataTable" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_DataTableSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_DataTableResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_DataSetSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_DataSet" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_DataSetSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_DataSetResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_SessionSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Session" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_SessionSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_SessionResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_Session_jsonSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Session_json" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_Session_jsonSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Session_jsonResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_jsonSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_json" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_jsonSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_jsonResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_Session_plainjsonSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Session_plainjson" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_Session_plainjsonSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Session_plainjsonResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_plainjsonSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_plainjson" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_plainjsonSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_plainjsonResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="TestSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:Test" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="TestSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:TestResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invoke_SignalRSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invoke_SignalR" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invoke_SignalRSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invoke_SignalRResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_ModuleSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Module" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_ModuleSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_ModuleResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_Module_DataSetSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Module_DataSet" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="invokeSrv_Module_DataSetSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:invokeSrv_Module_DataSetResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="Invoke_GuardServer_ProcessSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:Invoke_GuardServer_Process" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="Invoke_GuardServer_ProcessSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:Invoke_GuardServer_ProcessResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="wsInvokeSoap">
|
||||
<wsdl:operation name="invokeSrv">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke with objects and Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrvSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrvSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_EnableLog">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke with objects and Return XML, And Enable Performance Log</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_EnableLogSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_EnableLogSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Xml">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke with Xml String and Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_XmlSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_XmlSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Xml_Session">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">EnableSession, Invoke with Xml String and Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_Xml_SessionSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_Xml_SessionSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataTableParameter">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke with DataTable and Object Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_DataTableParameterSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_DataTableParameterSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataTable">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke with DataTable and Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_DataTableSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_DataTableSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataSet">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke with DataSet and Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_DataSetSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_DataSetSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Session">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">EnableSession, Invoke and Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_SessionSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_SessionSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Session_json">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">EnableSession, Invoke Web Service Resolved json</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_Session_jsonSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_Session_jsonSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_json">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke Web Service Resolved json</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_jsonSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_jsonSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Session_plainjson">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">EnableSession, Invoke Web Service Resolved json</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_Session_plainjsonSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_Session_plainjsonSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_plainjson">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke Web Service Resolved json</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_plainjsonSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_plainjsonSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Test">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Web service and database connection test</wsdl:documentation>
|
||||
<wsdl:input message="tns:TestSoapIn" />
|
||||
<wsdl:output message="tns:TestSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invoke_SignalR">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Call SignalR, Invoke and Return XML</wsdl:documentation>
|
||||
<wsdl:input message="tns:invoke_SignalRSoapIn" />
|
||||
<wsdl:output message="tns:invoke_SignalRSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Module">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke Module with InXml</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_ModuleSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_ModuleSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Module_DataSet">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invoke Module with InXml and DataSet Parameter</wsdl:documentation>
|
||||
<wsdl:input message="tns:invokeSrv_Module_DataSetSoapIn" />
|
||||
<wsdl:output message="tns:invokeSrv_Module_DataSetSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Invoke_GuardServer_Process">
|
||||
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">return hysical directory</wsdl:documentation>
|
||||
<wsdl:input message="tns:Invoke_GuardServer_ProcessSoapIn" />
|
||||
<wsdl:output message="tns:Invoke_GuardServer_ProcessSoapOut" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="wsInvokeSoap" type="tns:wsInvokeSoap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="invokeSrv">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_EnableLog">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_EnableLog" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Xml">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Xml" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Xml_Session">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Xml_Session" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataTableParameter">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_DataTableParameter" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataTable">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_DataTable" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataSet">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_DataSet" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Session">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Session" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Session_json">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Session_json" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_json">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_json" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Session_plainjson">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Session_plainjson" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_plainjson">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_plainjson" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Test">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/Test" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invoke_SignalR">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invoke_SignalR" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Module">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Module" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Module_DataSet">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Module_DataSet" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Invoke_GuardServer_Process">
|
||||
<soap:operation soapAction="http://www.imestech.com/wsInvoke/Invoke_GuardServer_Process" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="wsInvokeSoap12" type="tns:wsInvokeSoap">
|
||||
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="invokeSrv">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_EnableLog">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_EnableLog" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Xml">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Xml" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Xml_Session">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Xml_Session" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataTableParameter">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_DataTableParameter" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataTable">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_DataTable" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_DataSet">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_DataSet" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Session">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Session" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Session_json">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Session_json" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_json">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_json" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Session_plainjson">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Session_plainjson" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_plainjson">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_plainjson" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Test">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/Test" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invoke_SignalR">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invoke_SignalR" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Module">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Module" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="invokeSrv_Module_DataSet">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/invokeSrv_Module_DataSet" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Invoke_GuardServer_Process">
|
||||
<soap12:operation soapAction="http://www.imestech.com/wsInvoke/Invoke_GuardServer_Process" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="wsInvoke">
|
||||
<wsdl:port name="wsInvokeSoap" binding="tns:wsInvokeSoap">
|
||||
<soap:address location="http://localhost/MESws_STD/wsInvoke.asmx" />
|
||||
</wsdl:port>
|
||||
<wsdl:port name="wsInvokeSoap12" binding="tns:wsInvokeSoap12">
|
||||
<soap12:address location="http://localhost/MESws_STD/wsInvoke.asmx" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
||||
35
SRC/MESAgent/MESAutoRun/AutoRunLib/app.config
Normal file
35
SRC/MESAgent/MESAutoRun/AutoRunLib/app.config
Normal file
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="AutoRunLib_C.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<appSettings>
|
||||
|
||||
</appSettings>
|
||||
<applicationSettings>
|
||||
<AutoRunLib_C.My.MySettings>
|
||||
<setting name="AutoRunLib_wsERP_MES_wsMES" serializeAs="String">
|
||||
<value>http://localhost/ERPws_DSC/wsMES.asmx</value>
|
||||
</setting>
|
||||
<setting name="AutoRunLib_wsERP_TP_TIPTOPServiceGateWay" serializeAs="String">
|
||||
<value>http://10.40.40.30/gas/ws/r/aws_ttsrv2_top2o</value>
|
||||
</setting>
|
||||
<setting name="AutoRunLib_wsERP_TP_RPC_TIPTOPServiceGateWay"
|
||||
serializeAs="String">
|
||||
<value>http://218.211.164.212:8082/ws/r/aws_ttsrv2_top3o</value>
|
||||
</setting>
|
||||
<setting name="AutoRunLib_wsERP_EAI_IntegrationEntry" serializeAs="String">
|
||||
<value>http://10.40.41.197:9999/IntegrationEntry</value>
|
||||
</setting>
|
||||
<setting name="AutoRunLib_wsInvoke_wsInvoke" serializeAs="String">
|
||||
<value>http://localhost/MESws_STD/wsInvoke.asmx</value>
|
||||
</setting>
|
||||
<setting name="AutoRunLib_wsERP_WorkFlow_WFMESService" serializeAs="String">
|
||||
<value>http://10.40.30.73/WFMES/WFMESService.asmx</value>
|
||||
</setting>
|
||||
</AutoRunLib_C.My.MySettings>
|
||||
</applicationSettings>
|
||||
</configuration>
|
||||
1189
SRC/MESAgent/MESAutoRun/AutoRunLib/clsAutoRunLibrary.cs
Normal file
1189
SRC/MESAgent/MESAutoRun/AutoRunLib/clsAutoRunLibrary.cs
Normal file
File diff suppressed because it is too large
Load Diff
712
SRC/MESAgent/MESAutoRun/AutoRunLib/modAutoRunLibrary.cs
Normal file
712
SRC/MESAgent/MESAutoRun/AutoRunLib/modAutoRunLibrary.cs
Normal file
@ -0,0 +1,712 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Resources;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using static iMESCore.Base.iMESComXML;
|
||||
using static iMESCore.Base.iMESConst;
|
||||
|
||||
namespace AutoRunLib_C
|
||||
{
|
||||
|
||||
static class modAutoRunLibrary
|
||||
{
|
||||
public enum GroupType
|
||||
{
|
||||
UserGroup = 0, // 使用者群組
|
||||
IssueGroup = 1, // 簽核群組
|
||||
EquipmentGroup = 2, // 設備工程師群組
|
||||
InventoryGroup = 3, // 庫房工程師群組
|
||||
ReportGroup = 4, // 報表使用群組
|
||||
ERFDispositionGroup = 5, // 異常處理群組
|
||||
ERFMailccGroup = 6 // 附件收件人群組
|
||||
}
|
||||
|
||||
private static string InXml, OutXml, strIdentity, strParameter, XmlData, XmlSchema;
|
||||
|
||||
|
||||
#region Invoke
|
||||
|
||||
/// <summary>
|
||||
/// 叫用Web Service, 並回傳Response XML
|
||||
/// </summary>
|
||||
/// <param name="Method">要呼叫哪一個WebService的方法, ex: wsWIP.LoadLotBasis</param>
|
||||
/// <param name="InXml">InXml</param>
|
||||
/// <param name="Customize">是否客製的WebService</param>
|
||||
/// <returns></returns>
|
||||
/// <remarks>
|
||||
/// 2019/08/22 OwenLiu, Mantis:0061402, 修正WS加上CI/CO執行時間紀錄 運作邏輯後AutoRun Servive呼叫WS失敗的問題
|
||||
/// </remarks>
|
||||
public static string InvokeSrv(string Method, string InXml, bool Customize = false, int TimeOut = defInteger, bool LogOn = false)
|
||||
{
|
||||
|
||||
object result;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var ws = new wsInvoke.wsInvoke())
|
||||
{
|
||||
ws.Url = modWIN.LocalizeWebService(ws.Url.ToString(), Customize);
|
||||
ws.EnableDecompression = true;
|
||||
|
||||
if (TimeOut != defInteger)
|
||||
{
|
||||
ws.Timeout = TimeOut;
|
||||
}
|
||||
|
||||
result = ws.invokeSrv(Method, new object[] { InXml, LogOn });
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return Conversions.ToString(result);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 叫用Web Service, 回傳Response XML
|
||||
/// </summary>
|
||||
/// <param name="Method">要呼叫哪一個WebService的方法, ex: wsWIP.LoadLotBasis</param>
|
||||
/// <param name="InXml">InXml</param>
|
||||
/// <param name="buffer">用來取回byte資料或傳入byte資料</param>
|
||||
/// <param name="Customize">是否客製的WebService</param>
|
||||
/// <remarks>
|
||||
/// 2019/08/22 OwenLiu, Mantis:0061402, 修正WS加上CI/CO執行時間紀錄 運作邏輯後AutoRun Servive呼叫WS失敗的問題
|
||||
/// </remarks>
|
||||
public static string InvokeSrv(string Method, string InXml, byte[] buffer, bool Customize = false, int TimeOut = defInteger, bool LogOn = false)
|
||||
{
|
||||
|
||||
object result;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var ws = new wsInvoke.wsInvoke())
|
||||
{
|
||||
ws.Url = modWIN.LocalizeWebService(ws.Url.ToString(), Customize);
|
||||
ws.EnableDecompression = true;
|
||||
|
||||
if (TimeOut != defInteger)
|
||||
{
|
||||
ws.Timeout = TimeOut;
|
||||
}
|
||||
|
||||
result = ws.invokeSrv(Method, new object[] { InXml, buffer, LogOn });
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return Conversions.ToString(result);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 叫用Web Service, 並回傳Response XML
|
||||
/// </summary>
|
||||
/// <param name="Method">要呼叫哪一個WebService的方法, ex: wsWIP.LoadLotBasis</param>
|
||||
/// <param name="InXml">InXml</param>
|
||||
/// <param name="pDataSet">接收結果的DataSet</param>
|
||||
/// <param name="Customize">是否客製的WebService</param>
|
||||
/// <returns></returns>
|
||||
public static string InvokeSrv(string Method, string InXml, ref DataSet pDataSet, bool Customize = false)
|
||||
{
|
||||
|
||||
object result;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var ws = new wsInvoke.wsInvoke())
|
||||
{
|
||||
ws.Url = modWIN.LocalizeWebService(ws.Url.ToString(), Customize);
|
||||
ws.EnableDecompression = true;
|
||||
result = ws.invokeSrv_DataSet(Method, InXml, ref pDataSet);
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return Conversions.ToString(result);
|
||||
|
||||
}
|
||||
|
||||
public static string InvokeSrv_GuardServer(bool Customize = false)
|
||||
{
|
||||
object result;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
using (var ws = new wsInvoke.wsInvoke())
|
||||
{
|
||||
ws.Url = modWIN.LocalizeWebService(ws.Url.ToString(), Customize);
|
||||
ws.EnableDecompression = true;
|
||||
result = ws.Invoke_GuardServer_Process();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return Conversions.ToString(result);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// EAI 檢核編碼(MD5)
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
public static string GetRequestKey(string input)
|
||||
{
|
||||
|
||||
const string ID = "28682266"; // 鼎新統編
|
||||
|
||||
string key = "";
|
||||
var md5Hasher = MD5.Create(); // 建立MD5物件
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
input += ID;
|
||||
|
||||
// 將input轉換成MD5,並且以Bytes傳回,由於ComputeHash只接受Bytes型別參數,所以要先轉型別為Bytes
|
||||
byte[] data = md5Hasher.ComputeHash(Encoding.UTF8.GetBytes(input));
|
||||
|
||||
// 建立StringBuilder物件
|
||||
var sb = new StringBuilder();
|
||||
|
||||
// 將Bytes轉型別為String,並且以16進位存放
|
||||
for (int i = 0, loopTo = data.Length - 1; i <= loopTo; i++)
|
||||
sb.Append(data[i].ToString("x2"));
|
||||
|
||||
key = sb.ToString();
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
md5Hasher = null;
|
||||
}
|
||||
|
||||
return key;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 紀錄Transaction
|
||||
/// </summary>
|
||||
/// <param name="InXml"></param>
|
||||
/// <param name="OutXml"></param>
|
||||
/// <param name="ModuleID"></param>
|
||||
/// <param name="FunctionID"></param>
|
||||
/// <param name="Result"></param>
|
||||
/// <param name="KeyValue"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
public static bool addTransactionLog(string InXml, string OutXml, string TransactionID, string ModuleID, string FunctionID, string ComputerName, string CurUserNo, string SendTime, string Result, string KeyValue, string ExceptionFun, string strException = null)
|
||||
{
|
||||
bool addTransactionLogRet = default(bool);
|
||||
try
|
||||
{
|
||||
using (var wsERP = new wsERP_MES.wsMES())
|
||||
{
|
||||
wsERP.Url = modWIN.LocalizeWebService_ERP(wsERP.Url.ToString());
|
||||
wsERP.EnableDecompression = true;
|
||||
if (wsERP.addTransactionLog(InXml, OutXml, TransactionID, ModuleID, FunctionID, ComputerName, CurUserNo, SendTime, Result, KeyValue, ExceptionFun, ref strException) == true)
|
||||
{
|
||||
addTransactionLogRet = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
addTransactionLogRet = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
addTransactionLogRet = false;
|
||||
}
|
||||
|
||||
return addTransactionLogRet;
|
||||
}
|
||||
/// <summary>
|
||||
/// 紀錄Transaction
|
||||
/// </summary>
|
||||
public static bool addTransactionLog_ErrorCode(string InXml, string OutXml, string TransactionID, string ModuleID, string FunctionID, string ComputerName, string CurUserNo, string SendTime, string Result, string KeyValue, string ExceptionFun, string strException = null, string ErrorCode = "0000-999999", string LogClass = null)
|
||||
{
|
||||
bool addTransactionLog_ErrorCodeRet = default(bool);
|
||||
try
|
||||
{
|
||||
using (var wsERP = new wsERP_MES.wsMES())
|
||||
{
|
||||
wsERP.Url = modWIN.LocalizeWebService_ERP(wsERP.Url.ToString());
|
||||
wsERP.EnableDecompression = true;
|
||||
if (wsERP.addTransactionLog_ErrorCode(InXml, OutXml, TransactionID, ModuleID, FunctionID, ComputerName, CurUserNo, SendTime, Result, KeyValue, ExceptionFun, ref strException, ErrorCode, LogClass) == true)
|
||||
{
|
||||
addTransactionLog_ErrorCodeRet = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
addTransactionLog_ErrorCodeRet = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
addTransactionLog_ErrorCodeRet = false;
|
||||
}
|
||||
|
||||
return addTransactionLog_ErrorCodeRet;
|
||||
}
|
||||
|
||||
|
||||
// =====Elvis ,0091128: [605][CP+FT] E10ICD整合問題_AutoRun主檔拋轉的ERP交易紀錄exception時紀錄不正確
|
||||
#region --- Combine (Exception, Message) ---
|
||||
|
||||
public static bool ChgTranslateException(ref List<ArrayList> Exception, ref string strExceptionSysmsg, ref string strExceptionMesmsg, ref string strExceptionStack)
|
||||
{
|
||||
bool ChgTranslateExceptionRet = default(bool);
|
||||
|
||||
try
|
||||
{
|
||||
foreach (ArrayList al in Exception)
|
||||
{
|
||||
// If strExceptionSysmsg <> String.Empty Then strExceptionSysmsg += Chr(10)
|
||||
if (string.IsNullOrEmpty(Conversions.ToString(al[1])) == false)
|
||||
strExceptionSysmsg += al[1].ToString();
|
||||
// If String.IsNullOrEmpty(strExceptionMesmsg) = False Then strExceptionMesmsg += Chr(10)
|
||||
if (string.IsNullOrEmpty(Conversions.ToString(al[2])) == false)
|
||||
{
|
||||
// 翻譯錯誤訊息
|
||||
string strErrName_Rep = "";
|
||||
string ErrorName = al[2].ToString();
|
||||
if (Strings.InStr(ErrorName, "[%", CompareMethod.Text) > 0)
|
||||
{
|
||||
string strKey, strKeyValue;
|
||||
int intStart, j, k, l;
|
||||
|
||||
intStart = 1;
|
||||
j = 1;
|
||||
|
||||
while (j != 0)
|
||||
{
|
||||
j = Strings.InStr(intStart, ErrorName, "[%", CompareMethod.Text);
|
||||
if (j == 0)
|
||||
{
|
||||
strErrName_Rep += Strings.Mid(ErrorName, intStart);
|
||||
}
|
||||
else
|
||||
{
|
||||
k = Strings.InStr(j + 2, ErrorName, "%]", CompareMethod.Text);
|
||||
if (k == 0)
|
||||
{
|
||||
// 找不到對應的結束字元.
|
||||
strErrName_Rep += Strings.Mid(ErrorName, intStart);
|
||||
j = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 檢查是否有不對稱的情況.
|
||||
l = Strings.InStr(j + 2, ErrorName, "[%", CompareMethod.Text);
|
||||
if (l == 0 || l > k)
|
||||
{
|
||||
strErrName_Rep += Strings.Mid(ErrorName, intStart, j - intStart);
|
||||
strKey = Strings.Mid(ErrorName, j + 2, k - j - 2);
|
||||
// 將Key執行語系轉換
|
||||
try
|
||||
{
|
||||
strKeyValue = "";
|
||||
}
|
||||
// strKeyValue = Resources.Resource.ResourceManager.GetString(strKey)
|
||||
catch (Exception ex)
|
||||
{
|
||||
strKeyValue = strKey;
|
||||
}
|
||||
if (string.IsNullOrEmpty(strKeyValue))
|
||||
{
|
||||
strErrName_Rep += strKey;
|
||||
}
|
||||
else
|
||||
{
|
||||
strErrName_Rep += strKeyValue;
|
||||
} // & "(" & strKey & ")"
|
||||
// 下次截取字串的起始位置
|
||||
intStart = k + 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 不對稱,找到最內層的[%%]
|
||||
int m;
|
||||
// 在前面的條件下,一定找得到.
|
||||
m = Strings.InStrRev(ErrorName, "[%", k, CompareMethod.Text);
|
||||
// 擷出不轉換的字串.
|
||||
strErrName_Rep += Strings.Mid(ErrorName, intStart, m - intStart);
|
||||
strKey = Strings.Mid(ErrorName, m + 2, k - m - 2);
|
||||
// 將Key執行語系轉換
|
||||
try
|
||||
{
|
||||
strKeyValue = "";
|
||||
}
|
||||
// strKeyValue = Resources.Resource.ResourceManager.GetString(strKey)
|
||||
catch (Exception ex)
|
||||
{
|
||||
strKeyValue = strKey;
|
||||
}
|
||||
if (string.IsNullOrEmpty(strKeyValue))
|
||||
{
|
||||
strErrName_Rep += strKey;
|
||||
}
|
||||
else
|
||||
{
|
||||
strErrName_Rep += strKeyValue;
|
||||
} // & "(" & strKey & ")"
|
||||
// 下次截取字串的起始位置
|
||||
intStart = k + 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// strExceptionMesmsg += Chr(9) & Chr(9) & Chr(9) & Resources.Resource.ResourceManager.GetString(al.Item(2).ToString) & "(" & al.Item(2).ToString & ")"
|
||||
strExceptionMesmsg += strErrName_Rep;
|
||||
}
|
||||
|
||||
// If strExceptionStack <> String.Empty Then strExceptionStack += Chr(10)
|
||||
if (string.IsNullOrEmpty(Conversions.ToString(al[3])) == false)
|
||||
strExceptionStack += al[3].ToString();
|
||||
}
|
||||
|
||||
ChgTranslateExceptionRet = true;
|
||||
}
|
||||
|
||||
catch (Exception e1)
|
||||
{
|
||||
throw;
|
||||
ChgTranslateExceptionRet = false;
|
||||
}
|
||||
|
||||
return ChgTranslateExceptionRet;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static string CombineXMLResponse(string Identity, string ReturnValue = null, List<ArrayList> Exception = null, string Result = null, List<ArrayList> Message = null)
|
||||
{
|
||||
string CombineXMLResponseRet = default(string);
|
||||
|
||||
try
|
||||
{
|
||||
// <response>
|
||||
CombineXMLResponseRet = "<response>";
|
||||
|
||||
// <identity>
|
||||
if (string.IsNullOrEmpty(Identity))
|
||||
{
|
||||
CombineXMLResponseRet += "<identity></identity>";
|
||||
}
|
||||
else
|
||||
{
|
||||
CombineXMLResponseRet += "<identity>";
|
||||
CombineXMLResponseRet += Identity;
|
||||
CombineXMLResponseRet += "</identity>";
|
||||
}
|
||||
|
||||
// <returnvalue>
|
||||
if (string.IsNullOrEmpty(ReturnValue))
|
||||
{
|
||||
CombineXMLResponseRet += "<returnvalue></returnvalue>";
|
||||
}
|
||||
else
|
||||
{
|
||||
CombineXMLResponseRet += "<returnvalue>";
|
||||
CombineXMLResponseRet += ReturnValue;
|
||||
CombineXMLResponseRet += "</returnvalue>";
|
||||
}
|
||||
|
||||
// <result>
|
||||
if (string.IsNullOrEmpty(Result))
|
||||
{
|
||||
CombineXMLResponseRet += "<result></result>";
|
||||
}
|
||||
else
|
||||
{
|
||||
CombineXMLResponseRet += "<result>" + Result + "</result>";
|
||||
}
|
||||
|
||||
// <exception>
|
||||
string strExceptionSysmsg = string.Empty;
|
||||
string strExceptionMesmsg = string.Empty;
|
||||
string strExceptionStack = string.Empty;
|
||||
|
||||
if (Exception.Count == 0)
|
||||
{
|
||||
CombineXMLResponseRet += "<exception></exception>";
|
||||
}
|
||||
else
|
||||
{
|
||||
// 2016-12-01, Joe, Exception轉語系
|
||||
ChgTranslateException(ref Exception, ref strExceptionSysmsg, ref strExceptionMesmsg, ref strExceptionStack);
|
||||
|
||||
CombineXMLResponseRet += "<exception>";
|
||||
CombineXMLResponseRet += "<code></code>";
|
||||
if (string.IsNullOrEmpty(strExceptionSysmsg) == true)
|
||||
{
|
||||
CombineXMLResponseRet += "<sysmsg></sysmsg>";
|
||||
}
|
||||
else
|
||||
{
|
||||
CombineXMLResponseRet += "<sysmsg>" + strExceptionSysmsg + '\n' + "</sysmsg>" + '\n';
|
||||
}
|
||||
if (string.IsNullOrEmpty(strExceptionMesmsg) == true)
|
||||
{
|
||||
CombineXMLResponseRet += "<mesmsg>" + strExceptionMesmsg + "</mesmsg>" + '\n';
|
||||
}
|
||||
else
|
||||
{
|
||||
CombineXMLResponseRet += "<mesmsg>" + strExceptionMesmsg + "</mesmsg>" + '\n';
|
||||
}
|
||||
if (string.IsNullOrEmpty(strExceptionStack))
|
||||
{
|
||||
CombineXMLResponseRet += "<stack></stack>";
|
||||
}
|
||||
else
|
||||
{
|
||||
// CombineXMLResponse += Chr(9) & Chr(9) & "<stack>" & Chr(10) & strExceptionStack & Chr(10) & Chr(9) & Chr(9) & "</stack>" & Chr(10)
|
||||
CombineXMLResponseRet += "<stack></stack>";
|
||||
}
|
||||
CombineXMLResponseRet += '\t' + "</exception>" + '\n';
|
||||
}
|
||||
|
||||
// <message>
|
||||
string strMmsg = string.Empty;
|
||||
|
||||
if (Message.Count == 0)
|
||||
{
|
||||
CombineXMLResponseRet += '\t' + "<message></message>" + '\n';
|
||||
}
|
||||
else
|
||||
{
|
||||
CombineXMLResponseRet += '\t' + "<message>" + '\n';
|
||||
// 2016-12-01, Joe, Message轉語系
|
||||
// Call ChgTranslateMessage(Message, strMmsg)
|
||||
|
||||
CombineXMLResponseRet += Conversions.ToString('\t') + '\t' + "<mcode></mcode>" + '\n';
|
||||
CombineXMLResponseRet += Conversions.ToString('\t') + '\t' + "<mtype></mtype>" + '\n';
|
||||
CombineXMLResponseRet += Conversions.ToString('\t') + '\t' + "<mmsg>" + strMmsg + "</mmsg>" + '\n';
|
||||
CombineXMLResponseRet += '\t' + "</message>" + '\n';
|
||||
}
|
||||
|
||||
CombineXMLResponseRet += "</response>" + '\n';
|
||||
}
|
||||
|
||||
catch (Exception e1)
|
||||
{
|
||||
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
|
||||
// Throw 'New Exception("modWS.CombineXMLResponse: " & e1.Message)
|
||||
CombineXMLResponseRet = "<response>" + '\n';
|
||||
CombineXMLResponseRet += '\t' + "<identity></identity>" + '\n';
|
||||
CombineXMLResponseRet += '\t' + "<exception>" + '\n';
|
||||
CombineXMLResponseRet += Conversions.ToString('\t') + '\t' + "<code></code>" + '\n';
|
||||
CombineXMLResponseRet += Conversions.ToString('\t') + '\t' + "<sysmsg>" + '\n';
|
||||
CombineXMLResponseRet += Conversions.ToString('\t') + '\t' + '\t' + e1.Message + '\n';
|
||||
CombineXMLResponseRet += Conversions.ToString('\t') + '\t' + "</sysmsg>" + '\n';
|
||||
CombineXMLResponseRet += Conversions.ToString('\t') + '\t' + "<mesmsg>" + '\n';
|
||||
CombineXMLResponseRet += Conversions.ToString('\t') + '\t' + '\t' + "CombineXMLResponse;Fail" + '\n';
|
||||
CombineXMLResponseRet += Conversions.ToString('\t') + '\t' + "</mesmsg>" + '\n';
|
||||
CombineXMLResponseRet += Conversions.ToString('\t') + '\t' + "<stack>" + '\n';
|
||||
CombineXMLResponseRet += e1.StackTrace + '\n';
|
||||
CombineXMLResponseRet += Conversions.ToString('\t') + '\t' + "</stack>" + '\n';
|
||||
CombineXMLResponseRet += '\t' + "</exception>" + '\n';
|
||||
CombineXMLResponseRet += '\t' + "<message></message>" + '\n';
|
||||
CombineXMLResponseRet += "</response>";
|
||||
}
|
||||
|
||||
return CombineXMLResponseRet;
|
||||
|
||||
}
|
||||
|
||||
public static bool combineException(ref List<ArrayList> arrException, string code = null, string sysmsg = null, string mesmsg = null, string stack = null)
|
||||
{
|
||||
bool result = false;
|
||||
try
|
||||
{
|
||||
var al = new ArrayList();
|
||||
|
||||
al.Add(code);
|
||||
al.Add(sysmsg);
|
||||
al.Add(mesmsg);
|
||||
al.Add(stack);
|
||||
arrException.Add(al);
|
||||
result = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
|
||||
return default(Boolean);
|
||||
|
||||
}
|
||||
|
||||
// Public Function combineMessage(
|
||||
// ByRef strMessage As List(Of ArrayList),
|
||||
// Optional ByVal mcode As String = Nothing,
|
||||
// Optional ByVal mtype As String = Nothing,
|
||||
// Optional ByVal mmsg As String = Nothing
|
||||
// ) As Boolean
|
||||
// Dim result As Boolean = False
|
||||
// Try
|
||||
// Dim al As New ArrayList
|
||||
// al.Add(mcode)
|
||||
// al.Add(mtype)
|
||||
// al.Add(mmsg)
|
||||
// strMessage.Add(al)
|
||||
// result = True
|
||||
// Catch ex As Exception
|
||||
// result = False
|
||||
// End Try
|
||||
// End Function
|
||||
|
||||
#endregion
|
||||
// =====
|
||||
|
||||
// 發Mail功能 非群組與群組發送
|
||||
public static string SendMultiEmail(ref string FileName, ref string EmailSubject, string EmailBody = defString, string GroupNo = defString, byte[] AttachFile = null, GroupType GroupType = GroupType.UserGroup)
|
||||
{
|
||||
string SendMultiEmailRet = default(string);
|
||||
// GroupType
|
||||
// 0:User Group (使用者群組)
|
||||
// 1:Issue Group (簽核群組)
|
||||
// 2:Equipment Group(設備工程師群組)
|
||||
// 3:Inventory Group(庫房工程師群組)
|
||||
// 4:Report Group(報表使用群組)
|
||||
// 5:ERF Disposition Group(異常處理群組)
|
||||
// 6:ERF Mail ccGroup(附件收件人群組)
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
strIdentity = CombineXMLIdentity(modWIN.gComputerName, "AUTORUN", DateTime.Now.ToString());
|
||||
strParameter = CombineXMLParameter("groupno", "GroupNo", "String", CInput(GroupNo), "");
|
||||
strParameter = strParameter + CombineXMLParameter("emailsubject", "EmailSubject", "String", EmailSubject, "");
|
||||
strParameter = strParameter + CombineXMLParameter("emailbody", "EmailBody", "String", EmailBody, "");
|
||||
strParameter = strParameter + CombineXMLParameter("grouptype", "GroupType", "Integer", GroupType.ToString(), "");
|
||||
strParameter = strParameter + CombineXMLParameter("attachfilename", "AttachFileName", "String", FileName, "");
|
||||
|
||||
var XmlDoc = new XmlDocument();
|
||||
|
||||
InXml = CombineXMLRequest(strIdentity, strParameter);
|
||||
|
||||
// OutXml = wsWIP.SendEmailAndAttachFileToGroup(InXml, AttachFile)
|
||||
OutXml = InvokeSrv("wsWIP.SendEmailAndAttachFileToGroup", InXml, AttachFile);
|
||||
|
||||
XmlDoc.LoadXml(OutXml);
|
||||
|
||||
if (chkExecutionSuccess(XmlDoc)) // 找出Exception訊並顯示出來
|
||||
{
|
||||
SendMultiEmailRet = "success";
|
||||
}
|
||||
else
|
||||
{
|
||||
SendMultiEmailRet = "fail";
|
||||
}
|
||||
|
||||
XmlDoc = null;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
SendMultiEmailRet = "fail;" + ex.Message;
|
||||
}
|
||||
|
||||
return SendMultiEmailRet;
|
||||
|
||||
}
|
||||
|
||||
#region --- 數值查核 ---
|
||||
|
||||
public static bool funChkNumericIsValid(string pSourceText, bool AllowFloat = true, bool AllowContainsDot = true, bool AllowZeroValue = true, bool AllowMinus = true)
|
||||
{
|
||||
|
||||
bool blnExecResult = false;
|
||||
decimal decInputValue = 0m;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
if (!Information.IsNumeric(pSourceText))
|
||||
{
|
||||
blnExecResult = false;
|
||||
return blnExecResult;
|
||||
}
|
||||
decInputValue = Convert.ToDecimal(pSourceText);
|
||||
|
||||
if (!AllowMinus && decInputValue < 0m)
|
||||
{
|
||||
blnExecResult = false;
|
||||
return blnExecResult;
|
||||
}
|
||||
if (!AllowZeroValue && decInputValue == 0m)
|
||||
{
|
||||
blnExecResult = false;
|
||||
return blnExecResult;
|
||||
}
|
||||
if (!AllowFloat)
|
||||
{
|
||||
if (decInputValue % 1m > 0m)
|
||||
{
|
||||
blnExecResult = false;
|
||||
return blnExecResult;
|
||||
}
|
||||
}
|
||||
|
||||
if (!AllowContainsDot && !pSourceText.IndexOf(".").Equals(-1))
|
||||
{
|
||||
blnExecResult = false;
|
||||
return blnExecResult;
|
||||
}
|
||||
|
||||
blnExecResult = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return blnExecResult;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
225
SRC/MESAgent/MESAutoRun/AutoRunLib/modWIN.cs
Normal file
225
SRC/MESAgent/MESAutoRun/AutoRunLib/modWIN.cs
Normal file
@ -0,0 +1,225 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using static System.Configuration.ConfigurationSettings;
|
||||
using System.Data;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Xml;
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
|
||||
namespace AutoRunLib_C
|
||||
{
|
||||
|
||||
static class modWIN
|
||||
{
|
||||
|
||||
// ReviseDate : 2003/08/07,修改處理AdditionalXML
|
||||
// ReviseDate : 2003/08/05,新增Public gReturnArray
|
||||
// ReviseDate : 2003/07/01,更改AddFlow產生的Error(CInput)
|
||||
// ReviseDate : 2002/11/04,新增CUnInput function
|
||||
|
||||
public static string gComputerName = System.Environment.MachineName;
|
||||
public static string gUserNo = "AUTService";
|
||||
public static string gMESWebServiceHost = GetAppSettings("MesWebServiceHost");
|
||||
public static string gCUSWebServiceHost = GetAppSettings("CusWebServiceHost");
|
||||
public static string gERPWebServiceHost = GetAppSettings("ERPWebServiceHost");
|
||||
public static string gLanguageMode = GetAppSettings("LanguageMode");
|
||||
|
||||
// Add By Peter 2005/6/20
|
||||
public static string gSettingMode = "";
|
||||
|
||||
|
||||
public static string PasswordEncoding(ref string Password)
|
||||
{
|
||||
string PasswordEncodingRet = default(string);
|
||||
// 此 Function 將傳入值加以編碼後傳出,編碼後長度不變
|
||||
// 傳入值: 密碼
|
||||
// 傳回值: 編碼後密碼
|
||||
|
||||
// Vernam密碼是由Gilbert Vernam在1918年發明的
|
||||
string g_Key = "xNDFz6LH67LOv7xKbWFpbMu1wejrM7SzvV4tLRvq3X47m708O1xMHLoaMNCqGhoaEN";
|
||||
string strChar, iCryptChar, strEncrypted = default(string);
|
||||
int i, iKeyChar, iStringChar;
|
||||
|
||||
var loopTo = Strings.Len(Password);
|
||||
for (i = 1; i <= loopTo; i++)
|
||||
{
|
||||
iKeyChar = Strings.Asc(Strings.Mid(g_Key, i, 1));
|
||||
iStringChar = Strings.Asc(Strings.Mid(Password, i, 1));
|
||||
iCryptChar = (iKeyChar ^ iStringChar).ToString();
|
||||
strEncrypted = strEncrypted + Strings.Chr(Conversions.ToInteger(iCryptChar));
|
||||
}
|
||||
|
||||
PasswordEncodingRet = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(strEncrypted));
|
||||
return PasswordEncodingRet;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 2017-06-05, Joe, 依XML標準定義轉換特殊字元
|
||||
public static string CInputWithXMLStandard(ref string strInput)
|
||||
{
|
||||
string CInputWithXMLStandardRet = default(string);
|
||||
|
||||
// 轉換 ' 為 '
|
||||
CInputWithXMLStandardRet = Strings.Replace(strInput, "'", "'");
|
||||
|
||||
// 轉換 & 為 &
|
||||
CInputWithXMLStandardRet = Strings.Replace(CInputWithXMLStandardRet, "&", "&");
|
||||
|
||||
// 轉換 " 為 quot;
|
||||
CInputWithXMLStandardRet = Strings.Replace(CInputWithXMLStandardRet, "\"", """);
|
||||
|
||||
// 轉換 > 為 >
|
||||
CInputWithXMLStandardRet = Strings.Replace(CInputWithXMLStandardRet, ">", ">");
|
||||
|
||||
// 轉換 < 為 <
|
||||
CInputWithXMLStandardRet = Strings.Replace(CInputWithXMLStandardRet, "<", "<");
|
||||
return CInputWithXMLStandardRet;
|
||||
|
||||
}
|
||||
|
||||
// 2017-06-05, Joe, 依XML標準定義反轉換特殊字元
|
||||
public static string CUnInputWithXMLStandard(ref string strInput)
|
||||
{
|
||||
string CUnInputWithXMLStandardRet = default(string);
|
||||
|
||||
// 轉換 ' 為 "'"
|
||||
CUnInputWithXMLStandardRet = Strings.Replace(strInput, "'", "'");
|
||||
|
||||
// 轉換 " 為 quot;
|
||||
CUnInputWithXMLStandardRet = Strings.Replace(CUnInputWithXMLStandardRet, """, "\"");
|
||||
|
||||
// 轉換 & 為 &
|
||||
CUnInputWithXMLStandardRet = Strings.Replace(CUnInputWithXMLStandardRet, "&", "&");
|
||||
|
||||
// 轉換 > 為 >
|
||||
CUnInputWithXMLStandardRet = Strings.Replace(CUnInputWithXMLStandardRet, ">", ">");
|
||||
|
||||
// 轉換 < 為 <
|
||||
CUnInputWithXMLStandardRet = Strings.Replace(CUnInputWithXMLStandardRet, "<", "<");
|
||||
return CUnInputWithXMLStandardRet;
|
||||
|
||||
}
|
||||
|
||||
// **Add by py 2003/12/04,Gary Lu 20120911:以MESWin1~Win4的版本進行替換
|
||||
public static string LocalizeWebService(string wsUrl, bool Customize = false)
|
||||
{
|
||||
|
||||
string[] tmpString;
|
||||
int i;
|
||||
tmpString = wsUrl.Split('/');
|
||||
if (Customize == true)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(Strings.Trim(gCUSWebServiceHost)))
|
||||
{
|
||||
if (tmpString.Length == 6)
|
||||
{
|
||||
wsUrl = tmpString[0].ToString() + "/" + tmpString[1].ToString() + "/" + gCUSWebServiceHost + "/" + tmpString[4].ToString() + "/" + tmpString[5].ToString();
|
||||
}
|
||||
else if (tmpString.Length == 5)
|
||||
{
|
||||
wsUrl = "http://" + gCUSWebServiceHost + "/" + tmpString[tmpString.Length - 1].ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(Strings.Trim(gMESWebServiceHost)))
|
||||
{
|
||||
if (tmpString.Length == 6)
|
||||
{
|
||||
// wsUrl = "http://" & gMESWebServiceHost & "/" & tmpString(tmpString.Length - 2).ToString & "/" & tmpString(tmpString.Length - 1).ToString
|
||||
wsUrl = tmpString[0].ToString() + "/" + tmpString[1].ToString() + "/" + gMESWebServiceHost + "/" + tmpString[4].ToString() + "/" + tmpString[5].ToString();
|
||||
}
|
||||
else if (tmpString.Length == 5)
|
||||
{
|
||||
wsUrl = "http://" + gMESWebServiceHost + "/" + tmpString[tmpString.Length - 1].ToString();
|
||||
}
|
||||
}
|
||||
|
||||
return wsUrl;
|
||||
// Have to assume the web service is on the machine that this application came from
|
||||
} // LocalizeWebService
|
||||
|
||||
public static string LocalizeWebService_ERP(string wsUrl)
|
||||
{
|
||||
|
||||
string[] tmpString;
|
||||
int i;
|
||||
tmpString = wsUrl.Split('/');
|
||||
|
||||
if (!string.IsNullOrEmpty(Strings.Trim(gERPWebServiceHost)))
|
||||
{
|
||||
wsUrl = tmpString[0].ToString() + "/" + tmpString[1].ToString() + "/" + gERPWebServiceHost + "/" + tmpString[4].ToString();
|
||||
}
|
||||
|
||||
return wsUrl;
|
||||
|
||||
}
|
||||
|
||||
// Add By Peter 2005/6/20
|
||||
public static string GetAppSettings(string key, string section = "")
|
||||
{
|
||||
string result = string.Empty;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
if (!string.IsNullOrEmpty(section))
|
||||
{
|
||||
result = Conversions.ToString(((Hashtable)GetConfig(section))[key]);
|
||||
}
|
||||
else if (string.IsNullOrEmpty(gSettingMode) || string.IsNullOrEmpty(gSettingMode) || gSettingMode.Length == 0)
|
||||
{
|
||||
result = AppSettings[key];
|
||||
}
|
||||
else
|
||||
{
|
||||
Hashtable ht = (Hashtable)GetConfig(gSettingMode);
|
||||
if (ht != null)
|
||||
{
|
||||
result = Conversions.ToString(ht[key]);
|
||||
if (string.IsNullOrEmpty(result))
|
||||
{
|
||||
result = AppSettings[key];
|
||||
if (string.IsNullOrEmpty(result))
|
||||
{
|
||||
result = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
result = AppSettings[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static string GetSubString(string strValue, int intLength)
|
||||
{
|
||||
int intLen;
|
||||
string strReturn;
|
||||
|
||||
// Dim byteValue As Byte() = System.Text.Encoding.UTF8.GetBytes(strValue)
|
||||
// If intLength > byteValue.Length - 1 Then
|
||||
// intLen = byteValue.Length - 1
|
||||
// End If
|
||||
// Dim strReturn As String = System.Text.Encoding.UTF8.GetString(byteValue, 0, intLen)
|
||||
intLen = (int)Math.Round(Conversion.Int(intLength / 3d));
|
||||
strReturn = Strings.Left(strValue, intLen);
|
||||
|
||||
return strReturn;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
30
SRC/MESAgent/MESAutoRun/MESAutoRun.sln
Normal file
30
SRC/MESAgent/MESAutoRun/MESAutoRun.sln
Normal file
@ -0,0 +1,30 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutoRunLib_C", "AutoRunLib\AutoRunLib_C.csproj", "{7C0468A8-E807-0FF4-0C04-C1AD9B3D7D2A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7C0468A8-E807-0FF4-0C04-C1AD9B3D7D2A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7C0468A8-E807-0FF4-0C04-C1AD9B3D7D2A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7C0468A8-E807-0FF4-0C04-C1AD9B3D7D2A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(TeamFoundationVersionControl) = preSolution
|
||||
SccNumberOfProjects = 2
|
||||
SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
|
||||
SccTeamFoundationServer = http://tfs.imestech.com:8080/tfs/messeries6
|
||||
SccLocalPath0 = .
|
||||
SccProjectUniqueName1 = AutoRunLib\\AutoRunLib_C.vbproj
|
||||
SccProjectName1 = AutoRunLib
|
||||
SccLocalPath1 = AutoRunLib
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
143
SRC/MESEAI/EAICws/EAICws/EAIws_C.csproj
Normal file
143
SRC/MESEAI/EAICws/EAICws/EAIws_C.csproj
Normal file
@ -0,0 +1,143 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.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)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{74B7676A-6420-0784-301F-696024D2A8D7}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>EAIws_C</RootNamespace>
|
||||
<AssemblyName>EAIws_C</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\EAIws_C.xml</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||
<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\EAIws_C.xml</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||
<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="Apache.NMS, Version=1.7.1.3894, Culture=neutral, PublicKeyToken=82756feee3957618, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\MES_S_DLL\Apache.NMS.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Apache.NMS.ActiveMQ, Version=1.7.2.4108, Culture=neutral, PublicKeyToken=82756feee3957618, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\MES_S_DLL\Apache.NMS.ActiveMQ.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="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="Microsoft.VisualBasic" />
|
||||
<Reference Include="iMESCIO, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3ad2cfbf6a289680, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\MES_S_DLL\iMESCIO.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="iMESException, Version=6.0.0.0, Culture=neutral, PublicKeyToken=3ad2cfbf6a289680, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\MES_S_DLL\iMESException.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="tcEAI_C, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\MES_S_DLL\tcEAI_C.dll</HintPath>
|
||||
</Reference>
|
||||
</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="modEAP.cs" />
|
||||
<Compile Include="modERP.cs" />
|
||||
<Compile Include="modERPIntegrate.cs" />
|
||||
<Compile Include="modKMI.cs" />
|
||||
<Compile Include="modWS.cs" />
|
||||
<Compile Include="My Project\AssemblyInfo.cs" />
|
||||
<Compile Include="My Project\Application.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Application.myapp</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="My Project\Application.myapp">
|
||||
<Generator>MyApplicationCodeGenerator</Generator>
|
||||
<LastGenOutput>Application.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<CustomToolNamespace>EAIws_C.My</CustomToolNamespace>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</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>
|
||||
-->
|
||||
</Project>
|
||||
11
SRC/MESEAI/EAICws/EAICws/My Project/Application.Designer.cs
generated
Normal file
11
SRC/MESEAI/EAICws/EAICws/My Project/Application.Designer.cs
generated
Normal file
@ -0,0 +1,11 @@
|
||||
// ------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 這段程式碼是由工具產生的。
|
||||
// 執行階段版本:4.0.30319.42000
|
||||
//
|
||||
// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
|
||||
// 變更將會遺失。
|
||||
// </auto-generated>
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
10
SRC/MESEAI/EAICws/EAICws/My Project/Application.myapp
Normal file
10
SRC/MESEAI/EAICws/EAICws/My Project/Application.myapp
Normal 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>
|
||||
35
SRC/MESEAI/EAICws/EAICws/My Project/AssemblyInfo.cs
Normal file
35
SRC/MESEAI/EAICws/EAICws/My Project/AssemblyInfo.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 組件的一般資訊是由下列的屬性集控制。
|
||||
// 變更這些屬性的值即可修改組件的相關
|
||||
// 資訊。
|
||||
|
||||
// 檢閱組件屬性的值
|
||||
|
||||
[assembly: AssemblyTitle("EAIws_C")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("EAICws")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID
|
||||
[assembly: Guid("968ccd3c-116a-41ae-97a1-bd5dafb45d36")]
|
||||
|
||||
// 組件的版本資訊由下列四個值所組成:
|
||||
//
|
||||
// 主要版本
|
||||
// 次要版本
|
||||
// 組建編號
|
||||
// 修訂編號
|
||||
//
|
||||
// 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號
|
||||
// 指定為預設值:
|
||||
// <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
117
SRC/MESEAI/EAICws/EAICws/My Project/Resources.resx
Normal file
117
SRC/MESEAI/EAICws/EAICws/My Project/Resources.resx
Normal 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>
|
||||
88
SRC/MESEAI/EAICws/EAICws/My Project/Settings.Designer.cs
generated
Normal file
88
SRC/MESEAI/EAICws/EAICws/My Project/Settings.Designer.cs
generated
Normal file
@ -0,0 +1,88 @@
|
||||
// ------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 這段程式碼是由工具產生的。
|
||||
// 執行階段版本:4.0.30319.42000
|
||||
//
|
||||
// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
|
||||
// 變更將會遺失。
|
||||
// </auto-generated>
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
using System.Diagnostics;
|
||||
using Microsoft.VisualBasic;
|
||||
|
||||
|
||||
namespace EAIws_C.My
|
||||
{
|
||||
|
||||
[System.Runtime.CompilerServices.CompilerGenerated()]
|
||||
[System.CodeDom.Compiler.GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
|
||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal sealed partial class MySettings : System.Configuration.ApplicationSettingsBase
|
||||
{
|
||||
|
||||
private static MySettings defaultInstance = (MySettings)Synchronized(new MySettings());
|
||||
|
||||
#region My.Settings 自動儲存功能
|
||||
/* TODO ERROR: Skipped IfDirectiveTrivia
|
||||
#If _MyType = "WindowsForms" Then
|
||||
*//* TODO ERROR: Skipped DisabledTextTrivia
|
||||
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(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
|
||||
If My.Application.SaveMySettingsOnExit Then
|
||||
My.Settings.Save()
|
||||
End If
|
||||
End Sub
|
||||
*//* TODO ERROR: Skipped EndIfDirectiveTrivia
|
||||
#End If
|
||||
*/
|
||||
#endregion
|
||||
|
||||
public static MySettings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
|
||||
/* TODO ERROR: Skipped IfDirectiveTrivia
|
||||
#If _MyType = "WindowsForms" Then
|
||||
*//* TODO ERROR: Skipped DisabledTextTrivia
|
||||
If Not addedHandler Then
|
||||
SyncLock addedHandlerLockObject
|
||||
If Not addedHandler Then
|
||||
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
|
||||
addedHandler = True
|
||||
End If
|
||||
End SyncLock
|
||||
End If
|
||||
*//* TODO ERROR: Skipped EndIfDirectiveTrivia
|
||||
#End If
|
||||
*/
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace EAIws_C.My
|
||||
{
|
||||
|
||||
[HideModuleName()]
|
||||
[DebuggerNonUserCode()]
|
||||
[System.Runtime.CompilerServices.CompilerGenerated()]
|
||||
internal static class MySettingsProperty
|
||||
{
|
||||
|
||||
[System.ComponentModel.Design.HelpKeyword("My.Settings")]
|
||||
internal static MySettings Settings
|
||||
{
|
||||
get
|
||||
{
|
||||
return MySettings.Default;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
7
SRC/MESEAI/EAICws/EAICws/My Project/Settings.settings
Normal file
7
SRC/MESEAI/EAICws/EAICws/My Project/Settings.settings
Normal 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>
|
||||
28
SRC/MESEAI/EAICws/EAICws/modEAP.cs
Normal file
28
SRC/MESEAI/EAICws/EAICws/modEAP.cs
Normal file
@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Xml;
|
||||
using Apache.NMS;
|
||||
using Apache.NMS.Util;
|
||||
using tcEAI_C;
|
||||
|
||||
namespace EAIws_C
|
||||
{
|
||||
|
||||
static class modEAP
|
||||
{
|
||||
|
||||
private static XmlDocument xmlDoc = new XmlDocument(); // 用以讀取Xml字串
|
||||
private static DateTime ArriveTime; // 送達時間
|
||||
private static string strIdentity; // Identity XML字串
|
||||
private static string strReturnValue; // ReturnValue XML字串
|
||||
private static string strException; // Exception XML字串
|
||||
private static string strResult; // Result XML字串
|
||||
private static string strMessage; // Message XML字串
|
||||
private static object strServiceName = "modEAP";
|
||||
private static int i = 0;
|
||||
|
||||
#region EAP 客制接口
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
120
SRC/MESEAI/EAICws/EAICws/modERP.cs
Normal file
120
SRC/MESEAI/EAICws/EAICws/modERP.cs
Normal file
@ -0,0 +1,120 @@
|
||||
using System;
|
||||
using tcEAI_C;
|
||||
using iMESCore.Settings;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using static iMESCore.Base.iMESConst;
|
||||
|
||||
namespace EAIws_C
|
||||
{
|
||||
|
||||
static class modERP
|
||||
{
|
||||
|
||||
public static string strService = "ERP";
|
||||
public static string strDataBaseType;
|
||||
public static string strConnectionString;
|
||||
|
||||
public static string funCreateOperation(string InXml)
|
||||
{
|
||||
string funCreateOperationRet = default(string);
|
||||
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串
|
||||
string OutXml = null;
|
||||
|
||||
string strIdentity = string.Empty; // Identity XML字串
|
||||
string strResult = "fail"; // Result XML字串
|
||||
List<ArrayList> strException = new List<ArrayList>(); // Exception XML字串
|
||||
List<ArrayList> strMessage = new List<ArrayList>(); // Message XML字串
|
||||
string strKeyValue = string.Empty; // TransactionLot KeyValue
|
||||
string strMode = string.Empty; // Mode
|
||||
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
// 讀取InXml字串
|
||||
xmlDoc.LoadXml(InXml);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
clsERP.combineException(ref strException, null, ex.Message, "[%InXmlError%]", ex.StackTrace);
|
||||
goto exitFun;
|
||||
}
|
||||
|
||||
// 組Identity字串
|
||||
try
|
||||
{
|
||||
strIdentity = modWS.CombineXMLIdentity(xmlDoc);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
clsERP.combineException(ref strException, null, ex.Message, "[%IndentityError%]", ex.StackTrace);
|
||||
goto exitFun;
|
||||
}
|
||||
|
||||
|
||||
// 2019/05/09 OwenLiu, Mantis:0057304 作業站整合若資料已存在,
|
||||
// 且ERP未傳值的狀況, 不更新OPType, OPClass, OPShortName, OPOrder
|
||||
string OPNo = string.Empty;
|
||||
string OPName = string.Empty;
|
||||
string OPType = defString;
|
||||
string PSNo = defString;
|
||||
int OPClass = defInteger; // Default 0 : General OP
|
||||
string OPShortName = defString;
|
||||
int OPOrder = defInteger; // Default 0
|
||||
string Description = string.Empty;
|
||||
string Creator = string.Empty;
|
||||
DateTime CreateDate = DateTime.Now; // Default Today
|
||||
int PrintOutOnRunCard = 1; // Default 1
|
||||
double StdUnitRunTime = 0; // Default 0
|
||||
long CountOpUnitQty = 1; // Default 1
|
||||
double StdQueueTime = 0; // Default 0
|
||||
decimal decStdUnitRunTime = defInteger;
|
||||
decimal decCountOpUnitQty = defInteger;
|
||||
decimal decStdQueueTime = defInteger;
|
||||
int OSOption = defInteger;
|
||||
int OSOptionTemp = defInteger;
|
||||
string ERPPDLineNo = defString;
|
||||
// Dim OldERPPDLineNo As String = defString '存放作業站修改前的群組資料
|
||||
|
||||
// OPNo
|
||||
if (xmlDoc.DocumentElement.GetElementsByTagName("opno").Count > 0 && xmlDoc.GetElementsByTagName("opno").Item(0).SelectNodes("value").Count > 0)
|
||||
OPNo = modWS.CInput(xmlDoc.DocumentElement.GetElementsByTagName("opno").Item(0).SelectNodes("value").Item(0).InnerText);
|
||||
|
||||
// OPName
|
||||
if (xmlDoc.DocumentElement.GetElementsByTagName("opname").Count > 0 && xmlDoc.GetElementsByTagName("opname").Item(0).SelectNodes("value").Count > 0)
|
||||
OPName = modWS.CInput(xmlDoc.DocumentElement.GetElementsByTagName("opname").Item(0).SelectNodes("value").Item(0).InnerText);
|
||||
|
||||
|
||||
|
||||
// 判斷成功與否
|
||||
if (strException.Count > 0)
|
||||
goto exitFun;
|
||||
|
||||
strResult = "success";
|
||||
|
||||
exitFun:
|
||||
;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
clsERP.combineException(ref strException, null, ex.Message, "[%CreateOPFail%]", ex.StackTrace);
|
||||
}
|
||||
|
||||
finally
|
||||
{
|
||||
|
||||
// 將各部份之XML字串組起來並傳出
|
||||
OutXml = modWS.CombineXMLResponse(strIdentity, null, strException, strResult, strMessage);
|
||||
|
||||
funCreateOperationRet = OutXml;
|
||||
}
|
||||
|
||||
return funCreateOperationRet;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
16
SRC/MESEAI/EAICws/EAICws/modERPIntegrate.cs
Normal file
16
SRC/MESEAI/EAICws/EAICws/modERPIntegrate.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using tcEAI_C;
|
||||
using iMESCore.Settings;
|
||||
|
||||
namespace EAIws_C
|
||||
{
|
||||
|
||||
static class modERPIntegrate
|
||||
{
|
||||
|
||||
public static string strService = "ERPIntegrate";
|
||||
public static string strDataBaseType;
|
||||
public static string strConnectionString;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
37
SRC/MESEAI/EAICws/EAICws/modKMI.cs
Normal file
37
SRC/MESEAI/EAICws/EAICws/modKMI.cs
Normal file
@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using System.Xml;
|
||||
|
||||
namespace EAIws_C
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
static class modKMI
|
||||
{
|
||||
|
||||
private static string strService = "KMI";
|
||||
|
||||
private static string RequestKey = string.Empty;
|
||||
private static string AccountID = string.Empty;
|
||||
private static string SeesionID = string.Empty;
|
||||
public const string SuccessCode = "0";
|
||||
|
||||
public static void GetXMLHeaderNode(XmlDocument xmlDoc)
|
||||
{
|
||||
|
||||
if (xmlDoc.SelectNodes("request").Item(0).SelectNodes("host").Count != 0)
|
||||
{
|
||||
AccountID = ((XmlElement)xmlDoc.SelectNodes("request").Item(0).SelectNodes("host").Item(0)).GetAttribute("acct");
|
||||
if (string.IsNullOrEmpty(AccountID))
|
||||
throw new Exception("GetXMLHeaderNode fail!", new Exception("acct is Empty!"));
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("GetXMLHeaderNode fail!", new Exception("acct is not found!"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
1473
SRC/MESEAI/EAICws/EAICws/modWS.cs
Normal file
1473
SRC/MESEAI/EAICws/EAICws/modWS.cs
Normal file
File diff suppressed because it is too large
Load Diff
182
SRC/MESEAI/EAItc/EAItc_C.csproj
Normal file
182
SRC/MESEAI/EAItc/EAItc_C.csproj
Normal file
@ -0,0 +1,182 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.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)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{443394E0-F618-0D60-04C0-E207199604A2}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>tcEAI_C</RootNamespace>
|
||||
<AssemblyName>tcEAI_C</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\tcEAI_C.xml</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\MES_S_DLL\</OutputPath>
|
||||
<DocumentationFile>..\..\MES_S_DLL\tcEAI_C.xml</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||
<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="Apache.NMS, Version=1.7.1.3894, Culture=neutral, PublicKeyToken=82756feee3957618, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_S_DLL\Apache.NMS.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Apache.NMS.ActiveMQ, Version=1.7.2.4108, Culture=neutral, PublicKeyToken=82756feee3957618, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_S_DLL\Apache.NMS.ActiveMQ.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<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="Microsoft.VisualBasic" />
|
||||
<Reference Include="iMESCIO">
|
||||
<HintPath>..\..\MES_S_DLL\iMESCIO.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="iMESDataObject">
|
||||
<HintPath>..\..\MES_S_DLL\iMESDataObject.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="iMESException">
|
||||
<HintPath>..\..\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>
|
||||
</Reference>
|
||||
<Reference Include="kcMTL">
|
||||
<HintPath>..\..\MES_S_DLL\kcMTL.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="kcPRD">
|
||||
<HintPath>..\..\MES_S_DLL\kcPRD.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="kcQC">
|
||||
<HintPath>..\..\MES_S_DLL\kcQC.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="kcSPC">
|
||||
<HintPath>..\..\MES_S_DLL\kcSPC.dll</HintPath>
|
||||
</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" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="udReverse, Version=6.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_S_DLL\udReverse.dll</HintPath>
|
||||
</Reference>
|
||||
</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" />
|
||||
<Import Include="System.Threading.Tasks" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="clsCom.cs" />
|
||||
<Compile Include="clsEAP.cs" />
|
||||
<Compile Include="clsERP.cs" />
|
||||
<Compile Include="clsMDS.cs" />
|
||||
<Compile Include="clsSPC.cs" />
|
||||
<Compile Include="My Project\AssemblyInfo.cs" />
|
||||
<Compile Include="My Project\Application.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Application.myapp</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="My Project\Application.myapp">
|
||||
<Generator>MyApplicationCodeGenerator</Generator>
|
||||
<LastGenOutput>Application.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<CustomToolNamespace>tcEAI_C.My</CustomToolNamespace>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</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>
|
||||
-->
|
||||
</Project>
|
||||
11
SRC/MESEAI/EAItc/My Project/Application.Designer.cs
generated
Normal file
11
SRC/MESEAI/EAItc/My Project/Application.Designer.cs
generated
Normal file
@ -0,0 +1,11 @@
|
||||
// ------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 這段程式碼是由工具產生的。
|
||||
// 執行階段版本:4.0.30319.42000
|
||||
//
|
||||
// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
|
||||
// 變更將會遺失。
|
||||
// </auto-generated>
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
10
SRC/MESEAI/EAItc/My Project/Application.myapp
Normal file
10
SRC/MESEAI/EAItc/My Project/Application.myapp
Normal 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>
|
||||
35
SRC/MESEAI/EAItc/My Project/AssemblyInfo.cs
Normal file
35
SRC/MESEAI/EAItc/My Project/AssemblyInfo.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 組件的一般資訊是由下列的屬性集控制。
|
||||
// 變更這些屬性的值即可修改組件的相關
|
||||
// 資訊。
|
||||
|
||||
// 檢閱組件屬性的值
|
||||
|
||||
[assembly: AssemblyTitle("EAItc_C")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("EAItc")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2019")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID
|
||||
[assembly: Guid("c6f5bc9b-8482-4694-8df4-0b0a3f7b9707")]
|
||||
|
||||
// 組件的版本資訊由下列四個值所組成:
|
||||
//
|
||||
// 主要版本
|
||||
// 次要版本
|
||||
// 組建編號
|
||||
// 修訂編號
|
||||
//
|
||||
// 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號
|
||||
// 指定為預設值:
|
||||
// <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
117
SRC/MESEAI/EAItc/My Project/Resources.resx
Normal file
117
SRC/MESEAI/EAItc/My Project/Resources.resx
Normal 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>
|
||||
88
SRC/MESEAI/EAItc/My Project/Settings.Designer.cs
generated
Normal file
88
SRC/MESEAI/EAItc/My Project/Settings.Designer.cs
generated
Normal file
@ -0,0 +1,88 @@
|
||||
// ------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 這段程式碼是由工具產生的。
|
||||
// 執行階段版本:4.0.30319.42000
|
||||
//
|
||||
// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
|
||||
// 變更將會遺失。
|
||||
// </auto-generated>
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
using System.Diagnostics;
|
||||
using Microsoft.VisualBasic;
|
||||
|
||||
|
||||
namespace tcEAI_C.My
|
||||
{
|
||||
|
||||
[System.Runtime.CompilerServices.CompilerGenerated()]
|
||||
[System.CodeDom.Compiler.GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
|
||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal sealed partial class MySettings : System.Configuration.ApplicationSettingsBase
|
||||
{
|
||||
|
||||
private static MySettings defaultInstance = (MySettings)Synchronized(new MySettings());
|
||||
|
||||
#region My.Settings 自動儲存功能
|
||||
/* TODO ERROR: Skipped IfDirectiveTrivia
|
||||
#If _MyType = "WindowsForms" Then
|
||||
*//* TODO ERROR: Skipped DisabledTextTrivia
|
||||
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(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
|
||||
If My.Application.SaveMySettingsOnExit Then
|
||||
My.Settings.Save()
|
||||
End If
|
||||
End Sub
|
||||
*//* TODO ERROR: Skipped EndIfDirectiveTrivia
|
||||
#End If
|
||||
*/
|
||||
#endregion
|
||||
|
||||
public static MySettings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
|
||||
/* TODO ERROR: Skipped IfDirectiveTrivia
|
||||
#If _MyType = "WindowsForms" Then
|
||||
*//* TODO ERROR: Skipped DisabledTextTrivia
|
||||
If Not addedHandler Then
|
||||
SyncLock addedHandlerLockObject
|
||||
If Not addedHandler Then
|
||||
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
|
||||
addedHandler = True
|
||||
End If
|
||||
End SyncLock
|
||||
End If
|
||||
*//* TODO ERROR: Skipped EndIfDirectiveTrivia
|
||||
#End If
|
||||
*/
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace tcEAI_C.My
|
||||
{
|
||||
|
||||
[HideModuleName()]
|
||||
[DebuggerNonUserCode()]
|
||||
[System.Runtime.CompilerServices.CompilerGenerated()]
|
||||
internal static class MySettingsProperty
|
||||
{
|
||||
|
||||
[System.ComponentModel.Design.HelpKeyword("My.Settings")]
|
||||
internal static MySettings Settings
|
||||
{
|
||||
get
|
||||
{
|
||||
return MySettings.Default;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
7
SRC/MESEAI/EAItc/My Project/Settings.settings
Normal file
7
SRC/MESEAI/EAItc/My Project/Settings.settings
Normal 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>
|
||||
195
SRC/MESEAI/EAItc/clsCom.cs
Normal file
195
SRC/MESEAI/EAItc/clsCom.cs
Normal file
@ -0,0 +1,195 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using Apache.NMS;
|
||||
using Microsoft.VisualBasic;
|
||||
|
||||
namespace tcEAI_C
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 20211027 13871,共用功能
|
||||
/// </summary>
|
||||
public class clsCom
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 20211027 13871,Reflection方法
|
||||
/// </summary>
|
||||
/// <param name="strComponent">DLL Name</param>
|
||||
/// <param name="strClassName">Class Name</param>
|
||||
/// <param name="strMethodName">Function Name</param>
|
||||
/// <param name="mi"></param>
|
||||
/// <param name="obj"></param>
|
||||
/// <returns></returns>
|
||||
public static bool DetermineCustomized_Constructor(string strComponent, string strClassName, string strMethodName, ref MethodInfo mi, ref object obj)
|
||||
{
|
||||
bool DetermineCustomized_ConstructorRet = default(bool);
|
||||
bool blnResult = false;
|
||||
|
||||
DetermineCustomized_ConstructorRet = false;
|
||||
try
|
||||
{
|
||||
blnResult = DetermineMethod_Constructor(strComponent, strClassName, strMethodName, ref mi, ref obj);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
}
|
||||
|
||||
finally
|
||||
{
|
||||
DetermineCustomized_ConstructorRet = blnResult;
|
||||
}
|
||||
|
||||
return DetermineCustomized_ConstructorRet;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 20211027 13871,Reflection找出Method
|
||||
/// </summary>
|
||||
public static bool DetermineMethod_Constructor(string strComponent, string strClassName, string strMethodName, ref MethodInfo mi, ref object obj)
|
||||
{
|
||||
string strAppBase = AppDomain.CurrentDomain.BaseDirectory;
|
||||
string strFilePath = "";
|
||||
Assembly mainAssembly;
|
||||
Type t;
|
||||
Type[] argumentTypes;
|
||||
ConstructorInfo ctor;
|
||||
|
||||
MethodInfo[] aryMethos;
|
||||
|
||||
try
|
||||
{
|
||||
strFilePath = strAppBase.TrimEnd('\\') + @"\bin\" + strComponent;
|
||||
mainAssembly = Assembly.LoadFrom(strFilePath);
|
||||
t = mainAssembly.GetType(mainAssembly.GetName().Name + "." + strClassName, true, true);
|
||||
// 20211211 13871,支援Module
|
||||
if (t.GetConstructors().Length > 0)
|
||||
{
|
||||
argumentTypes = Type.EmptyTypes;
|
||||
ctor = t.GetConstructor(argumentTypes);
|
||||
obj = ctor.Invoke(new object[] { });
|
||||
}
|
||||
strMethodName = Strings.Replace(strMethodName, ".", "_");
|
||||
aryMethos = t.GetMethods();
|
||||
foreach (MethodInfo item in aryMethos)
|
||||
{
|
||||
if ((strMethodName.ToUpper() ?? "") == (item.Name.ToUpper() ?? ""))
|
||||
{
|
||||
mi = item;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (mi == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 20211027 13871,取得Method的參數預設值陣列
|
||||
/// </summary>
|
||||
/// <param name="strComponent">DLL Name,可不傳副檔名,會自動補.dll</param>
|
||||
/// <param name="strClassName">Class Name</param>
|
||||
/// <param name="strMethodName">Method Name</param>
|
||||
/// <returns></returns>
|
||||
public static object[] funGetMethodParameters(string strComponent, string strClassName, string strMethodName)
|
||||
{
|
||||
object[] funGetMethodParametersRet = default(object[]);
|
||||
try
|
||||
{
|
||||
var mi = default(MethodInfo);
|
||||
var obj = default(object);
|
||||
if (!strComponent.ToUpper().Contains(".DLL"))
|
||||
{
|
||||
strComponent = strComponent + ".dll";
|
||||
}
|
||||
|
||||
if (!DetermineCustomized_Constructor(strComponent, strClassName, strMethodName, ref mi, ref obj))
|
||||
{
|
||||
throw new iMESException.MESException("0000-200003", strComponent + "." + strClassName + "," + strMethodName + " [%METHOD%] [%NOT FOUND%]");
|
||||
}
|
||||
|
||||
int iParameterLength = mi.GetParameters().Length;
|
||||
var aryParameter = new object[iParameterLength];
|
||||
for (int i = 0, loopTo = mi.GetParameters().Length - 1; i <= loopTo; i++)
|
||||
aryParameter[i] = mi.GetParameters()[i].DefaultValue;
|
||||
funGetMethodParametersRet = aryParameter;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return funGetMethodParametersRet;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 20211027 13871,執行指定DLL、Class、Method,無法執行多載Method
|
||||
/// </summary>
|
||||
/// <param name="strComponent">DLL Name,可不傳副檔名,會自動補.dll</param>
|
||||
/// <param name="strClassName">Class Name</param>
|
||||
/// <param name="strMethodName">Method Name</param>
|
||||
/// <param name="aryParameters"></param>
|
||||
public static object funExecuteMethod(string strComponent, string strClassName, string strMethodName, ref object[] aryParameters)
|
||||
{
|
||||
object funExecuteMethodRet = default(object);
|
||||
try
|
||||
{
|
||||
var mi = default(MethodInfo);
|
||||
var obj = default(object);
|
||||
if (!strComponent.ToUpper().Contains(".DLL"))
|
||||
{
|
||||
strComponent = strComponent + ".dll";
|
||||
}
|
||||
|
||||
if (!DetermineCustomized_Constructor(strComponent, strClassName, strMethodName, ref mi, ref obj))
|
||||
{
|
||||
throw new iMESException.MESException("0000-200003", strComponent + "." + strClassName + "," + strMethodName + " [%METHOD%] [%NOT FOUND%]");
|
||||
}
|
||||
|
||||
funExecuteMethodRet = mi.Invoke(obj, aryParameters);
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
ex = funGetRealException(ex);
|
||||
throw ex;
|
||||
}
|
||||
|
||||
return funExecuteMethodRet;
|
||||
}
|
||||
|
||||
// 20211208 13871,從clsEAP移植
|
||||
public static Exception funGetRealException(Exception ex)
|
||||
{
|
||||
Exception funGetRealExceptionRet = default(Exception);
|
||||
try
|
||||
{
|
||||
funGetRealExceptionRet = ex;
|
||||
|
||||
if (ex is TargetInvocationException && ex.InnerException != null)
|
||||
{
|
||||
funGetRealExceptionRet = funGetRealException(ex.InnerException);
|
||||
}
|
||||
}
|
||||
catch (Exception ex2)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return funGetRealExceptionRet;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
99
SRC/MESEAI/EAItc/clsEAP.cs
Normal file
99
SRC/MESEAI/EAItc/clsEAP.cs
Normal file
@ -0,0 +1,99 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using static iMESCore.Base.iMESConst;
|
||||
using static iMESCore.Base.iMESComXML;
|
||||
using static iMESCore.Base.iMESComSubroutine;
|
||||
|
||||
namespace tcEAI_C
|
||||
{
|
||||
|
||||
public class clsEAP
|
||||
{
|
||||
|
||||
public static string strDataBaseType;
|
||||
public static string strConnectionString;
|
||||
|
||||
#region EAP 客制接口
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region 共用功能 ConbineXMLFunction
|
||||
|
||||
public static string CombineXMLRequest_AutoExecutionLot(string InXml, string functionid, string computername, DataTable dtLotInfo, string OPNo, string CurUserNo, string SendTime, bool blnRuleChk = true)
|
||||
{
|
||||
string CombineXMLRequest_AutoExecutionLotRet = default(string);
|
||||
|
||||
string strLotXML = "<lotinfo>";
|
||||
string strLotNoColumnName = "";
|
||||
if (dtLotInfo.Columns.Contains("Lot_ID"))
|
||||
{
|
||||
strLotNoColumnName = "Lot_ID";
|
||||
}
|
||||
else if (dtLotInfo.Columns.Contains("LotNo"))
|
||||
{
|
||||
strLotNoColumnName = "LotNo";
|
||||
}
|
||||
|
||||
string strrulecheckTag = "";
|
||||
if (!blnRuleChk)
|
||||
{
|
||||
strrulecheckTag = "<chkrule>false</chkrule>";
|
||||
}
|
||||
|
||||
foreach (DataRow drTemp in dtLotInfo.Rows)
|
||||
strLotXML = Conversions.ToString(strLotXML + Operators.ConcatenateObject(Operators.ConcatenateObject("<value><lotno>", drTemp[strLotNoColumnName]), "</lotno></value>"));
|
||||
strLotXML += "</lotinfo>";
|
||||
CombineXMLRequest_AutoExecutionLotRet = "" + "<request><identity> " + "<transactionid>" + Strings.Format(DateTime.Now, "yyyyMMddHHmmssfff") + "</transactionid>" + "<functionid>" + functionid + "</functionid>" + strLotXML + "<computername>" + computername + "</computername>" + "<opno>" + OPNo + "</opno>" + "<curuserno>" + CurUserNo + "</curuserno>" + "<sendtime>" + SendTime + "</sendtime>" + strrulecheckTag + "</identity>" + "<datainfo>" + InXml + "</datainfo>" + "</request>";
|
||||
return CombineXMLRequest_AutoExecutionLotRet;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ReverseTriggerOP
|
||||
|
||||
public static bool ExeReverseTriggerOP_NotUseUndo(string pUserNo, string pLotNo, string pLotSerial = defString, int pLotStamp = defInteger, string ComputreName = "EAI")
|
||||
{
|
||||
|
||||
string InXml, OutXml, strIdentity, strParameter;
|
||||
bool blnExecResult = false;
|
||||
|
||||
// 2020/3/17 Ning, Mantis: 0068960, WIP_Kit 增加ExeReverseTriggerOP_NotUseUndo共用函式
|
||||
try
|
||||
{
|
||||
// 檢查此 BR 是否此站第一次執行,若是第一次執行則以刪除Temp, Cont, LotLog...的方式取消Trigger OP的動作
|
||||
strIdentity = CombineXMLIdentity(ComputreName, pUserNo, DateTime.Now.ToString(defDateTimeFormat));
|
||||
|
||||
strParameter = CombineXMLParameter("lotno", "LotNo", "String", CInput(pLotNo), "");
|
||||
// 因FormLoad不見得會成功取得Lot的資料,有可能失敗,故使用變數來決定是否傳出參數.
|
||||
if ((pLotSerial ?? "") != defString)
|
||||
{
|
||||
strParameter += CombineXMLParameter("lotserial", "LotSerial", "String", CInput(pLotSerial), "");
|
||||
}
|
||||
if (pLotStamp != defInteger)
|
||||
{
|
||||
strParameter += CombineXMLParameter("lotstamp", "LotStamp", "Long", pLotStamp.ToString(), "");
|
||||
}
|
||||
InXml = CombineXMLRequest(strIdentity, strParameter);
|
||||
// OutXml = InvokeSrv("wsWIP.ReverseTriggerOP_NotUseUndo", InXml)
|
||||
|
||||
object[] aryPars = clsCom.funGetMethodParameters("wsSTD", "wsWIP", "ReverseTriggerOP_NotUseUndo");
|
||||
aryPars[0] = InXml;
|
||||
OutXml = clsCom.funExecuteMethod("wsSTD", "wsWIP", "ReverseTriggerOP_NotUseUndo", ref aryPars) as string;
|
||||
|
||||
blnExecResult = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return blnExecResult;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
74
SRC/MESEAI/EAItc/clsERP.cs
Normal file
74
SRC/MESEAI/EAItc/clsERP.cs
Normal file
@ -0,0 +1,74 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace tcEAI_C
|
||||
{
|
||||
public class clsERP
|
||||
{
|
||||
#region --- Combine (Exception, Message) ---
|
||||
|
||||
public static bool combineException(ref List<ArrayList> strException, string code = null, string sysmsg = null, string mesmsg = null, string stack = null)
|
||||
{
|
||||
bool result = false;
|
||||
try
|
||||
{
|
||||
var al = new ArrayList();
|
||||
al.Add(code);
|
||||
al.Add(sysmsg);
|
||||
al.Add(mesmsg);
|
||||
al.Add(stack);
|
||||
strException.Add(al);
|
||||
result = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
|
||||
return default(bool);
|
||||
|
||||
}
|
||||
|
||||
public static bool combineMessage(ref List<ArrayList> strMessage, string mcode = null, string mtype = null, string mmsg = null)
|
||||
{
|
||||
bool result = false;
|
||||
try
|
||||
{
|
||||
var al = new ArrayList();
|
||||
al.Add(mcode);
|
||||
al.Add(mtype);
|
||||
al.Add(mmsg);
|
||||
strMessage.Add(al);
|
||||
result = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
|
||||
return default(bool);
|
||||
}
|
||||
|
||||
public static bool combineFileMessage(ref List<ArrayList> aryFileMessage, string mmsg)
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
try
|
||||
{
|
||||
var al = new ArrayList();
|
||||
al.Add(mmsg);
|
||||
aryFileMessage.Add(al);
|
||||
result = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
25
SRC/MESEAI/EAItc/clsMDS.cs
Normal file
25
SRC/MESEAI/EAItc/clsMDS.cs
Normal file
@ -0,0 +1,25 @@
|
||||
|
||||
namespace tcEAI_C
|
||||
{
|
||||
|
||||
public class clsMDS
|
||||
{
|
||||
|
||||
public string strDataBaseType;
|
||||
public string strConnectionString;
|
||||
private udReverse.clsReverse objReverse = new udReverse.clsReverse();
|
||||
|
||||
// 2003/03/22,sammi.
|
||||
// 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆.
|
||||
// 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD.
|
||||
public udReverse.clsReverse ReverseObj
|
||||
{
|
||||
get
|
||||
{
|
||||
return objReverse;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
62
SRC/MESEAI/EAItc/clsSPC.cs
Normal file
62
SRC/MESEAI/EAItc/clsSPC.cs
Normal file
@ -0,0 +1,62 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Microsoft.VisualBasic;
|
||||
|
||||
namespace tcEAI_C
|
||||
{
|
||||
|
||||
public class clsSPC
|
||||
{
|
||||
public static string strDataBaseType;
|
||||
public static string strConnectionString;
|
||||
|
||||
private string Filepath_E = @"D:\Log\EAI_TC\"; // 指定Log
|
||||
|
||||
public void SaveLog(string msg)
|
||||
{
|
||||
if (!Directory.Exists(Filepath_E))
|
||||
{
|
||||
Directory.CreateDirectory(Filepath_E);
|
||||
}
|
||||
//{
|
||||
// var withBlock = My.MyProject.Application.Log.DefaultFileLogWriter;
|
||||
// // If CInt(Format(Now, "mm")) >= 20 And CInt(Format(Now, "mm")) < 40 Then
|
||||
// // .BaseFileName = "Log" & "_20" 'Log檔的檔名
|
||||
// // ElseIf CInt(Format(Now, "mm")) >= 40 Then
|
||||
// // .BaseFileName = "Log" & "_40" 'Log檔的檔名
|
||||
// // Else
|
||||
// withBlock.BaseFileName = "Log"; // & Format(Now, "mm") 'Log檔的檔名
|
||||
// // End If
|
||||
// withBlock.CustomLocation = Filepath_E; // 自訂Log檔的存放路徑
|
||||
// withBlock.AutoFlush = true; // Log檔寫完後自動清除緩衝
|
||||
// withBlock.LogFileCreationSchedule = Microsoft.VisualBasic.Logging.LogFileCreationScheduleOption.Daily; // 設定一天產生一個Log檔
|
||||
// withBlock.MaxFileSize = long.MaxValue; // 預設容量5M 改為 最大容量
|
||||
//}
|
||||
|
||||
//My.MyProject.Application.Log.WriteEntry(string.Format("{0} {1}", Strings.Format(DateTime.Now, "yy/MM/dd HH:mm:ss ffff,"), msg));
|
||||
}
|
||||
|
||||
public void combineException(ref List<ArrayList> strException, string code = null, string sysmsg = null, string mesmsg = null, string stack = null)
|
||||
{
|
||||
bool result = false;
|
||||
try
|
||||
{
|
||||
var al = new ArrayList();
|
||||
al.Add(code);
|
||||
al.Add(sysmsg);
|
||||
al.Add(mesmsg);
|
||||
al.Add(stack);
|
||||
strException.Add(al);
|
||||
result = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
156
SRC/MESEAI/MESEAI.sln
Normal file
156
SRC/MESEAI/MESEAI.sln
Normal file
@ -0,0 +1,156 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EAIws_C", "EAICws\EAICws\EAIws_C.csproj", "{74B7676A-6420-0784-301F-696024D2A8D7}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{443394E0-F618-0D60-04C0-E207199604A2} = {443394E0-F618-0D60-04C0-E207199604A2}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EAItc_C", "EAItc\EAItc_C.csproj", "{443394E0-F618-0D60-04C0-E207199604A2}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
C++Buile|Any CPU = C++Buile|Any CPU
|
||||
C++Buile|Mixed Platforms = C++Buile|Mixed Platforms
|
||||
C++Buile|x64 = C++Buile|x64
|
||||
C++Buile|x86 = C++Buile|x86
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|Mixed Platforms = Debug|Mixed Platforms
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Quick|Any CPU = Quick|Any CPU
|
||||
Quick|Mixed Platforms = Quick|Mixed Platforms
|
||||
Quick|x64 = Quick|x64
|
||||
Quick|x86 = Quick|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|Mixed Platforms = Release|Mixed Platforms
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
StorageBuild|Any CPU = StorageBuild|Any CPU
|
||||
StorageBuild|Mixed Platforms = StorageBuild|Mixed Platforms
|
||||
StorageBuild|x64 = StorageBuild|x64
|
||||
StorageBuild|x86 = StorageBuild|x86
|
||||
UnitTest|Any CPU = UnitTest|Any CPU
|
||||
UnitTest|Mixed Platforms = UnitTest|Mixed Platforms
|
||||
UnitTest|x64 = UnitTest|x64
|
||||
UnitTest|x86 = UnitTest|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.C++Buile|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.C++Buile|Any CPU.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.C++Buile|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.C++Buile|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.C++Buile|x64.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.C++Buile|x64.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.C++Buile|x86.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.C++Buile|x86.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Quick|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Quick|Any CPU.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Quick|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Quick|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Quick|x64.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Quick|x64.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Quick|x86.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Quick|x86.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Release|x64.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.Release|x86.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.StorageBuild|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.StorageBuild|Any CPU.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.StorageBuild|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.StorageBuild|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.StorageBuild|x64.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.StorageBuild|x64.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.StorageBuild|x86.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.StorageBuild|x86.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.UnitTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.UnitTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.UnitTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.UnitTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.UnitTest|x64.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.UnitTest|x64.Build.0 = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.UnitTest|x86.ActiveCfg = Release|Any CPU
|
||||
{74B7676A-6420-0784-301F-696024D2A8D7}.UnitTest|x86.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.C++Buile|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.C++Buile|Any CPU.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.C++Buile|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.C++Buile|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.C++Buile|x64.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.C++Buile|x64.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.C++Buile|x86.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.C++Buile|x86.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Quick|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Quick|Any CPU.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Quick|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Quick|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Quick|x64.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Quick|x64.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Quick|x86.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Quick|x86.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Release|x64.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.Release|x86.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.StorageBuild|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.StorageBuild|Any CPU.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.StorageBuild|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.StorageBuild|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.StorageBuild|x64.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.StorageBuild|x64.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.StorageBuild|x86.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.StorageBuild|x86.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.UnitTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.UnitTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.UnitTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.UnitTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.UnitTest|x64.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.UnitTest|x64.Build.0 = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.UnitTest|x86.ActiveCfg = Release|Any CPU
|
||||
{443394E0-F618-0D60-04C0-E207199604A2}.UnitTest|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {8C4647D6-0300-48B8-9394-09E4BF0D878A}
|
||||
EndGlobalSection
|
||||
GlobalSection(TeamFoundationVersionControl) = preSolution
|
||||
SccNumberOfProjects = 3
|
||||
SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
|
||||
SccTeamFoundationServer = http://tfs.imestech.com:8080/tfs/messeries6
|
||||
SccLocalPath0 = .
|
||||
SccProjectUniqueName1 = EAICws\\EAICws\\EAIws_C.vbproj
|
||||
SccProjectName1 = EAICws/EAICws
|
||||
SccLocalPath1 = EAICws\\EAICws
|
||||
SccProjectUniqueName2 = EAItc\\EAItc_C.vbproj
|
||||
SccProjectName2 = EAItc
|
||||
SccLocalPath2 = EAItc
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
119
SRC/MESPlugin/MESPI_BusinessRule/MESPI_BusinessRule.csproj
Normal file
119
SRC/MESPlugin/MESPI_BusinessRule/MESPI_BusinessRule.csproj
Normal file
@ -0,0 +1,119 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.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)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{6CD932DD-93B6-0C5E-06F9-47F39C95CB5A}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>MESPI_BusinessRule</RootNamespace>
|
||||
<AssemblyName>MESPI_BusinessRule</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>
|
||||
<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\plugin\</OutputPath>
|
||||
<DocumentationFile>..\..\MES_S_DLL\plugin\MESPI_BusinessRule.xml</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||
<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>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionExplicit>On</OptionExplicit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionCompare>Binary</OptionCompare>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionStrict>Off</OptionStrict>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionInfer>On</OptionInfer>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<AssemblyOriginatorKeyFile>iMES.snk</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.VisualBasic" />
|
||||
<Reference Include="iMESCIO, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_S_DLL\iMESCIO.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<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" />
|
||||
<Import Include="System.Threading.Tasks" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="clsBusinessRule.cs" />
|
||||
<Compile Include="clsGetFunctionBR.cs" />
|
||||
<Compile Include="My Project\AssemblyInfo.cs" />
|
||||
<Compile Include="My Project\Application.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Application.myapp</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="iMES.snk" />
|
||||
<None Include="My Project\Application.myapp">
|
||||
<Generator>MyApplicationCodeGenerator</Generator>
|
||||
<LastGenOutput>Application.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<CustomToolNamespace>MESPI_BusinessRule.My</CustomToolNamespace>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</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>
|
||||
-->
|
||||
</Project>
|
||||
30
SRC/MESPlugin/MESPI_BusinessRule/MESPI_BusinessRule.sln
Normal file
30
SRC/MESPlugin/MESPI_BusinessRule/MESPI_BusinessRule.sln
Normal file
@ -0,0 +1,30 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25123.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MESPI_BusinessRule", "MESPI_BusinessRule.csproj", "{6CD932DD-93B6-0C5E-06F9-47F39C95CB5A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{6CD932DD-93B6-0C5E-06F9-47F39C95CB5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6CD932DD-93B6-0C5E-06F9-47F39C95CB5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6CD932DD-93B6-0C5E-06F9-47F39C95CB5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6CD932DD-93B6-0C5E-06F9-47F39C95CB5A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(TeamFoundationVersionControl) = preSolution
|
||||
SccNumberOfProjects = 2
|
||||
SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
|
||||
SccTeamFoundationServer = http://tfs.imestech.com:8080/tfs/messeries6
|
||||
SccLocalPath0 = .
|
||||
SccProjectUniqueName1 = MESPI_BusinessRule.vbproj
|
||||
SccLocalPath1 = .
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
10
SRC/MESPlugin/MESPI_BusinessRule/MESPI_BusinessRule.vssscc
Normal file
10
SRC/MESPlugin/MESPI_BusinessRule/MESPI_BusinessRule.vssscc
Normal 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" = "PROJECT"
|
||||
}
|
||||
11
SRC/MESPlugin/MESPI_BusinessRule/My Project/Application.Designer.cs
generated
Normal file
11
SRC/MESPlugin/MESPI_BusinessRule/My Project/Application.Designer.cs
generated
Normal file
@ -0,0 +1,11 @@
|
||||
// ------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 這段程式碼是由工具產生的。
|
||||
// 執行階段版本:4.0.30319.42000
|
||||
//
|
||||
// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
|
||||
// 變更將會遺失。
|
||||
// </auto-generated>
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@ -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>
|
||||
35
SRC/MESPlugin/MESPI_BusinessRule/My Project/AssemblyInfo.cs
Normal file
35
SRC/MESPlugin/MESPI_BusinessRule/My Project/AssemblyInfo.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 組件的一般資訊是由下列的屬性集控制。
|
||||
// 變更這些屬性的值即可修改組件的相關
|
||||
// 資訊。
|
||||
|
||||
// 檢閱組件屬性的值
|
||||
|
||||
[assembly: AssemblyTitle("MESPI_BusinessRule")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("MESPI_BusinessRule")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2016")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID
|
||||
[assembly: Guid("ad5034de-f368-4373-8f98-36aec3edf64e")]
|
||||
|
||||
// 組件的版本資訊由下列四個值所組成:
|
||||
//
|
||||
// 主要版本
|
||||
// 次要版本
|
||||
// 組建編號
|
||||
// 修訂編號
|
||||
//
|
||||
// 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號
|
||||
// 指定為預設值:
|
||||
// <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
[assembly: AssemblyVersion("6.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("6.0.0.0")]
|
||||
117
SRC/MESPlugin/MESPI_BusinessRule/My Project/Resources.resx
Normal file
117
SRC/MESPlugin/MESPI_BusinessRule/My Project/Resources.resx
Normal 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>
|
||||
26
SRC/MESPlugin/MESPI_BusinessRule/My Project/Settings.Designer.cs
generated
Normal file
26
SRC/MESPlugin/MESPI_BusinessRule/My Project/Settings.Designer.cs
generated
Normal file
@ -0,0 +1,26 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 這段程式碼是由工具產生的。
|
||||
// 執行階段版本:4.0.30319.42000
|
||||
//
|
||||
// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
|
||||
// 變更將會遺失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace MESPI_BusinessRule.My {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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>
|
||||
16
SRC/MESPlugin/MESPI_BusinessRule/clsBusinessRule.cs
Normal file
16
SRC/MESPlugin/MESPI_BusinessRule/clsBusinessRule.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using iMESCIO.PIO.Plugin;
|
||||
using Microsoft.VisualBasic;
|
||||
|
||||
namespace MESPI_BusinessRule
|
||||
{
|
||||
|
||||
public class clsBusinessRule : IBusinessRule
|
||||
{
|
||||
|
||||
private string funBR_Test(Collection colParameters)
|
||||
{
|
||||
return "Pass";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
96
SRC/MESPlugin/MESPI_BusinessRule/clsGetFunctionBR.cs
Normal file
96
SRC/MESPlugin/MESPI_BusinessRule/clsGetFunctionBR.cs
Normal file
@ -0,0 +1,96 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using iMESCIO.PIO.Plugin;
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
|
||||
namespace MESPI_BusinessRule
|
||||
{
|
||||
|
||||
public class clsGetFunctionBR : ICommonPlugin
|
||||
{
|
||||
|
||||
public string PlugInPoint
|
||||
{
|
||||
get
|
||||
{
|
||||
return "wsOP.LoadBRFunctionName";
|
||||
}
|
||||
}
|
||||
|
||||
public object AfterExecut(params object[] Parameters)
|
||||
{
|
||||
|
||||
string strAppBase = AppDomain.CurrentDomain.BaseDirectory;
|
||||
string strFilePath = strAppBase.TrimEnd('\\') + @"\Plugin\BusinessRule";
|
||||
Assembly mainAssembly;
|
||||
MethodInfo[] MyMethodInfos;
|
||||
string strFunction;
|
||||
string strResult = "";
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
foreach (string file in Directory.GetFiles(strFilePath))
|
||||
{
|
||||
|
||||
if (new System.IO.FileInfo(file).Extension.ToUpper() != ".DLL")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
mainAssembly = Assembly.LoadFrom(file);
|
||||
|
||||
foreach (Type item in mainAssembly.GetTypes())
|
||||
{
|
||||
|
||||
var InterfaceTemp = item.GetInterfaces().Where(x => (x.Name ?? "") == (typeof(IBusinessRule).Name.ToString() ?? "")).FirstOrDefault();
|
||||
|
||||
if (InterfaceTemp == null == false)
|
||||
{
|
||||
|
||||
MyMethodInfos = item.GetMethods(BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
|
||||
for (int i = 0, loopTo = MyMethodInfos.Length - 1; i <= loopTo; i++)
|
||||
{
|
||||
|
||||
strFunction = MyMethodInfos[i].Name;
|
||||
|
||||
if (Conversions.ToBoolean(Strings.InStr(strFunction.ToUpper(), "FUNBR")))
|
||||
{
|
||||
strResult += "<functionname>" + "<name>FunctionName</name>" + "<type>String</type>" + "<schema></schema>" + "<value>" + strFunction + "</value>" + "<desc></desc>" + "<filename>" + new System.IO.FileInfo(file).Name + "</filename>" + "</functionname>";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
mainAssembly = null;
|
||||
MyMethodInfos = null;
|
||||
}
|
||||
|
||||
return strResult;
|
||||
|
||||
}
|
||||
|
||||
public object BeforeExecut(ref bool paramIsCancel, params object[] Parameters)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
BIN
SRC/MESPlugin/MESPI_BusinessRule/iMES.snk
Normal file
BIN
SRC/MESPlugin/MESPI_BusinessRule/iMES.snk
Normal file
Binary file not shown.
124
SRC/MESPlugin/MESPI_WIP/MESPI_WIP.csproj
Normal file
124
SRC/MESPlugin/MESPI_WIP/MESPI_WIP.csproj
Normal file
@ -0,0 +1,124 @@
|
||||
<?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>{F9051601-B027-0745-17C2-D36A87ABB6A1}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>MESPI_WIP</RootNamespace>
|
||||
<AssemblyName>MESPI_WIP</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\plugin\WIP\</OutputPath>
|
||||
<DocumentationFile>..\..\MES_S_DLL\plugin\WIP\MESPI_WIP.xml</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
</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\MESPI_WIP.xml</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
</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="iMESException, Version=6.0.0.0, Culture=neutral, PublicKeyToken=3ad2cfbf6a289680, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_S_DLL\iMESException.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="iMESLog">
|
||||
<HintPath>..\..\MES_S_DLL\iMESLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="kcPRD, Version=6.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MES_S_DLL\kcPRD.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="kcWIP">
|
||||
<HintPath>..\..\MES_S_DLL\kcWIP.dll</HintPath>
|
||||
</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="My Project\AssemblyInfo.cs" />
|
||||
<Compile Include="My Project\Application.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Application.myapp</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="My Project\Application.myapp">
|
||||
<Generator>MyApplicationCodeGenerator</Generator>
|
||||
<LastGenOutput>Application.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<CustomToolNamespace>MESPI_WIP.My</CustomToolNamespace>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</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>
|
||||
-->
|
||||
</Project>
|
||||
32
SRC/MESPlugin/MESPI_WIP/MESPI_WIP.sln
Normal file
32
SRC/MESPlugin/MESPI_WIP/MESPI_WIP.sln
Normal file
@ -0,0 +1,32 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MESPI_WIP", "MESPI_WIP.csproj", "{F9051601-B027-0745-17C2-D36A87ABB6A1}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{F9051601-B027-0745-17C2-D36A87ABB6A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F9051601-B027-0745-17C2-D36A87ABB6A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F9051601-B027-0745-17C2-D36A87ABB6A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F9051601-B027-0745-17C2-D36A87ABB6A1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(TeamFoundationVersionControl) = preSolution
|
||||
SccNumberOfProjects = 1
|
||||
SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
|
||||
SccTeamFoundationServer = http://tfs.imestech.com:8080/tfs/messeries6
|
||||
SccProjectUniqueName0 = MESPI_WIP.csproj
|
||||
SccProjectName0 = .
|
||||
SccAuxPath0 = http://tfs.imestech.com:8080/tfs/messeries6
|
||||
SccLocalPath0 = .
|
||||
SccProvider0 = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
11
SRC/MESPlugin/MESPI_WIP/My Project/Application.Designer.cs
generated
Normal file
11
SRC/MESPlugin/MESPI_WIP/My Project/Application.Designer.cs
generated
Normal file
@ -0,0 +1,11 @@
|
||||
// ------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 這段程式碼是由工具產生的。
|
||||
// 執行階段版本:4.0.30319.42000
|
||||
//
|
||||
// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
|
||||
// 變更將會遺失。
|
||||
// </auto-generated>
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
10
SRC/MESPlugin/MESPI_WIP/My Project/Application.myapp
Normal file
10
SRC/MESPlugin/MESPI_WIP/My Project/Application.myapp
Normal 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>
|
||||
35
SRC/MESPlugin/MESPI_WIP/My Project/AssemblyInfo.cs
Normal file
35
SRC/MESPlugin/MESPI_WIP/My Project/AssemblyInfo.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 組件的一般資訊是由下列的屬性集控制。
|
||||
// 變更這些屬性的值即可修改組件的相關
|
||||
// 資訊。
|
||||
|
||||
// 檢閱組件屬性的值
|
||||
|
||||
[assembly: AssemblyTitle("MESPI_WIP")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("MESPI_WIP")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID
|
||||
[assembly: Guid("438509c2-63aa-45a9-955b-b76a4ad092ac")]
|
||||
|
||||
// 組件的版本資訊是由下列四項值構成:
|
||||
//
|
||||
// 主要版本
|
||||
// 次要版本
|
||||
// 組建編號
|
||||
// 修訂編號
|
||||
//
|
||||
// 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號
|
||||
// 指定為預設值:
|
||||
// <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
117
SRC/MESPlugin/MESPI_WIP/My Project/Resources.resx
Normal file
117
SRC/MESPlugin/MESPI_WIP/My Project/Resources.resx
Normal 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>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user