using Admin.NET.Application;
using Admin.NET.Core.EnterWareHouseModule;
using Admin.NET.Core.EnterWareHouseModule.Enum;
using Admin.NET.Core.TaskModule.Enum;
using iWareCommon.Utils;
using iWareModel;
using iWareModel.EnumType.AoSinPublicCommon;
using iWareSql.DbOrm;
using iWareSql.Orm;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace iWareCC
{
public class MainTaskCompleteHandle
{
public static LogType currentLogType = LogType.MainTaskCompleteHandle;
public static string host = ConfigHelper.GetConfigString("WMSHost");
public static string confirm = ConfigHelper.GetConfigString("confirm");
///
/// 任务完成后处理单据状态
///
public static void HandlerMainTaskStatus()
{
List tasks = new List();
WMSConfirmInput wmsConfirmInput = null;
CommonResponse wmsResults = null;
while (true)
{
//WMSConfirmInput wmsConfirmInput1 = new WMSConfirmInput() { TaskID = 1111111111, ContainerCode = "2222222" };
//var wmsResults1 = HttpHelper.GetHttpResponse(host + confirm, wmsConfirmInput1, 10000);
//if (wmsResults1.success)
//{
// Log4NetHelper.WriteErrorLog(currentLogType, "任务ID" + 1111111111 + "完成确认成功");
// SystemWarningMsg._lbl_TaskFinished = "任务ID" + 1111111111 + "完成确认成功";
//}
//else
//{
// Log4NetHelper.WriteErrorLog(currentLogType, "任务ID" + 1111111111 + "完成确认失败,");
// Log4NetHelper.WriteErrorLog(currentLogType, "任务ID" + 1111111111 + "完成确认失败," + wmsResults1.message);
// SystemWarningMsg._lbl_TaskFinished = "任务ID" + 1111111111 + "完成确认失败," + wmsResults1.message;
//}
try
{
using (DbOrm dbOrm = new DbOrm())
{
tasks = dbOrm.ware_task.Where(x => x.TaskState == (int)TaskStateEnum.已完成 && (x.TaskCategory != (int)TaskCategoryEnum.Floor || x.TaskType == 22)).ToList();
if (tasks == null || tasks.Count == 0)
{
SystemWarningMsg._lbl_TaskFinished = "当前没有任务要处理";
}
foreach (var item in tasks)
{
//short height = 0;
//if (item.TaskCategory == (int)TaskCategoryEnum.Front)
//{
// var temp = FormCC.conveyerView.R_ConveyerForReadCommList.Where(u => u.StationCode == item.ToLocationCode).FirstOrDefault();
// height = temp.R_SalverHeight;
// Log4NetHelper.WriteErrorLog(currentLogType, "采集到" + item.ContainerCode + "托盘高度" + height);
// SystemWarningMsg._lbl_TaskFinished = "采集到" + item.ContainerCode + "托盘高度" + height;
//}
wmsConfirmInput = new WMSConfirmInput() { TaskID = item.Id, ContainerCode = item.ContainerCode };
wmsResults = HttpHelper.GetHttpResponse(host + confirm, wmsConfirmInput, 10000);
if (wmsResults.success)
{
Log4NetHelper.WriteErrorLog(currentLogType, $"任务ID{item.Id} 完成确认成功");
SystemWarningMsg._lbl_TaskFinished = $"任务ID{item.Id} 完成确认成功";
}
else
{
Log4NetHelper.WriteErrorLog(currentLogType, $"任务ID{item.Id}完成确认失败,");
Log4NetHelper.WriteErrorLog(currentLogType, $"任务ID{item.Id}完成确认失败,{wmsResults.message}");
SystemWarningMsg._lbl_TaskFinished = $"任务ID{item.Id}完成确认失败,{wmsResults.message}";
}
//}
}
}
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(currentLogType, $"HandlerMainTaskStatus处理单据状态异常,{ex.Message}");
}
Thread.Sleep(2000);//休眠2秒
}
}
}
}