zhao
2021-07-02 23ee356c6f260ecc1a48bbb8bd60932b979e4698
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
using HH.WMS.BLL;
using HH.WMS.BLL.OutStock;
using HH.WMS.Common;
using HH.WMS.Entitys;
using HH.WMS.WebApi.Areas.Common.Controllers;
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.OutStock.Controllers
{
    public class PickingController : BaseController
    {
        #region 扫托盘
        /// <summary>
        /// 扫托盘
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public OperateResult ScanTray(string trayCode, string pickBit)
        {
            return ValidateToken(t =>
            {
                //当前托盘的所属任务
                var currentTask = BLLCreator.CreateDapper<TN_WM_TASKEntity>().GetSingleEntity(new
                {
                    CN_S_STATE = new List<string> { Constants.TaskState_NoExecuted, Constants.TaskState_Executing },
                    CN_S_TRAY_CODE = trayCode
                });
                if (currentTask != null)
                {
                    //没有终点位置
                    if (string.IsNullOrEmpty(currentTask.CN_S_END_BIT))
                    {
                        //更新任务终点位置
                        var updateTask = BLLCreator.CreateDapper<TN_WM_TASKEntity>().Update(new
                        {
                            CN_S_END_BIT = pickBit
                        }, new
                        {
                            currentTask.CN_S_TASK_NO
                        });
                        if (!updateTask.Success) return updateTask;
                        //调丁博士任务完成接口 to do ...
 
                    }
                }
                var pickedSortings = BLLCreator.Create<TN_WM_SORTING_LISTBLL>().GetPickDataByTray(trayCode);
                if (pickedSortings == null)
                    return OperateResult.Error("未找到托盘:" + trayCode + "需要分拣的分拣单");
                return OperateResult.Succeed(null, pickedSortings);
            });
        }
        #endregion
    }
}