using MailKit.Search; using Microsoft.Extensions.Logging; using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical; using Org.BouncyCastle.Math.EC; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Reflection.Metadata; using System.Text; using System.Threading.Tasks; using WIDESEA_Common.Log; using WIDESEA_Common.TaskEnum; using WIDESEA_Core; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; using WIDESEA_DTO.Inbound; using WIDESEA_DTO.Task; using WIDESEA_Model.Models; using static WIDESEA_ITaskInfoService.ITaskService; namespace WIDESEA_TaskInfoService { public partial class TaskService { //WCS获取任务进行反馈 public WebResponseContent PalletInboundTask(WCSTaskDTO wCSTask) { WebResponseContent webResponse = new WebResponseContent(); try { Dt_Task task = BaseDal.QueryFirst(x =>x.PalletCode == wCSTask.PalletCode); if (task == null) return WebResponseContent.Instance.Error($"未找到任务信息,托盘条码:{wCSTask.PalletCode}"); if (task.TaskStatus == (int)InTaskStatusEnum.InNew) { task.TaskStatus = (int)InTaskStatusEnum.PLC_InExecuting; MES_parameter mES_Parameter = InStoreDocCallback(task.TaskNum, "Start", "操作成功", task.PalletCode, ""); if (mES_Parameter.Result == "Y") { WCStask wcstaskinfo = new WCStask(); wcstaskinfo.TaskId = task.TaskId; wcstaskinfo.AreaNo = int.Parse(task.Roadway); wcstaskinfo.TransNo = task.TaskNum; wcstaskinfo.ContainerNo = task.PalletCode; wcstaskinfo.ContainerType = int.Parse(task.PalletType); wcstaskinfo.FromPoint = wCSTask.FromPoint; wcstaskinfo.ToPoint = task.NextAddress; wcstaskinfo.ToStation = ""; //进行修改数据库 BaseDal.UpdateData(task); return webResponse.OK(data: task.ToJson()); } else { return webResponse.Error("上传MES失败,原因:" + mES_Parameter.ResultMsg); } } else { return webResponse.Error($"下发输送线任务失败,当前托盘条码:{task.PalletCode},不在新建中,不可重复下发"); } } catch (Exception ex) { return webResponse.Error("任务获取失败,wms系统故障,原因:"+ex.Message); } } } }