jt
2021-06-10 5d0d028456874576560552f5a5c4e8b801786f11
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
using HH.WMS.BLL.Basic;
using HH.WMS.DAL.SysMgr;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Basic;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace HH.WMS.BLL.SysMgr
{
    public class TN_WM_B_STRATEGYBLL : DapperBaseBLL
    {
        #region 获取库区下所有策略
        /// <summary>
        /// 获取库区下所有策略
        /// </summary>
        /// <param name="areaCode">库区编码</param>
        /// <param name="tokenId">tokenId</param>
        /// <returns></returns>
        /// <history>[HanHe(xdl)] CREATED 2018/12/05</history>
        public DataTable GetStrategyList(string areaCode)
        {
            return CreateDAL<TN_WM_B_STRATEGYDAL>().GetStrategyList(areaCode);
        }
 
        /// <summary>
        /// 获取库区所有没设置的策略
        /// </summary>
        /// <param name="areaCode">库区编码</param>
        /// <param name="tokenId">tokenId</param>
        /// <returns></returns>
        public DataTable GetNoStrategyList(string areaCode)
        {
            return CreateDAL<TN_WM_B_STRATEGYDAL>().GetNoStrategyList(areaCode);
        }
        #endregion
 
        #region 更新优先级
        /// <summary>
        /// 更新优先级
        /// </summary>
        /// <param name="areaCode">库区编码</param>
        /// <param name="stockCode">仓库编码</param>
        /// <param name="strategyGuid">策略Guid</param>
        /// <param name="priority">优先级</param>
        /// <returns></returns>
        public OperateResult UpdatePriority(string areaCode, string stockCode, string strategyGuid, string priority)
        {
            return CreateDAL<TN_WM_B_STRATEGYDAL>().UpdatePriority(areaCode, stockCode, strategyGuid, priority);
        }
        #endregion
 
        #region 删除库区策略
        /// <summary>
        /// 删除库区策略
        /// </summary>
        /// <param name="areaCode">库区编码</param>
        /// <param name="stockCode">仓库编码</param>
        /// <param name="strategyGuid">策略Guid</param>
        /// <returns></returns>
        public OperateResult DeleteAreaStrategy(string areaCode, string stockCode, string strategyGuid)
        {
            return CreateDAL<TN_WM_B_STRATEGYDAL>().DeleteAreaStrategy(areaCode, stockCode, strategyGuid);
        }
        #endregion
 
 
        /// <summary>
        /// 保存库区策略关联
        /// </summary>
        /// <param name="strategyGuid">策略Guid值</param>
        /// <param name="areaCode">库区编码</param>
        /// <param name="stockCode">仓库编码</param>
        /// <returns></returns>
        public OperateResult SaveStrategyUse(string strategyGuid, string areaCode, string stockCode)
        {
            string[] strategyguid = strategyGuid.Split(',');
            List<string> guidList = new List<string>();
            foreach (string item in strategyguid)
            {
                guidList.Add(item);
            }
            if (!string.IsNullOrEmpty(areaCode))
            {
                AutoBomStockAreaEntity result = BLLCreator.Create<TN_AB_B_STOCK_AREABLL>().GetStockAreaEntity(areaCode);
                if (result == null)
                {
                    return OperateResult.Error("未获取到库区实体!");
                }
            }
 
            return CreateDAL<TN_WM_B_STRATEGYDAL>().SaveStrategyUse(stockCode, areaCode, guidList);
        }
 
        #region 根据库区编码和策略类型获取策略
        /// <summary>
        /// 根据库区编码和策略类型获取策略,策略类型选填(三生物料上架PDA接口)
        /// </summary>
        /// <param name="areaCode">库区编码</param>
        /// <param name="strategyType">策略类型</param>
        public DataTable GetStrategyType(string areaCode, string strategyType)
        {
            return CreateDAL<TN_WM_B_STRATEGYDAL>().GetStrategyType(areaCode, strategyType);
        }
        #endregion
 
        #region 根据库区编码获取该库区对应的策略应用
        /// <summary>
        /// 根据库区编码获取该库区对应的策略应用
        /// </summary>
        /// <param name="stockCode"></param>
        /// <param name="stockAreaCode"></param>
        /// <param name="strateType"></param>
        /// <returns></returns>
        public List<STRATEGYALGOREntity> GetStrateListByAreaOrStock(string stockCode, string stockAreaCode, string strateType)
        {
            return CreateDAL<HH.WMS.DAL.Basic.TN_WM_B_STRATEGYDAL>().GetStrateListByAreaOrStock(stockCode, stockAreaCode, strateType);
        }
        #endregion
    }
}