initial commit
This commit is contained in:
BIN
Sub/AmkorRestfulService/.vs/AmkorRestfulService/v15/.suo
Normal file
BIN
Sub/AmkorRestfulService/.vs/AmkorRestfulService/v15/.suo
Normal file
Binary file not shown.
Binary file not shown.
25
Sub/AmkorRestfulService/AmkorRestfulService.sln
Normal file
25
Sub/AmkorRestfulService/AmkorRestfulService.sln
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27428.2037
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AmkorRestfulService", "AmkorRestfulService\AmkorRestfulService.csproj", "{58CFC90C-5068-46A2-A8DE-0E92EE9E0990}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {3A5E5D7A-83B2-4903-B79F-0D1966B74E83}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" 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>{58CFC90C-5068-46A2-A8DE-0E92EE9E0990}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Amkor</RootNamespace>
|
||||
<AssemblyName>AmkorRestfulService</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\DLL\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Class1.cs" />
|
||||
<None Include="CHANGELOG" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
2
Sub/AmkorRestfulService/AmkorRestfulService/CHANGELOG
Normal file
2
Sub/AmkorRestfulService/AmkorRestfulService/CHANGELOG
Normal file
@@ -0,0 +1,2 @@
|
||||
18-05-02 chi 일반상황시 url 조회등의 메세지를 추가함
|
||||
18-04-26 chi gendatatable 작업시에 비어잇는 열은 제외한다
|
||||
539
Sub/AmkorRestfulService/AmkorRestfulService/Class1.cs
Normal file
539
Sub/AmkorRestfulService/AmkorRestfulService/Class1.cs
Normal file
@@ -0,0 +1,539 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
|
||||
namespace Amkor
|
||||
{
|
||||
public class RestfulService
|
||||
{
|
||||
public class MessageEventArgs : EventArgs
|
||||
{
|
||||
public Boolean isError { get; set; }
|
||||
public string Message { get; set; }
|
||||
public MessageEventArgs(bool iserr_ ,string msg_)
|
||||
{
|
||||
this.isError = iserr_;
|
||||
this.Message = msg_;
|
||||
}
|
||||
}
|
||||
public static event EventHandler<MessageEventArgs> Message;
|
||||
public static void RaiseMessage(Boolean iserr, string msg)
|
||||
{
|
||||
if (Message != null)
|
||||
Message(null, new MessageEventArgs(iserr, msg));
|
||||
}
|
||||
|
||||
public static Boolean isLocalTEST = true;
|
||||
public struct sSearchResult
|
||||
{
|
||||
public Boolean isError { get; set; }
|
||||
public string Value { get; set; }
|
||||
}
|
||||
|
||||
public struct sStripList
|
||||
{
|
||||
public string Magazine;
|
||||
public string StripID;
|
||||
public sStripList(string mz, string strip)
|
||||
{
|
||||
this.Magazine = mz;
|
||||
this.StripID = strip;
|
||||
}
|
||||
}
|
||||
|
||||
public static System.Data.DataTable GetLotListbyLineCode(string LineCode, out string errorMessage)
|
||||
{
|
||||
Boolean isError = false;
|
||||
errorMessage = string.Empty;
|
||||
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/lot_list/line_code/" + LineCode;
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/lot_list/line_code.html?code=" + LineCode;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
//수신된 데이터 전체를 데이터테이블로 생성한다.
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
return _GenerateDataTable(buffer);
|
||||
}
|
||||
|
||||
public static System.Data.DataTable GetLotInfobyMZ(string MZ, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/get_lot_info_by_magazine_id/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/get_lot_info_by_magazine_id.html?code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(MZ);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "GetLotInfobyMZ Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
return _GenerateDataTable(buffer);
|
||||
}
|
||||
|
||||
public static System.Data.DataTable Get_EPC_Code(string barcode, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/epc/get_epc_code/";
|
||||
//if (isLocalTEST) url = "http://127.0.0.1/ysj/epc/get_epc_code/code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(barcode);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "Get_EPC_Code Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
return _GenerateDataTable(buffer);
|
||||
}
|
||||
public static System.Data.DataTable GetLotInfobyStripID(string StripID, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/get_lot_info_by_strip_id/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/get_lot_info_by_strip_id.html?code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(StripID);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "GetLotInfobyStripID Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
return _GenerateDataTable(buffer);
|
||||
}
|
||||
|
||||
|
||||
public static System.Data.DataTable GetLotInfobyALTag(string alTag, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/lot_info/get_lot_info_by_al_tag/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/lot_info/get_lot_info_by_al_tag.html?code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(alTag);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "GetLotInfobyStripID Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
return _GenerateDataTable(buffer);
|
||||
}
|
||||
|
||||
public static List<sStripList> GetStripListbyLot(string Lot, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/get_magazine_strip_list_by_lot_id/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/get_magazine_strip_list_by_lot_id.html?code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(Lot);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "GetStripListbyLot Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
|
||||
// example
|
||||
// MagazineId + (Tab) + StripId + (CR / LF)
|
||||
// PG 12345; 678 + (Tab) + SEORL36_MGP9805040
|
||||
|
||||
List<sStripList> retval = new List<sStripList>();
|
||||
foreach (string line in buffer.Split('\n'))
|
||||
{
|
||||
if (line.Trim() == "") continue;
|
||||
var tabbuf = line.Split('\t');
|
||||
if (tabbuf.Length == 2) retval.Add(new sStripList(tabbuf[0], tabbuf[1]));
|
||||
else RaiseMessage(true, "GetStripListbyLot Parse Error|" + line + "|Tabbuffer len (2)");
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
public static List<sStripList> GetStripListbyMZ(string MZ, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/get_strip_list_by_magazine_id/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/get_strip_list_by_magazine_id.html?code=";
|
||||
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(MZ);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "GetStripListbyMZ Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
|
||||
// example
|
||||
// MagazineId + (Tab) + StripId + (CR / LF)
|
||||
// PG 12345; 678 + (Tab) + SEORL36_MGP9805040
|
||||
|
||||
List<sStripList> retval = new List<sStripList>();
|
||||
foreach (string line in buffer.Split('\n'))
|
||||
{
|
||||
if (line.Trim() == "") continue;
|
||||
var tabbuf = line.Split('\t');
|
||||
if (tabbuf.Length == 2) retval.Add(new sStripList(tabbuf[0], tabbuf[1]));
|
||||
else RaiseMessage(true, "GetStripListbyMZ Parse Error|" + line + "|Tabbuffer len (2)");
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
public static sSearchResult FindSMbyLot(string LineCode, string LOT)
|
||||
{
|
||||
sSearchResult retval = new sSearchResult();
|
||||
string outMessage;
|
||||
var dt = GetLotListbyLineCode(LineCode, out outMessage);
|
||||
if (dt == null || dt.Rows.Count < 1)
|
||||
{
|
||||
retval.isError = true;
|
||||
retval.Value = outMessage;
|
||||
return retval;
|
||||
}
|
||||
|
||||
//this
|
||||
string sql = "Lot_No = '" + LOT + "'";
|
||||
var rows = dt.Select(sql);
|
||||
if (rows.Length < 1)
|
||||
{
|
||||
retval.isError = true;
|
||||
retval.Value = "No Lot : " + LOT;
|
||||
return retval;
|
||||
}
|
||||
|
||||
if (rows[0]["strip_Mark"] == null)
|
||||
{
|
||||
retval.isError = true;
|
||||
retval.Value = "Strip_Mark is Null";
|
||||
return retval;
|
||||
}
|
||||
|
||||
retval.isError = false;
|
||||
retval.Value = rows[0]["strip_Mark"].ToString();
|
||||
return retval;
|
||||
}
|
||||
|
||||
public static sSearchResult FindLotbySM(string LineCode, string SM)
|
||||
{
|
||||
sSearchResult retval = new sSearchResult();
|
||||
string outMessage;
|
||||
var dt = GetLotListbyLineCode(LineCode, out outMessage);
|
||||
if (dt == null || dt.Rows.Count < 1)
|
||||
{
|
||||
retval.isError = true;
|
||||
retval.Value = outMessage;
|
||||
return retval;
|
||||
}
|
||||
|
||||
//this
|
||||
string sql = "strip_Mark = '" + SM + "'";
|
||||
var rows = dt.Select(sql);
|
||||
if (rows.Length < 1)
|
||||
{
|
||||
retval.isError = true;
|
||||
retval.Value = "No strip_Mark : " + SM;
|
||||
return retval;
|
||||
}
|
||||
|
||||
if (rows[0]["Lot_No"] == null)
|
||||
{
|
||||
retval.isError = true;
|
||||
retval.Value = "Lot_No is Null";
|
||||
return retval;
|
||||
}
|
||||
|
||||
retval.isError = false;
|
||||
retval.Value = rows[0]["Lot_No"].ToString();
|
||||
return retval;
|
||||
}
|
||||
|
||||
public static Boolean RemoveMZFromLOT(string LOT, string MZ, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/delete_magazine_id_from_lot/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/del_magazine.html?code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(MZ);
|
||||
url = url + "," + System.Web.HttpUtility.UrlEncodeUnicode(LOT);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "RemoveMZFromLOT Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
errorMessage = buffer;
|
||||
return true;
|
||||
}
|
||||
public static Boolean RemoveStripIDFromMZ(string strip, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/del_strip_id/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/del_strip_id.html?code=";
|
||||
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(strip);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "RemoveStripIDFromMZ Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
errorMessage = buffer;
|
||||
return true;
|
||||
}
|
||||
public static Boolean ChangeMazineID(string Lot, string Src_MZ, string Des_MZ, out string errorMessage)
|
||||
{
|
||||
//remove
|
||||
if (!RemoveMZFromLOT(Lot, Src_MZ, out errorMessage))
|
||||
{
|
||||
errorMessage = "Remove M/Z Error : " + errorMessage;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!SetMZtoLot(Lot, Des_MZ, out errorMessage))
|
||||
{
|
||||
errorMessage = "Set M/Z Error : " + errorMessage;
|
||||
return false;
|
||||
}
|
||||
|
||||
errorMessage = string.Empty;
|
||||
return true;
|
||||
}
|
||||
public static Boolean SetMZtoLot(string Lot, string Mz, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/set_magazine_id_to_lot/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/set_lot_id_by_magazine_id.html?code=";
|
||||
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(Mz) + "," +
|
||||
System.Web.HttpUtility.UrlEncodeUnicode(Lot);
|
||||
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "SetMZtoLot Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
|
||||
errorMessage = buffer;
|
||||
return true;
|
||||
}
|
||||
public static Boolean SetStripToMZ(string MZ, string strip, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/set_magazine_id_by_strip_id/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/set_magazine_id_by_strip_id.html?code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(MZ) + "," +
|
||||
System.Web.HttpUtility.UrlEncodeUnicode(strip);
|
||||
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "SetStripToMZ Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
|
||||
var stripList = _GenerateStripList(buffer);
|
||||
if (stripList.Where(t => t.StripID == strip).Count() > 0)//생성된 목록에서 추가된 stripid가 존재하는지 확인한다.
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
errorMessage = "Command OK but No Data in Reply";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#region "utility"
|
||||
|
||||
public static string GetFromUrl(string url, out Boolean isError)
|
||||
{
|
||||
isError = false;
|
||||
string result = "";
|
||||
try
|
||||
{
|
||||
RaiseMessage(false, "GET : " + url);
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url));
|
||||
request.Timeout = 60000;
|
||||
request.ReadWriteTimeout = 60000;
|
||||
|
||||
request.MaximumAutomaticRedirections = 4;
|
||||
request.MaximumResponseHeadersLength = 4;
|
||||
request.Credentials = CredentialCache.DefaultCredentials;
|
||||
var response = request.GetResponse() as HttpWebResponse;
|
||||
var txtReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
|
||||
result = txtReader.ReadToEnd();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
isError = true;
|
||||
result = ex.Message.ToString();
|
||||
RaiseMessage(true, "GET-ERROR\n" + result);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string Cvt_LotToAltag(string lot)
|
||||
{
|
||||
return "L" + lot + "; ;";
|
||||
}
|
||||
public static string Cvt_AltagToLot(string alTag)
|
||||
{
|
||||
var semi = alTag.IndexOf(';');
|
||||
if (semi < 0) return alTag;
|
||||
return alTag.Substring(1, alTag.Length - semi - 1);
|
||||
}
|
||||
static string _GenerateHexString(string buffer)
|
||||
{
|
||||
System.Text.StringBuilder sb = new StringBuilder();
|
||||
foreach (var c in buffer.ToCharArray())
|
||||
sb.Append(((byte)c).ToString("X2"));
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
static System.Data.DataTable _GenerateDataTable(string buffer)
|
||||
{
|
||||
//탭으로분리된 데이터를 첫줄을 컬럼으로 사용해서 테이블로 변환한다.
|
||||
System.Data.DataTable dt = new System.Data.DataTable();
|
||||
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
var lines = buffer.Split('\n');
|
||||
string[] cols = null;
|
||||
foreach (string line in lines)
|
||||
{
|
||||
if (line.Trim() == "") continue;
|
||||
if (dt.Columns.Count < 1)
|
||||
{
|
||||
//첫줄을 열 제목이된다.
|
||||
cols = line.Split('\t');
|
||||
foreach (var col in cols)
|
||||
{
|
||||
if(col.Trim() != "")
|
||||
dt.Columns.Add(col);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
//add data;
|
||||
var datas = line.Split('\t');
|
||||
if (cols.Length != datas.Length)
|
||||
{
|
||||
RaiseMessage(true, string.Format("Column Count ({0}), Data Count({1}) != Miss Match", cols.Length, datas.Length));
|
||||
continue;
|
||||
}
|
||||
|
||||
//add data
|
||||
var newdr = dt.NewRow();
|
||||
for (int i = 0; i < cols.Length; i++)
|
||||
{
|
||||
if(cols[i].Trim() != "")
|
||||
newdr[cols[i]] = datas[i];
|
||||
}
|
||||
dt.Rows.Add(newdr);
|
||||
}
|
||||
dt.AcceptChanges();
|
||||
return dt;
|
||||
}
|
||||
|
||||
static List<sStripList> _GenerateStripList(string buffer)
|
||||
{
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
List<sStripList> retval = new List<sStripList>();
|
||||
foreach (string line in buffer.Split('\n'))
|
||||
{
|
||||
if (line.Trim() == "") continue;
|
||||
var tabbuf = line.Split('\t');
|
||||
if (tabbuf.Length == 2) retval.Add(new sStripList(tabbuf[0], tabbuf[1]));
|
||||
else RaiseMessage(true, "SetStripToMZ Parse Error|" + line + "|Tabbuffer len (2)");
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
|
||||
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이러한 특성 값을 변경하세요.
|
||||
[assembly: AssemblyTitle("AmkorRestfulService")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("AmkorRestfulService")]
|
||||
[assembly: AssemblyCopyright("Copyright ©Amkor 2018")]
|
||||
[assembly: AssemblyTrademark("EET")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
|
||||
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
[assembly: Guid("58cfc90c-5068-46a2-a8de-0e92ee9e0990")]
|
||||
|
||||
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
//
|
||||
// 주 버전
|
||||
// 부 버전
|
||||
// 빌드 번호
|
||||
// 수정 버전
|
||||
//
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
|
||||
// 기본값으로 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("18.05.03.1130")]
|
||||
[assembly: AssemblyFileVersion("18.05.03.1130")]
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
a753a9217ecdf1f178584818e55b4b5ec9204d0c
|
||||
@@ -0,0 +1,52 @@
|
||||
D:\Amkor\Source\Library\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.csproj.CoreCompileInputs.cache
|
||||
D:\Amkor\Source\Library\AmkorRestfulService\AmkorRestfulService\bin\Debug\AmkorRestfulService.dll
|
||||
D:\Amkor\Source\Library\AmkorRestfulService\AmkorRestfulService\bin\Debug\AmkorRestfulService.pdb
|
||||
D:\Amkor\Source\Library\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Amkor\Source\Library\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Amkor\Source\DLL\AmkorRestfulService.dll
|
||||
D:\Amkor\Source\DLL\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180426_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180426_1000\DLL\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180426_1000\DLL\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180426_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180509_2300_milk\DLL\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180509_2300_milk\DLL\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180509_2300_milk\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.csprojResolveAssemblyReference.cache
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180509_2300_milk\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180509_2300_milk\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180510_2300_milk\DLL\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180510_2300_milk\DLL\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180510_2300_milk\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180510_2300_milk\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\_Frame\DLL\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\_Frame\DLL\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\_Frame\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\_Frame\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\_Frame\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.csprojResolveAssemblyReference.cache
|
||||
D:\Source\GroupWare\DLL\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\DLL\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1000\DLL\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1000\DLL\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1800\DLL\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1800\DLL\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1800\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1800\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180604_1000\DLL\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180604_1000\DLL\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180604_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.csprojResolveAssemblyReference.cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180604_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180604_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180608_1000\DLL\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180608_1000\DLL\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180608_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.csprojResolveAssemblyReference.cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180608_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180608_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\DLL\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\DLL\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.csprojResolveAssemblyReference.cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1
Sub/AmkorRestfulService/CHANGELOG
Normal file
1
Sub/AmkorRestfulService/CHANGELOG
Normal file
@@ -0,0 +1 @@
|
||||
18-04-26 chi 프로젝트생성(message 이벤트 추가)
|
||||
Reference in New Issue
Block a user