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
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
using HH.WMS.BLL;
using HH.WMS.Common;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Algorithm;
using HH.WMS.Entitys.Basic;
using HH.WMS.Entitys.Common;
using HH.WMS.WebApi.Areas.Common.Controllers;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
 
namespace HH.WMS.WebApi.Areas.OutStock.Controllers
{
    public class HKSortingController : BaseController
    {
        #region 分拣单列表
        /// <summary>
        /// 分拣单列表
        /// </summary>
        /// <param name="searchModel"></param>
        /// <returns></returns>
        [HttpPost]
        public string GetSortingList(SearchModel searchModel)
        {
            OperateResult result = new OperateResult();
            try
            {
                long total = 0;
                DataTable dt = BLLCreator.Create<DapperBLL<TN_WM_SORTING_LISTEntity>>().GetPagingData(new List<SearchWhere>() {
                    new SearchWhere(){ key="CN_S_SORTING_NO", sign= WhereSign.Like, value=Util.ToString(searchModel.SearchCondition.SortingNo)}
                }, searchModel.PageIndex, searchModel.PageSize, out total, true, new
                {
                    CN_S_SORTING_NO = "%" + Util.ToString(searchModel.SearchCondition.SortingNo) + "%"
                });
 
                var stocks = GetStock();
                var areas = GetStockAreas();
                foreach (DataRow dr in dt.Rows)
                {
                    var stock = stocks.Find(x => x.CN_S_STOCK_CODE == (dr["CN_S_STOCK_CODE"].ToString().Trim())) ?? new TN_AB_STOCKEntity();
                    //var area = areas.Find(x => x.CN_S_AREA_CODE.Equals(dr["CN_S_STOCK_AREA"].ToString().Trim())) ?? new AutoBomStockAreaEntity();
                    dr["CN_S_STOCK_CODE"] = stock.CN_S_STOCK_NAME;
                    //dr["CN_S_STOCK_AREA"] = area.CN_S_AREA_NAME;
                }
                result = OperateResult.Succeed("", new
                {
                    rows = dt,
                    total = total
                });
            }
            catch (Exception ex)
            {
                result = OperateResult.Error(ex.Message);
            }
            IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
            timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
            return JsonConvert.SerializeObject(result, timeFormat);
            //return result;
        }
        #endregion
 
        #region 分拣数据
        /// <summary>
        /// 分拣数据
        /// </summary>
        /// <param name="sortingNo"></param>
        /// <returns></returns>
        [HttpGet]
        public OperateResult GetSortingDtl(string sortingNo)
        {
            try
            {
                var sortingDtl = BLLCreator.Create<DapperBLL<TN_WM_SORTING_DTLEntity>>().GetList(new
                {
                    CN_S_SORTING_NO = sortingNo
                });
                return OperateResult.Succeed(null, sortingDtl);
            }
            catch (Exception ex)
            {
                return OperateResult.Error(ex.Message);
            }
        }
        #endregion
 
        #region 分拣明细
        /// <summary>
        /// 分拣明细
        /// </summary>
        /// <param name="sortingNo"></param>
        /// <returns></returns>
        [HttpGet]
        public OperateResult GetCurrentSortingLocation(string sortingNo)
        {
            try
            {
                var sortingDtl = BLLCreator.Create<DapperBLL<TN_WM_SORTING_LOCATIONEntity>>().GetList(new
                {
                    CN_S_SORTING_NO = sortingNo
                });
                var stocks = GetStock();
                var areas = GetStockAreas();
                foreach (var dtl in sortingDtl)
                {
                    var stock = stocks.Find(x => x.CN_S_STOCK_CODE == (Util.ToString(dtl.CN_S_STOCK_CODE).Trim())) ?? new TN_AB_STOCKEntity();
                    var area = areas.Find(x => x.CN_S_AREA_CODE.Equals(Util.ToString(dtl.CN_S_AREA_CODE).Trim())) ?? new AutoBomStockAreaEntity();
                    dtl.CN_S_STOCK_CODE = stock.CN_S_STOCK_NAME;
                    dtl.CN_S_AREA_CODE = area.CN_S_AREA_NAME;
                }
                return OperateResult.Succeed(null, sortingDtl);
            }
            catch (Exception ex)
            {
                return OperateResult.Error(ex.Message);
            }
        }
        #endregion
 
        #region 分拣结果
        /// <summary>
        /// 分拣结果
        /// </summary>
        /// <param name="sortingNo"></param>
        /// <returns></returns>
        [HttpGet]
        public OperateResult GetSortingResult(string sortingNo)
        {
            try
            {
                var sortingDtl = BLLCreator.Create<DapperBLL<TN_WM_SORTING_RESULTEntity>>().GetList(new
                {
                    CN_S_SORTING_NO = sortingNo
                });
                return OperateResult.Succeed(null, sortingDtl);
            }
            catch (Exception ex)
            {
                return OperateResult.Error(ex.Message);
            }
        }
        #endregion
    }
}