using WcsMain.DataBase.Dao;
using WcsMain.DataBase.TableEntity;
using WcsMain.StaticData;
using WcsMain.WcsAttribute.AutoFacAttribute;
namespace WcsMain.Business.CommonAction;
[Component]
public class WmsTaskAction(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsTaskStatus)
{
///
/// 重置WMS任务
///
///
///
///
///
public string ResetWmsTaskStatus(string? taskId, string? newDestination, string systemName)
{
string resetErrMessage = wmsTaskDao.ResetTaskWithTaskId(taskId, newDestination, $"任务被{systemName}重置");
if (string.IsNullOrEmpty(resetErrMessage)) return string.Empty; // 重置成功
// 重置失败,返回错误信息
return $"重置状态失败:任务号:{taskId},参考异常信息:{resetErrMessage}";
}
///
/// 完成WMS任务
///
///
///
///
public string CompleteWmsTaskStatus(string? taskId, string sysName)
{
List? wmsTasks = wmsTaskDao.Select(new AppWmsTask() { TaskId = taskId });
if (wmsTasks != default && wmsTasks.Count > 0)
{
AppWmsTask wmsTask = wmsTasks[0];
if (sysName != StaticString.WMS && wmsTask.CreatePerson == StaticString.WMS)
{
sendWmsTaskStatus.SendTaskComplete(taskId);
}
}
string resetErrMessage = wmsTaskDao.CompleteTaskWithTaskId(taskId, $"【{sysName}】完成");
if (string.IsNullOrEmpty(resetErrMessage)) return string.Empty; // 完成成功
return $"完成任务失败。任务号:{taskId},参考异常信息:{resetErrMessage}";
}
///
/// 删除WMS任务
///
///
///
///
public string DeleteWmsTaskStatus(string? taskId, string sysName)
{
List? wmsTasks = wmsTaskDao.Select(new AppWmsTask() { TaskId = taskId });
if (wmsTasks != default && wmsTasks.Count > 0)
{
AppWmsTask wmsTask = wmsTasks[0];
if (sysName != StaticString.WMS && wmsTask.CreatePerson == StaticString.WMS)
{
sendWmsTaskStatus.SendTaskErr(taskId, $"{sysName} 删除/取消");
}
}
string resetErrMessage = wmsTaskDao.DeleteTaskWithTaskId(taskId, $"【{sysName}】删除/取消");
if (string.IsNullOrEmpty(resetErrMessage)) return string.Empty; // 删除成功
return $"删除/取消任务失败。任务号:{taskId},参考异常信息:{resetErrMessage}";
}
}