2024-01-15 14:20:27 +08:00
using System ;
using Microsoft.VisualBasic ;
using static iMESCore . Base . iMESComSubroutine ;
using static iMESCore . Base . iMESComXML ;
using static iMESCore . Base . iMESConst ;
using iMESCore.Settings ;
namespace wsSXS
{
public class wsWIP
{
private iMESCore . Settings . AppSettings objSetting = new iMESCore . Settings . AppSettings ( ) ;
private System . Xml . XmlDocument xmlDoc = new System . Xml . XmlDocument ( ) ; // 用以讀取Xml字串
private DateTime ArriveTime ; // 送達時間
private string strIdentity ; // Identity XML字串
private string strReturnValue ; // ReturnValue XML字串
private string strException ; // Exception XML字串
private string strResult ; // Result XML字串
private string strMessage ; // Message XML字串
private string strServiceName = "wsWIP_SXS" ; // ServiceName
private string strResourceDir = "Resources" ;
private kcSYS . clsSYSUserLog objSYS = new kcSYS . clsSYSUserLog ( ) ; // 宣告Sys的物件
public wsWIP ( )
{
try
{
strResourceDir = System . IO . Path . Combine ( "wsUpdateResource" , objSetting [ "ResourceDir" ] . ToString ( ) ) ;
}
catch ( Exception )
{ }
}
public string HelloWorld ( string InXml )
{
return "HelloWorld" ;
}
2024-01-17 16:59:25 +08:00
public string LoadOPMaterialState ( string InXml )
{
string LoadOPMaterialStateRet = null ;
// 先給預設值,以判斷是否有傳入該參數
string OPNo = defString ;
string MaterialNo = defString ;
string MaterialLotNo = defString ;
string UnitNo = defString ;
string MaterialType = defString ;
ArriveTime = DateTime . Now ;
try
{
// 讀取InXml字串
xmlDoc . LoadXml ( InXml ) ;
// 組Identity字串
strIdentity = CombineXMLIdentity ( Environment . MachineName , GetXMLCurUserNo ( xmlDoc ) , ArriveTime . ToString ( defDateTimeFormat ) ) ;
// 判斷是否有傳入OPNo,若有,表示要依OPNo查詢
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "opno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "opno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
OPNo = xmlDoc . DocumentElement . GetElementsByTagName ( "opno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// 判斷是否有傳入MaterialNo,若有,表示要依MaterialNo查詢
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "materialno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "materialno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
MaterialNo = xmlDoc . DocumentElement . GetElementsByTagName ( "materialno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// 判斷是否有傳入MaterialLotNo,若有,表示要依MaterialLotNo查詢
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "materiallotno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "materiallotno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
MaterialLotNo = xmlDoc . DocumentElement . GetElementsByTagName ( "materiallotno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "unitno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "unitno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
UnitNo = xmlDoc . DocumentElement . GetElementsByTagName ( "unitno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "materialtype" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "materialtype" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
MaterialType = xmlDoc . DocumentElement . GetElementsByTagName ( "materialtype" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// 呼叫Dll執行
// strReturnValue = objWIP.LoadOPMaterialState(OPNo, MaterialNo, MaterialLotNo, UnitNo, MaterialType);
strException = "" ;
strResult = "success" ;
}
catch ( iMESException . MESException ex )
{
strReturnValue = "" ;
strException = CombineXMLException ( ex . ErrorCode . ToString ( ) , TranslateMsg ( ex . Message , GetXMLLanguageMode ( xmlDoc ) , strResourceDir ) , "Load OP Material State Fail!!" , ex . StackTrace ) ;
strResult = "fail" ;
}
catch ( Exception ex )
{
strReturnValue = "" ;
strException = CombineXMLException ( defWSErrCode , ex . Message , "Load OP Material State Fail!!" , ex . StackTrace ) ;
strResult = "fail" ;
}
finally
{
// 將各部份之XML字串組起來並傳出
LoadOPMaterialStateRet = CombineXMLResponse ( strIdentity , strReturnValue , strException , strResult , "" ) ;
}
return LoadOPMaterialStateRet ;
}
2024-01-15 14:20:27 +08:00
}
}