using Rhea.Common;
|
using Tiger.IBusiness;
|
using SqlSugar;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Linq.Expressions;
|
using System.Text;
|
using System.Threading;
|
using System.Threading.Tasks;
|
using Tiger.Model;
|
using Tiger.Model.Sharetronic.Shelf;
|
|
namespace Tiger.Business.MES.Transaction
|
{
|
/// <summary>
|
/// SMT上料调度事务
|
/// </summary>
|
public class LoadingMaterial : MESTransactionBase, ILoadingMaterial
|
{
|
public ILoadingMaterial Init(string id, string userCode, string apiHost, string orgCode)
|
{
|
TransID = id;
|
UserCode = userCode;
|
ApiHost = apiHost;
|
OrgCode = orgCode;
|
Logger.Console.Info($"Start {this.GetType().Name} Transaction[ID: {TransID}]");
|
return this;
|
}
|
|
#region Propertys & Variables
|
|
public string UserCode { get; set; }
|
public long UserId { get; set; }
|
public string OrgCode { get; set; }
|
public bool his_isComplete { get; set; }
|
public bool isManual { get; set; }
|
public decimal cutQty { get; set; }
|
|
#endregion Propertys & Variables
|
|
#region Functions
|
|
/// <summary>
|
/// 扫描条码上料
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
public async Task<ApiAction<ProdReqOutput>> ScanItem(BaseCodeInput input)
|
{
|
var action = new ApiAction<ProdReqOutput>();
|
try
|
{
|
if (input.Code.IsNullOrEmpty())
|
{
|
action.IsSuccessed = false;
|
action.LocaleMsg = Biz.L("条码不能为空");
|
return action;
|
}
|
|
//action.Data = new ProdReqOutput()
|
//{
|
// SN = CurInv.SN,
|
// ItemCode = CurInv.ItemInfo.ITEM_CODE,
|
// Qty = CurInv.CurPkg.QTY,
|
// CutQty = CurInv.CurPkg.QTY - cutQty,
|
// isCutting = isCutting,
|
// isExceed = isExceed,
|
// ReqNo = req.BILLCODE,
|
// regionCode = CurInv.Region.REGION_CODE,
|
// locationCode = CurInv.Location?.LOCATION_CODE,
|
//};
|
}
|
catch (Exception ex)
|
{
|
action.CatchExceptionWithLog(ex, $"扫描物料[{input.Code}]复核异常");
|
}
|
return action;
|
}
|
|
/// <summary>
|
/// 添加一个ApiAction的历史记录
|
/// </summary>
|
/// <param name="action"></param>
|
public override void AddHistory<T>(Microsoft.AspNetCore.Http.HttpRequest request, ApiAction<T> action)
|
{
|
var his = action.History();
|
//his.TraceDic.Add("CurReqType", CurReqType);
|
//his.TraceDic.Add("CurInv", CurInv);
|
//his.TraceDic.Add("req", req);
|
//his.TraceDic.Add("toMes", toMes);
|
//his.TraceDic.Add("CurPoolList", CurPoolList);
|
//his.TraceDic.Add("isComplete", his_isComplete);
|
//ActionHistoryList.Add($"{request.HttpContext.TraceIdentifier} at {action.Timestamp:yyyy/MM/dd HH:mm:ss.fff}: {request.Path}", his);
|
LastActionTime = DateTime.Now;
|
}
|
|
#endregion Functions
|
|
public override bool Close(bool needSaveHistoryLog = false)
|
{
|
//needSaveHistoryLog = true;
|
//保存操作日志
|
|
this.IsFinished = true;
|
return IsFinished ? base.Close(needSaveHistoryLog) : IsFinished;
|
}
|
}//endClass
|
}
|