wxw
2024-09-23 3d2f1d836cd271a51f0c02b99f538070a783139d
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
using System.Diagnostics.CodeAnalysis;
using System.Text;
 
namespace WCS.Application;
 
/// <summary>
/// 示例开放接口
/// </summary>
[ApiDescriptionSettings("开放接口", Name = "Demo", Order = 100)]
//[Authorize(AuthenticationSchemes = SignatureAuthenticationDefaults.AuthenticationScheme)]
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 };
        }
    }
}