This repo is archived. You can view files and clone it, but cannot push or open issues or pull requests.
SXS20240115/SRC/MESEAI/EAICws/EAICws/modERP.cs
2024-01-15 10:57:41 +08:00

120 lines
4.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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