using MailKit.Search; using Microsoft.Extensions.Logging; using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical; 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 { 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) { //进行调取输送线下发任务 WCSginseng WCS_Parame = PLC_IssueTasks(task.TaskId,int.Parse(task.Roadway),task.TaskNum,task.PalletCode, int.Parse(task.PalletType), wCSTask.FromPoint,task.NextAddress,""); if (WCS_Parame.IsSuccess) { task.TaskStatus = (int)InTaskStatusEnum.PLC_InExecuting; MES_parameter mES_Parameter = InStoreDocCallback(task.TaskNum, "Start","操作成功",task.PalletCode,""); if (mES_Parameter.Result == "Y") { //进行修改数据库 BaseDal.UpdateData(task); return webResponse.OK("下发输送线任务成功"); } else { return webResponse.Error("上传MES失败,原因:" + mES_Parameter.ResultMsg); } } else { return webResponse.Error("下发输送线任务失败,原因:" + WCS_Parame.Message); } } else { return webResponse.Error($"下发输送线任务失败,当前托盘条码:{task.PalletCode},不在新建中,不可重复下发"); } } catch (Exception ex) { return webResponse.Error("任务获取失败,wms系统故障,原因:"+ex.Message); } } } }