using HH.MData; using HH.WMS.Entitys.Basic; using HH.WMS.Entitys.External; using MongoDB.Driver; using MongoDB.Driver.Builders; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HH.WMS.DAL.External { public class TN_AB_ITEMDAL : BaseDAL { public AutoBomItemEntity GetItem(string itemCode) { IMongoQuery query = Query.EQ("CN_S_ITEM_CODE", itemCode); return MongoDBSingleton.Instance.FindOne(query, "TN_AB_ITEM"); //} //catch (Exception ex) //{ // Log.Error("GetItem", "失败原因:" + itemCode+"," +ex.Message+ex.StackTrace); // return null; //} } public List GetAllItem() { IMongoQuery query = null; return MongoDBSingleton.Instance.Find(query, "TN_AB_ITEM"); } #region 根据图号和特征获取Item /// /// 根据图号和特征获取Item /// /// /// /// public AutoBomItemEntity GetItemByNo(string figureNo, string feature, string itemName) { try { figureNo = figureNo == null ? "" : figureNo; feature = feature == null ? "" : feature; itemName = itemName == null ? "" : itemName; IMongoQuery query = Query.EQ("CN_S_FIGURE_NO", figureNo); query = Query.And(query, Query.EQ("CN_S_FEATURE", feature)); query = Query.And(query, Query.EQ("CN_S_ITEM_NAME", itemName)); return MongoDBSingleton.Instance.FindOne(query, "TN_AB_ITEM"); } catch (Exception ex) { return null; } } public AutoBomItemEntity GetItemByNo(string figureNo) { try { IMongoQuery query = Query.EQ("CN_S_FIGURE_NO", figureNo); return MongoDBSingleton.Instance.FindOne(query, "TN_AB_ITEM"); } catch (Exception ex) { return null; } } #endregion #region 根据图号和特征 或 物料编码 获取Item(批量) /// /// 根据图号和特征 或 物料编码 获取Item(批量) /// /// /// public List GetItemByNo(List ItemData) { if (ItemData != null) { List queryList = new List(); foreach (var item in ItemData) { List queryItem = new List(); //图号&&特征 if (!string.IsNullOrEmpty(item.itemCode) && (!string.IsNullOrEmpty(item.itemFeature) || !string.IsNullOrEmpty(item.itemName))) { queryItem.Add(Query.EQ("CN_S_FIGURE_NO", item.itemCode)); if (!string.IsNullOrEmpty(item.itemFeature)) { queryItem.Add(Query.EQ("CN_S_FEATURE", item.itemFeature)); } if (!string.IsNullOrEmpty(item.itemName)) { queryItem.Add(Query.EQ("CN_S_ITEM_NAME", item.itemName)); } } //ItemCode else if (!string.IsNullOrEmpty(item.itemCode) && string.IsNullOrEmpty(item.itemFeature) && string.IsNullOrEmpty(item.itemName)) { queryItem.Add(Query.EQ("CN_S_ITEM_CODE", item.itemCode)); } else { continue; } queryList.Add(Query.And(queryItem)); } if (queryList.Any()) { return MongoDBSingleton.Instance.Find(Query.Or(queryList), "TN_AB_ITEM"); } } return new List(); } #endregion #region 新增一条物料 /// /// 新增一条物料 /// /// /// public bool InsertItem(AutoBomItemEntity item) { return MongoDBSingleton.Instance.Insert(item, "TN_AB_ITEM"); } #endregion } }