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
125
126
127
128
129
130
131
132
133
 
/********************************************************************************
 
** auth: DBS
 
** date: 2018/12/5 14:38:14
 
** desc: 尚未编写描述
 
** Ver.:  V1.0.0
 
*********************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HH.Redis.ReisModel;
using HH.WMS.Entitys.Basic;
using HH.WMS.Common;
using HH.WMS.DAL;
using HH.WMS.DAL.Basic;
using System.Data;
using HH.WMS.Entitys;
 
namespace HH.WMS.BLL.Basic
{
    public class TN_WM_B_TRAY_INFOBLL:DapperBaseBLL
    {
        public TN_WM_B_TRAY_INFOEntity GetModel(string trayCode)
        {
            return DALCreator.Create<TN_WM_B_TRAY_INFODAL>().GetModel(trayCode);
        }
        #region GET
 
        public TN_WM_B_TRAY_INFOEntity GetByTrayCode(string trayCode)
        {
            return DALCreator.Create<DapperDAL<TN_WM_B_TRAY_INFOEntity>>().GetSingleEntity(new { CN_S_TRAY_CODE = trayCode });
        }
 
        public OperateResult GetForPrint(string trayCode, string trayType, string spec, int pageIndex, int pageSize)
        {
            return DALCreator.Create<TN_WM_B_TRAY_INFODAL>().GetForPrint(trayCode, trayType, spec, pageIndex, pageSize);
        }
 
        #endregion
 
        #region 批量新增
        /// <summary>
        /// 批量新增
        /// </summary>
        /// <param name="list">新增实体</param>
        /// <returns></returns>
        /// <History>[Hanhe(DBS)] created by 2018/12/06</History>
        public OperateResult AddRange(List<TN_WM_B_TRAY_INFOEntity> list)
        {
            return CreateDAL<DapperDAL<TN_WM_B_TRAY_INFOEntity>>().AddRange(list);
        }
        #endregion
 
        #region 根据托盘号批量删除
        /// <summary>
        /// 根据托盘号批量删除
        /// </summary>
        /// <param name="trays">多个托盘号用逗号隔开</param>
        /// <returns></returns>
        /// <History>[Hanhe(DBS)] created by 2018/12/06</History>
        public OperateResult Delete(string trays)
        {
            string[] arrTray = trays.Split(',');
            int okCount = 0;
            for (int i = 0; i < arrTray.Length; i++)
            {
                bool isUsed = CreateDAL<TN_WM_B_TRAY_INFODAL>().GetUseState(arrTray[i]);
                if (!isUsed)
                {
                    OperateResult or = CreateDAL<DapperDAL<TN_WM_B_TRAY_INFOEntity>>().Delete(new { CN_S_TRAY_CODE = arrTray[i] });
                    okCount += or.AffectedRows;
                }
            }
            if (okCount == arrTray.Length)
                return OperateResult.Succeed("");
            else if(okCount == 0)
                return OperateResult.Error("删除异常!");
            else
                return OperateResult.Succeed("删除部分托盘!");
        }
        #endregion
        
        /// <summary>
        /// 创建虚拟托盘
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        internal OperateResult CreateVirtualTray(RedisUserEntity user)
        {
            OperateResult or = GetCode(user, Constants.VirtualTray);
            if (or.Status != ResultStatus.Success)
                return or;
 
            string trayCode = or.Data.ToString();
            or = CreateDAL<DapperDAL<TN_WM_B_TRAY_INFOEntity>>().Add(new TN_WM_B_TRAY_INFOEntity
            {
                CN_S_TRAY_CODE = trayCode,
                CN_S_TRAY_CODE_EXT = "",
                CN_S_TRAY_TYPE = "虚拟托盘",
                CN_S_TRAY_DIMENSION = "",
                CN_S_TRAY_COLOR = "",
                CN_S_STATE = "",
                CN_S_SPEC = "",
                CN_S_SORTING_CODE = "",
                CN_S_COLLECT_CODE = "",
                CN_S_COLLECT_LOCATION = "",
                CN_N_LATTICE_NUM = 1,
                CN_S_USE_STATE = "",
                CN_N_ROW_NUM = 1,
                CN_N_COLUMN_NUM = 1,
                CN_F_LOADBEARING = 0,
                CN_F_GROSSWEIGHT = 0,
                CN_F_WEIGHT = 0,
                CN_S_CREATOR = user.CN_S_LOGIN,
                CN_S_CREATOR_BY = user.CN_S_NAME,
                CN_T_CREATE = DateTime.Now,
                CN_S_MODIFY = user.CN_S_LOGIN,
                CN_S_MODIFY_BY = user.CN_S_NAME,
                CN_T_MODIFY = DateTime.Now
            });
            if (or.Status == ResultStatus.Success)
                or.Data = trayCode;
            return or;
        }
    }
}