using SqlSugar.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_TaskInfoService
{
public partial class TaskService
{
///
/// 人工操作任务
/// 1:完成;2:取消
///
///
///
public WebResponseContent ManualTask(SaveModel saveModel)
{
WebResponseContent webResponseContent = new WebResponseContent();
try
{
var Tasks = BaseDal.QueryData(x => saveModel.DelKeys.Contains(x.TaskId));
if (Tasks.Where(x => !TaskInboundTypes.Contains(x.TaskType)).Any()) throw new Exception("只可取消入库任务");
if (Tasks.Where(x => x.TaskState > TaskInStatusEnum.AGV_InFinish.ObjToInt()).Any()) throw new Exception("暂不可取消已上输送线任务");
//var UserName = App.User?.UserName;
Tasks.ForEach(x =>
{
x.TaskState = TaskInStatusEnum.InCancel.ObjToInt();
//x.Modifier = UserName;
//x.ModifyDate = DateTime.Now;
});
BaseDal.UpdateData(Tasks);
webResponseContent.OK();
}
catch (Exception ex)
{
webResponseContent.Error(ex.Message);
}
return webResponseContent;
}
public WebResponseContent ModifyBarcode(WMSTaskDTO wMSTask)
{
WebResponseContent content = new WebResponseContent();
try
{
Dt_Task? dt_Task = BaseDal.QueryFirst(x => x.TaskNum == wMSTask.TaskNum);
if (dt_Task == null) throw new Exception($"WCS未找到任务,任务号:【{wMSTask.TaskNum}】");
dt_Task.PalletCode = wMSTask.PalletCode;
BaseDal.UpdateData(dt_Task);
content.OK();
}
catch (Exception ex)
{
content.Error(ex.Message);
}
return content;
}
}
}