DESKTOP-9BNTV8O
2025-03-11 6fee855d645de9dbf1c4072ab28c3f1e7a3d4d09
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
using Elastic.Clients.Elasticsearch;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using WCS.Application.Entity;
 
namespace WCS.Application;
 
/// <summary>
/// 示例开放接口
/// </summary>
[ApiDescriptionSettings("开放接口", Name = "Demo", Order = 100)]
//[Authorize(AuthenticationSchemes = SignatureAuthenticationDefaults.AuthenticationScheme)]
[AllowAnonymous]
public class DemoOpenApi : IDynamicApiController
{
    private static readonly ISqlSugarClient _db = SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId);
 
    private readonly UserManager _userManager;
 
    public DemoOpenApi(UserManager userManager)
    {
        _userManager = userManager;
    }
 
    //[HttpGet("helloWord")]
    //public Task<string> HelloWord()
    //{
    //    return Task.FromResult($"Hello word. {_userManager.Account}");
    //}
 
    // <summary>
    /// WCS接受WMS下发的任务(单条任务)
    /// </summary>
    /// <param name="models">任务信息</param>
    /// <returns>反馈信息</returns>
    [AllowAnonymous]
    public ResponseModel AddWcsTasks(List<ResponseTasksModel> modelList)
    {
        ResponseModel result = new ResponseModel();
        result.StatusCode = 0;
        try
        {            
            foreach (var models in modelList)
            {
                var res = AddWcsTask(models);
                if (res.StatusCode == -1)
                {
                    result.StatusCode = -1;
                    result.Msg = res.Msg;
                }
                else if (res.StatusCode == 0)
                {
                    result.StatusCode = 0;
                    result.Msg = models.TaskNo + "任务" + res.Msg;
                }
            }            
        }
        catch (Exception ex)
        {
            return new ResponseModel() { StatusCode = -1, Msg = ex.Message };
        }
        return result;
    }
    /// <summary>
    /// WCS接受WMS下发的任务(单条任务)
    /// </summary>
    /// <param name="models">任务信息</param>
    /// <returns>反馈信息</returns>
    [AllowAnonymous]
    public ResponseModel AddWcsTask(ResponseTasksModel models)
    {
        ResponseModel result = new ResponseModel();
        try
        {
            // 验证任务是否已存在
            var taskInfo = _db.Queryable<WcsTask>().First(w => w.TaskNo == models.TaskNo);
            if (taskInfo != null)
            {
                result.StatusCode = -1;
                result.Msg = "任务:" + models.TaskNo + ";已存在!";
                return result;
            }
            if (models.TaskType == "0")
            {
                models.Order = 1;
            }
            else
            {
                models.Order = 2;
            }
            //新增任务
            var taskAdd = new WcsTask()
            {
                TaskNo = models.TaskNo,
                TaskType = TaskTypeEnum.Out,
                Status = TaskStatusEnum.Wait,
                //IsSuccess =TaskSuccessEnum.Success,
                Origin = "WMS",
                StartRoadway= models.StartRoadway,
                StartLocate = models.StartLocate,
                EndLocate = models.EndLocate,
                EndRoadway= models.EndRoadway,
                PalletNo = models.PalletNo,
 
                //LotNo =models.LotNo,
                //SkuNo=models.SkuNo,
                //SkuName=models.SkuName,
                //Qty=models.Qty
            };
            _db.Insertable(taskAdd).ExecuteCommand();           
 
            return new ResponseModel() { StatusCode = 0, Msg = "插入成功" };
        }
        catch (Exception ex)
        {
            return new ResponseModel() { StatusCode = -1, Msg = ex.Message };
        }
    }
 
    /// <summary>
    /// WCS接收WMS下发的入库单任务
    /// </summary>
    /// <param name="models"></param>
    /// <returns></returns>
    [AllowAnonymous]
    public ResponseModel AddOrderTask(List<ResponseOrderTaskModel> models)
    {
        ResponseModel result = new ResponseModel();
        try
        {
            foreach (var item in models)
            {
                // 验证任务是否已存在
                //var taskInfo = _db.Queryable<WcsOderTask>().First(w => w.OrderNo == item.OrderNo && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo);
                //if (taskInfo == null)
                //{
                    var orderAdd = new WcsOderTask()
                    {
                        OrderNo = item.OrderNo,
                        TaskNo = "",
                        LotNo = item.LotNo,
                        SkuNo = item.SkuNo,
                        SkuName = item.SkuName,
                        BoxType = item.BoxType,
                        Qty = item.Qty,
                        TaskType = (TaskTypeEnum)item.TaskType,
                    };
                    _db.Insertable(orderAdd).ExecuteCommand();
               //}
            }
            return new ResponseModel() { StatusCode = 0, Msg = "插入成功" };
        }
        catch (Exception ex)
        {
            return new ResponseModel() { StatusCode = -1, Msg = ex.Message };
        }
    }
 
}