using HH.WCS.Mobox3.AnGang.Controllers;
using HH.WCS.Mobox3.AnGang.Dispatch;
using HH.WCS.Mobox3.AnGang.Models;
using HH.WCS.Mobox3.AnGang.config;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Runtime.Remoting.Messaging;
using System.Text;
using System.Threading.Tasks;
using static HH.WCS.Mobox3.AnGang.Controllers.ApiModel;
using HH.WCS.Mobox3.AnGang.Helpers;
using static HH.WCS.Mobox3.AnGang.Dtos.Response.MoboxResponse;
namespace HH.WCS.Mobox3.AnGang.Helper
{
///
/// wms管到作业
///
internal class WMSHelper
{
///
/// 人工手动PDA取消任务:1=发给AGV取消任务
///
///
///
internal static SimpleResult PDACancleTask(CancleTaskInfo model)
{
SimpleResult simpleResult = new SimpleResult();
var db = DbHelper.GetDbClient();
try
{
if (model.taskNO.Length > 0)
{
var task = db.Queryable().First(a => a.S_CODE == model.taskNO);
if (task != null && task.S_B_STATE != "完成")
{
if (NDCApi.CancelOrder(model.taskNO).err_code == 0)
{
task.S_B_STATE = "错误";
task.N_B_STATE = 4;
if (db.Updateable(task).ExecuteCommand() > 0)
{
simpleResult.resultCode = 0;
simpleResult.resultMsg = $"通知AGV取消该任务号,成功,{model.taskNO}";
LogHelper.Info(simpleResult.resultMsg);
return simpleResult;
}
else
{
simpleResult.resultCode = 4;
simpleResult.resultMsg = $"更新任务状态信息失败{model.taskNO}";
LogHelper.Info(simpleResult.resultMsg);
return simpleResult;
}
}
else
{
simpleResult.resultCode = 1;
simpleResult.resultMsg = $"通知AGV取消该任务号,失败,{model.taskNO}";
LogHelper.Info(simpleResult.resultMsg);
return simpleResult;
}
}
else
{
simpleResult.resultCode = 2;
simpleResult.resultMsg = $"未找到该任务号或该任务号已完成,无需通知AGV取消";
LogHelper.Info(simpleResult.resultMsg);
return simpleResult;
}
}
else
{
simpleResult.resultCode = 3;
simpleResult.resultMsg = $"人工手动PDA取消任务:1=发给AGV取消任务,参数无效";
LogHelper.Info(simpleResult.resultMsg);
return simpleResult;
}
}
catch (Exception ex)
{
simpleResult.resultCode = -1;
simpleResult.resultMsg = $"发生了异常{ex.Message}";
LogHelper.Info(simpleResult.resultMsg);
return simpleResult;
}
}
}
}