Admin
2026-01-16 d5fe80c5cb7dc0b209d8fea9faa84c7ca5b20324
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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);
            }
        }
 
        
    }
}