zhao
2021-07-02 081df17b8cc4a6e7e4f4e1e1887f24810e3ec2f9
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 HH.Redis.ReisModel;
using HH.WMS.BLL;
using HH.WMS.BLL.SysMgr;
using HH.WMS.Common;
using HH.WMS.Entitys;
using HH.WMS.WebApi.Areas.Common.Controllers;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
 
namespace HH.WMS.WebApi.Areas.OpenApi.Controllers
{
    public class ApiTaskController :BaseController
    {
        [HttpGet]
        public OperateResult ExecuteState(dynamic data)
        {
            RedisUserEntity t = new RedisUserEntity() { CN_S_LOGIN = "AMS", CN_S_NAME = "AMS" };
            string taskNo = data.taskNo.ToString();
            int state = Convert.ToInt16(data.state.ToString());
            if (string.IsNullOrEmpty(taskNo) || state == 0)
            {
                OperateResult.Error("失败,参数缺失!");
            }
            //string taskState  = Constants.TaskStateList[state];
            switch (state)
            {
                case Constants.TaskExecState_Start://执行中
                    return BLLCreator.Create<TN_WM_TASKBLL>().StartTask(taskNo, t);
                //case Constants.TaskExecState_PickSucc://取货完成
                //    return BLLCreator.Create<TN_WM_TASKBLL>().PickSucc(taskNo, t);
                //case Constants.TaskExecState_UnloadingSucc://卸货完成
                //    return BLLCreator.Create<TN_WM_TASKBLL>().UnloadingSucc(taskNo, t);
                case Constants.TaskExecState_Complete://完成
                    return BLLCreator.Create<TN_WM_TASKBLL>().EndTask(taskNo, t);
            }
 
            return OperateResult.Succeed("", null);
        }
 
        [HttpGet]
        public OperateResult EndTask(string taskNos)
        {
            return ValidateToken(t =>
            {
                OperateResult or;
                int successQty = 0;
                string[] arrTask = taskNos.Split(',');
 
                List<OperateResult> errOr = new List<OperateResult>();
                foreach (string taskNo in arrTask)
                {
                    or = BLLCreator.Create<TN_WM_TASKBLL>().EndTask(taskNo, t);
                    if (or.Success)
                        successQty++;
                    else
                        errOr.Add(or);
                }
                if (successQty == arrTask.Length)
                    return OperateResult.Succeed();
                else if (successQty == 0)
                    return OperateResult.Error(errOr[0].Msg);
                else
                    return OperateResult.Warning(errOr[0].Msg);
            });
        }
    }
}