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 GetPageList(int pageIndex, int pageSize, out int total) { List entity = new List(); SortByDocument sortBy = new SortByDocument(); //sortBy.Add("CN_S_ITEM_CODE", -1); List queryList = new List(); //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(query, "MONGO_PRINT_BARCODE")); entity = MongoDBSingleton.Instance.Find(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(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(query, "MONGO_PRINT_BARCODE"); return entity; } public List GetValueBackYS(string barCode, string isUse) { List entity = new List(); 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(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(query, "MONGO_PRINT_BARCODE"); return entity; } /// /// 新增MONGO_PRINT_BARCODE表 /// /// /// public bool AddPintBarcode(List list) { return MongoDBSingleton.Instance.Insert(list, "MONGO_PRINT_BARCODE"); } /// /// 新增MONGO_KEYTYPE_MAP表 /// /// /// public bool AddKeyType(List list) { return MongoDBSingleton.Instance.Insert(list, "MONGO_KEYTYPE_MAP"); } #region 根据唯一码获取打码标签 /// /// 获取打码标签 /// /// /// /// [HANHE(lt)] CREATED BY 2018-12-15 public List GetBarCodeList(List barCodes) { List entity = new List(); var barCode = barCodes.ConvertAll(x => x); var query = Query.In("CN_S_UNIQUE_CODE", barCode); entity = MongoDBSingleton.Instance.Find(query, "MONGO_PRINT_BARCODE"); return entity; } /// /// 模糊查询 /// /// /// 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(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 updateList = new List(); 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(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(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 updateList = new List(); updateList.Add(Update.Set("CN_S_IS_USE", isUse)); IMongoUpdate update = Update.Combine(updateList.ToArray()); return MongoDBSingleton.Instance.Update(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 updateList = new List(); 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(query, update, "MONGO_PRINT_BARCODE", UpdateFlags.Multi); } #endregion } }