zhao
2021-06-24 02ca96debc6056275d58e55d97f7885a195542d0
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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
using HH.WMS.BLL;
using HH.WMS.BLL.Basic;
using HH.WMS.Common;
using HH.WMS.Common.External;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Basic;
using HH.WMS.Entitys.Common;
using Newtonsoft.Json;
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.Common.Controllers
{
    public class LocationExtController : BaseController
    {
        #region 缓存同步-根据仓库号和货位号获取一条数据
        /// <summary>
        /// 根据仓库号和货位号获取一条数据
        /// </summary>
        /// <param name="Where">仓库号和货位号条件集合</param>
        /// <returns></returns>
        /// <history>[HanHe(XDL)] CREATED 2018/06/28</history>
        [HttpGet]
        public string GetModel(string Where)
        {
            TN_WM_LOCATION_EXTEntity entity = BLL.BLLCreator.Create<TN_WM_LOCATION_EXTBLL>().GetExtModel(Where);
            return JsonConvert.SerializeObject(entity);
        }
        #endregion
 
        #region 缓存同步-删除
        /// <summary>
        /// 缓存同步-删除
        /// </summary>
        /// <param name="obj">删除实体</param>
        /// <returns></returns>
        /// <history>[HanHe(XDL)] CREATED 2018/06/28</history>
        [HttpGet]
        public string Delete(string Where)
        {
            SqlExecuteResult reuslt = BLL.BLLCreator.Create<TN_WM_LOCATION_EXTBLL>().Delete(Where);
            return JsonConvert.SerializeObject(reuslt);
        }
        #endregion
 
        #region 缓存同步-新增
        /// <summary>
        /// 缓存同步-新增
        /// </summary>
        /// <param name="obj">新增实体</param>
        /// <returns></returns>
        /// <history>[HanHe(XDL)] CREATED 2018/06/28</history>
        [HttpPost]
        public string Add(dynamic obj)
        {
            TN_WM_LOCATION_EXTEntity Entity = JsonConvert.DeserializeObject<TN_WM_LOCATION_EXTEntity>(obj.ExtEntity.ToString());
            var result = JsonConvert.SerializeObject(BLL.BLLCreator.Create<TN_WM_LOCATION_EXTBLL>().Add(Entity));
            return result;
        }
        #endregion
 
        #region 缓存同步-同步时修改数据
        /// <summary>
        /// 缓存同步-同步时修改数据
        /// </summary>
        /// <param name="entity">更新实体</param>
        /// <returns></returns>
        /// <history>[HanHe(XDL)] CREATED 2018/06/28</history>
        [HttpPost]
        public string UpdateSync(dynamic obj)
        {
            TN_WM_LOCATION_EXTEntity Entity = JsonConvert.DeserializeObject<TN_WM_LOCATION_EXTEntity>(obj.ExtEntity.ToString());
            SqlExecuteResult reuslt = BLL.BLLCreator.Create<TN_WM_LOCATION_EXTBLL>().UpdateSync(Entity);
            return JsonConvert.SerializeObject(reuslt);
        }
        #endregion
 
        #region 缓存同步-修改成报废
        /// <summary>
        /// 缓存同步-修改成报废
        /// </summary>
        /// <param name="obj">删除实体</param>
        /// <returns></returns>
        /// <history>[HanHe(XDL)] CREATED 2018/06/28</history>
        [HttpGet]
        public string UpdateBFState(string Where)
        {
            Log.Detail("缓存同步-修改成报废", "接收参数:" + Where);
            try
            {
                HH.TOOLS.LOG.LogPara logPara = new HH.TOOLS.LOG.LogPara("缓存同步-修改成报废");
                logPara.Push("接收参数:" + Where);
                var result = JsonConvert.SerializeObject(BLL.BLLCreator.Create<TN_WM_LOCATION_EXTBLL>().UpdateBFState(Where, ""));
                logPara.PushAndAdd("返回结果:" + result);
                return result;
            }
            catch(Exception ex)
            {
                Log.Detail("缓存同步-修改成报废", "报错原因:" + ex.Message);
                return "";
            }
           
        }
        #endregion
 
        #region 更新货位状态
        [HttpGet]
        public string UpdateLocationState(string locationCode, string state)
        {
            var logPara = LogType.LogPara("更新货位状态");
            Log.Detail(logPara, "接收参数,货位:" + locationCode + ",状态:" +state);
            OperateResult result = BLL.BLLCreator.Create<TN_WM_LOCATION_EXTBLL>().UpdateState(locationCode, state, "");
            Log.Detail(logPara, "结果:" + JsonConvert.SerializeObject(result));
            return JsonConvert.SerializeObject(result);
        }
        #endregion
 
        #region 货位列表
        /// <summary>
        /// 货位列表-分页
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        [HttpPost]
        public string GetLocationExtList(SearchModel searchModel)
        {
            return ValidateToken(searchModel.TokenId, x =>
            {
 
                OperateResult list = BLLCreator.Create<TN_WM_LOCATION_EXTBLL>().GetLocationExtList(searchModel);
                return JsonConvert.SerializeObject(list);
 
            });
        }
        #endregion
 
        #region 货位列表
        /// <summary>
        /// 货位列表
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        [HttpGet]
        public string GetLocationList()
        {
            return ValidateToken(x =>
            {
 
                List<TN_WM_LOCATION_EXTEntity> locationList = BLLCreator.Create<TN_WM_LOCATION_EXTBLL>().GetLocationList();
                return JsonConvert.SerializeObject(locationList);
 
            });
        }
        /// <summary>
        /// 货位实体
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public string GetLocationModel(string locationCode)
        {
            return ValidateToken(x =>
            {
                TN_WM_LOCATION_EXTEntity locationModel = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
                {
                    CN_S_LOCATION_CODE = locationCode
                });
                return JsonConvert.SerializeObject(OperateResult.Succeed("", locationModel));
 
            });
        }
        #endregion
 
        #region
        public OperateResult GetLocationState(string stockCode)
        {
            try
            {
                return ValidateToken(Y =>
                {
                    if (Constants.SysConfig.DB_TYPE == "MSSQL")
                    {
                        List<AutoBomStockAreaEntity> areas = BLLCreator.Create<TN_AB_B_STOCK_AREABLL>().GetArea(1, stockCode);
                        areas.AddRange(BLLCreator.Create<TN_AB_B_STOCK_AREABLL>().GetArea(4, stockCode));
                        if (areas.Count() == 0)
                        {
                            return OperateResult.Succeed("", new DataTable());
                        }
                        DataTable list = BLLCreator.Create<TN_WM_LOCATION_EXTBLL>().GetAreaStorageInfo(stockCode, areas.Select(x => x.CN_S_AREA_CODE).ToArray());
                        foreach (DataRow dr in list.Rows)
                        {
                            dr["CN_S_AREA_CODE"] = areas.Find(x => x.CN_S_AREA_CODE.Equals(dr["CN_S_AREA_CODE"].ToString().Trim())).CN_S_AREA_NAME;
                        }
                        return OperateResult.Succeed("", list);
                    }
                    else
                    {
                        DataTable list = new DataTable();
                        return OperateResult.Succeed("", list);
                    }
                });
            }
            catch (Exception ex)
            {
                return OperateResult.Error(ex.Message);
            }
        }
        #endregion
    }
}