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
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
using HH.MData;
using HH.WMS.Entitys.Basic;
using HH.WMS.Entitys.Common;
using MongoDB.Bson;
using MongoDB.Driver.Builders;
/********************************************************************************
 
** auth: DBS
 
** date: 2018/11/14 20:37:11
 
** desc: 尚未编写描述
 
** Ver.:  V1.0.0
 
*********************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using MongoDB.Driver;
 
namespace HH.WMS.DAL.Basic
{
    public class MONGO_PRINT_BARCODEDAL:BaseDAL
    {
        public List<MONGO_PRINT_BARCODE> GetPageList(int pageIndex, int pageSize, out int total)
        {
            List<MONGO_PRINT_BARCODE> entity = new List<MONGO_PRINT_BARCODE>();
            SortByDocument sortBy = new SortByDocument();
            //sortBy.Add("CN_S_ITEM_CODE", -1);
 
            List<IMongoQuery> queryList = new List<IMongoQuery>();
            //if (!string.IsNullOrEmpty(itemCode))
            //{
            //    queryList.Add(Query.Matches("CN_S_ITEM_CODE", itemCode));
            //}
            //if (!string.IsNullOrEmpty(itemName))
            //{
            //    queryList.Add(Query.Matches("CN_S_ITEM_NAME", itemName));
            //}
            //if (!string.IsNullOrEmpty(model))
            //{
            //    queryList.Add(Query.Matches("CN_S_MODEL", model));
            //}
 
            IMongoQuery query = null;
            if (queryList.Any())
                query = Query.And(queryList);
 
            total = Convert.ToInt32(MongoDBSingleton.Instance.FindCount<AutoBomItemEntity>(query, "MONGO_PRINT_BARCODE"));
            entity = MongoDBSingleton.Instance.Find<MONGO_PRINT_BARCODE>(query, pageIndex, pageSize, sortBy, "MONGO_PRINT_BARCODE");
            return entity;
        }
 
        public MONGO_PRINT_BARCODE GetValue(string barCode)
        {
            MONGO_PRINT_BARCODE entity = new MONGO_PRINT_BARCODE();
            var query = Query.EQ("CN_S_UNIQUE_CODE", barCode);
            entity = MongoDBSingleton.Instance.FindOne<MONGO_PRINT_BARCODE>(query, "MONGO_PRINT_BARCODE");
            return entity;
        }
        public MONGO_PRINT_BARCODE GetValueYS(string barCode,string isUse)
        {
            MONGO_PRINT_BARCODE entity = new MONGO_PRINT_BARCODE();
            var query = Query.EQ("CN_S_UNIQUE_CODE", barCode);
            query = Query.And(query, Query.EQ("CN_S_IS_USE", isUse));
            entity = MongoDBSingleton.Instance.FindOne<MONGO_PRINT_BARCODE>(query, "MONGO_PRINT_BARCODE");
            return entity;
        }
        public List<MONGO_PRINT_BARCODE> GetValueBackYS(string barCode, string isUse)
        {
            List<MONGO_PRINT_BARCODE> entity = new List<MONGO_PRINT_BARCODE>();
            var query = Query.EQ("CN_S_UNIQUE_CODE", barCode);
            query = Query.And(query, Query.EQ("CN_S_IS_USE", isUse));
            //定义排序  按优先级正序排列
            //SortByDocument sort = new SortByDocument { { "CN_T_CREATE", 1 } };
            entity = MongoDBSingleton.Instance.Find<MONGO_PRINT_BARCODE>(query,1 ,"CN_T_CREATE", "MONGO_PRINT_BARCODE");
            return entity;
        }
        public MONGO_PRINT_BARCODE GetFieldValue(string fieldStr, string scanCode)
        {
            MONGO_PRINT_BARCODE entity = new MONGO_PRINT_BARCODE();
            var query = Query.EQ(fieldStr, scanCode);
            entity = MongoDBSingleton.Instance.FindOne<MONGO_PRINT_BARCODE>(query, "MONGO_PRINT_BARCODE");
            return entity;
        }
 
        /// <summary>
        /// 新增MONGO_PRINT_BARCODE表
        /// </summary>
        /// <param name="lists"></param>
        /// <returns></returns>
        public bool AddPintBarcode(List<MONGO_PRINT_BARCODE> list)
        {
            return MongoDBSingleton.Instance.Insert<MONGO_PRINT_BARCODE>(list, "MONGO_PRINT_BARCODE");
        }
 
        /// <summary>
        /// 新增MONGO_KEYTYPE_MAP表
        /// </summary>
        /// <param name="lists"></param>
        /// <returns></returns>
        public bool AddKeyType(List<MONGO_KEYTYPE_MAP> list)
        {
            return MongoDBSingleton.Instance.Insert<MONGO_KEYTYPE_MAP>(list, "MONGO_KEYTYPE_MAP");
        }
 
 
        #region 根据唯一码获取打码标签
        /// <summary>
        /// 获取打码标签
        /// </summary>
        /// <param name="barCode"></param>
        /// <returns></returns>
        /// <history>[HANHE(lt)] CREATED BY 2018-12-15</history>
        public List<MONGO_PRINT_BARCODE> GetBarCodeList(List<string> barCodes)
        {
            List<MONGO_PRINT_BARCODE> entity = new List<MONGO_PRINT_BARCODE>();
            var barCode = barCodes.ConvertAll<BsonValue>(x => x);
            var query = Query.In("CN_S_UNIQUE_CODE", barCode);
            entity = MongoDBSingleton.Instance.Find<MONGO_PRINT_BARCODE>(query, "MONGO_PRINT_BARCODE");
            return entity;
        }
 
        /// <summary>
        /// 模糊查询
        /// </summary>
        /// <param name="scanCode"></param>
        /// <returns></returns>
        public MONGO_PRINT_BARCODE GetLikeValue(string scanCode)
        {
            var query = Query.Or(
                Query.EQ("CN_S_ITEM_CODE", scanCode), 
                Query.EQ("CN_S_UNIQUE_CODE", scanCode),
                Query.EQ("CN_S_SERIAL_NO", scanCode)
                );
            MONGO_PRINT_BARCODE entity = MongoDBSingleton.Instance.FindOne<MONGO_PRINT_BARCODE>(query, "MONGO_PRINT_BARCODE");
            return entity;
        }
 
        #endregion
 
        #region 更新重量
 
        public bool UpdateWeight(string uniqueCode, string weight, string lotNo, string figureNo, AutoBomItemEntity autoBomItem, string zweight, string zzweight)
        {
            IMongoQuery query = Query.EQ("CN_S_UNIQUE_CODE", uniqueCode);
            List<UpdateBuilder> updateList = new List<UpdateBuilder>();
            updateList.Add(Update.Set("CN_S_SERIAL_NO", weight));
            updateList.Add(Update.Set("CN_S_ITEM_CODE", autoBomItem.CN_S_ITEM_CODE));
            updateList.Add(Update.Set("CN_S_ITEM_NAME", autoBomItem.CN_S_ITEM_NAME));
            updateList.Add(Update.Set("CN_S_FIGURE_NO", figureNo));
            updateList.Add(Update.Set("CN_S_LOT_NO", lotNo));
            updateList.Add(Update.Set("CN_T_CREATE", DateTime.Now.AddHours(8)));
            updateList.Add(Update.Set("CN_S_IS_USE", "Y"));
            updateList.Add(Update.Set("CN_S_PACKING_UNIT", zweight));
            updateList.Add(Update.Set("CN_F_PACKING_QTY", zzweight));
            IMongoUpdate update = Update.Combine(updateList.ToArray());
            return MongoDBSingleton.Instance.Update<MONGO_PRINT_BARCODE>(query, update, "MONGO_PRINT_BARCODE", UpdateFlags.Multi);
        }
 
        #endregion
 
        #region 根据唯一码删除记录
         
        public bool DeleteByUniqueCode(string uniqueCode)
        {
            IMongoQuery query = Query.EQ("CN_S_UNIQUE_CODE", uniqueCode);
            return MongoDBSingleton.Instance.Remove<MONGO_PRINT_BARCODE>(query, "MONGO_PRINT_BARCODE", RemoveFlags.Single);
        }
 
        #endregion
 
        #region 更新使用状态
 
        public bool UpdateUpMetarialState(string uniqueCode, string isUse)
        {
            IMongoQuery query = Query.EQ("CN_S_UNIQUE_CODE", uniqueCode);
            List<UpdateBuilder> updateList = new List<UpdateBuilder>();
            updateList.Add(Update.Set("CN_S_IS_USE", isUse));
            IMongoUpdate update = Update.Combine(updateList.ToArray());
            return MongoDBSingleton.Instance.Update<MONGO_PRINT_BARCODE>(query, update, "MONGO_PRINT_BARCODE", UpdateFlags.Multi);
        }
 
        #endregion
 
        #region 更新重量
 
        public bool UpdateZX(string uniqueCode, string weight, string qty,string lotNo, string figureNo, AutoBomItemEntity autoBomItem)
        {
            IMongoQuery query = Query.EQ("CN_S_UNIQUE_CODE", uniqueCode);
            List<UpdateBuilder> updateList = new List<UpdateBuilder>();
            updateList.Add(Update.Set("CN_S_SERIAL_NO", weight));
            updateList.Add(Update.Set("CN_F_PACKING_QTY", qty));
            updateList.Add(Update.Set("CN_S_ITEM_CODE", autoBomItem.CN_S_ITEM_CODE));
            updateList.Add(Update.Set("CN_S_ITEM_NAME", autoBomItem.CN_S_ITEM_NAME));
            updateList.Add(Update.Set("CN_S_MODEL", autoBomItem.CN_S_MODEL));
            updateList.Add(Update.Set("CN_S_FIGURE_NO", figureNo));
            updateList.Add(Update.Set("CN_S_LOT_NO", lotNo));
            IMongoUpdate update = Update.Combine(updateList.ToArray());
            return MongoDBSingleton.Instance.Update<MONGO_PRINT_BARCODE>(query, update, "MONGO_PRINT_BARCODE", UpdateFlags.Multi);
        }
 
        #endregion
    }
}