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
using HH.Redis.ReisModel;
using HH.WMS.Common;
using HH.WMS.Common.Response;
using HH.WMS.DAL;
using HH.WMS.DAL.Basic;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Algorithm;
using HH.WMS.Entitys.Sys;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace HH.WMS.BLL
{
    public class DapperBaseBLL : BaseBLL
    {
        internal OperateResult UseTransaction(Action<IDbTransaction> action)
        {
            return CreateDAL<DapperBaseDAL>().UseTransaction(action);
        }
 
        internal BasisResponse UseBasisTransaction(Action<IDbTransaction> action)
        {
            var result = CreateDAL<DapperBaseDAL>().UseTransaction(action);
            if (result.Success)
                return BasisResponse.Normal();
            else
                return BasisResponse.Error(result.Msg);
        }
 
        /// <summary>
        /// 获取策略值
        /// </summary>
        /// <param name="stockCode">仓库编号</param>
        /// <param name="code">策略编码</param>
        /// <returns></returns>
        /// <History>[Hanhe(DBS)] created 2018-11-27</History>
        public string GetStrategy(string stockCode,string code)
        {
            if (SysCache.SysStrategy == null || SysCache.SysStrategy.Count==0)
            {
                SysCache.SysStrategy = BLLCreator.Create<DapperBLL<TN_WM_B_STRATEGY_VALUEEntity>>().GetList();
            }
            TN_WM_B_STRATEGY_VALUEEntity model = SysCache.SysStrategy.Find(x => x.CN_S_STOCK_CODE.Equals(stockCode) && x.CN_S_CODE.Equals(code));
            if (model == null)
                return "";
            else
                return model.CN_S_VALUE;
        }
 
        public List<TN_AB_STOCKEntity> GetStock()
        {
            if (SysCache.Stock == null || SysCache.Stock.Count==0)
                SysCache.Stock = CreateDAL<TN_WMS_STAOCKDAL>().GetStockList();
            return SysCache.Stock;
        }
        public string GetStockName(string code)
        {
            if (SysCache.Stock == null || SysCache.Stock.Count == 0)
                SysCache.Stock = CreateDAL<TN_WMS_STAOCKDAL>().GetStockList();
            if (SysCache.Stock.Count > 0)
            {
                TN_AB_STOCKEntity entity = SysCache.Stock.Find(x => x.CN_S_STOCK_CODE.Equals(code));
                if (entity != null)
                    return entity.CN_S_STOCK_NAME;
            }
            return "";
        }
 
        public string GetAreaName(string code)
        {
            if (SysCache.Area == null || SysCache.Area.Count == 0)
                SysCache.Area = CreateDAL<TN_AB_B_STOCK_AREADAL>().GetArea("", 4);
            if (SysCache.Stock.Count > 0)
            {
                HH.WMS.Entitys.Basic.AutoBomStockAreaEntity entity = SysCache.Area.Find(x => x.CN_S_AREA_CODE.Equals(code));
                if (entity != null)
                    return entity.CN_S_AREA_NAME;
            }
            return "";
        }
 
 
        #region 获取autobom中的编码
        /// <summary>
        /// 获取autobom中的编码
        /// </summary>
        /// <param name="tokenId">tokenId</param>
        /// <param name="ruleName">编码名称</param>
        /// <returns></returns>
        /// <History>[Hanhe(lt)] created  2018/11/2</History>
        public OperateResult GetCode(RedisUserEntity redisMsgEntity, string ruleName)
        {
            var postData = new
            {
                appCode = "WMS",
                ruleName = ruleName,
                orgId = redisMsgEntity.CN_S_ORGCODE,
                orgFlag = redisMsgEntity.CN_S_ORGFLAG
            };
 
            string no =WebApiManager.HttpAutoBom_Post("Api/BillRule/GenBillNo", JsonConvert.SerializeObject(postData));
            if (string.IsNullOrEmpty(no) || no.Equals("null"))
                return OperateResult.Error("未获取到" + ruleName + "号!");
            return OperateResult.Succeed("", no);
        }
        #endregion
    }
}