Files
U8API/UFIDA.U8.Framework.Api/Unit/RemoteLoader.cs
T
qmj b8a9595cc1 1.车间管理调整为异步
2.明确生产制造的部署模式为单账套部署,多账套采用多服务的形式部署
2025-07-23 08:57:44 +08:00

117 lines
3.3 KiB
C#

using log4net;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using UFIDA.U8.Framework.Api.ControlObject.Entity;
using UFIDA.U8.Framework.Api.ControlObject.U8M;
namespace UFIDA.U8.Framework.Api.Unit
{
/// <summary>
/// 跨域加载
/// </summary>
internal class RemoteLoader : MarshalByRefObject
{
public LoginParamter _paramter;
private readonly ILog _logInfo = LogManager.GetLogger("logInfo");
/// <summary>
/// 构造函数
/// </summary>
/// <param name="paramter">登录参数</param>
internal RemoteLoader(LoginParamter paramter)
{
_paramter = paramter;
}
/// <summary>
/// 保存
/// </summary>
/// <param name="cCardNum">单据类型编码</param>
/// <param name="input">数据包</param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
internal async Task<BaseResult<string>> Save(string cCardNum, Dictionary<string, object> input)
{
try
{
IBaseBF bf;
switch (cCardNum)
{
case "FC90":
case "FC91":
case "FC92":
bf = new MoRoutingBill();
break;
default:
bf = null;
break;
}
if (bf == null)
{
throw new Exception("不支持的单据");
}
var baseLogin = new BaseLogin();
baseLogin.Init(_paramter);
return await bf.Save(baseLogin, cCardNum, input);
}
catch (Exception ex)
{
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
}
/// <summary>
/// 批量保存
/// </summary>
/// <param name="cCardNum">单据类型编码</param>
/// <param name="inputs">数据包</param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
internal async Task<BaseResult<string>> Save(string cCardNum, List<Dictionary<string, object>> inputs)
{
try
{
IBaseBF bf;
switch (cCardNum)
{
case "FC90":
case "FC91":
case "FC92":
bf = new MoRoutingBill();
break;
default:
bf = null;
break;
}
if (bf == null)
{
throw new Exception("不支持的单据");
}
var baseLogin = new BaseLogin();
baseLogin.Init(_paramter);
return await bf.Save(baseLogin, cCardNum, inputs);
}
catch (Exception ex)
{
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
}
}
}