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<AutoBomItemEntity>(query, "TN_AB_ITEM");
|
//}
|
//catch (Exception ex)
|
//{
|
|
// Log.Error("GetItem", "失败原因:" + itemCode+"," +ex.Message+ex.StackTrace);
|
// return null;
|
//}
|
}
|
public List<AutoBomItemEntity> GetAllItem()
|
{
|
|
IMongoQuery query = null;
|
return MongoDBSingleton.Instance.Find<AutoBomItemEntity>(query, "TN_AB_ITEM");
|
|
}
|
#region 根据图号和特征获取Item
|
/// <summary>
|
/// 根据图号和特征获取Item
|
/// </summary>
|
/// <param name="figureNo"></param>
|
/// <param name="feature"></param>
|
/// <returns></returns>
|
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<AutoBomItemEntity>(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<AutoBomItemEntity>(query, "TN_AB_ITEM");
|
}
|
catch (Exception ex)
|
{
|
|
return null;
|
}
|
}
|
#endregion
|
|
#region 根据图号和特征 或 物料编码 获取Item(批量)
|
/// <summary>
|
/// 根据图号和特征 或 物料编码 获取Item(批量)
|
/// </summary>
|
/// <param name="ItemData"></param>
|
/// <returns></returns>
|
public List<AutoBomItemEntity> GetItemByNo(List<ChaoYangItemDataEntity> ItemData)
|
{
|
if (ItemData != null)
|
{
|
List<IMongoQuery> queryList = new List<IMongoQuery>();
|
foreach (var item in ItemData)
|
{
|
List<IMongoQuery> queryItem = new List<IMongoQuery>();
|
//图号&&特征
|
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<AutoBomItemEntity>(Query.Or(queryList), "TN_AB_ITEM");
|
}
|
}
|
return new List<AutoBomItemEntity>();
|
}
|
#endregion
|
|
#region 新增一条物料
|
/// <summary>
|
/// 新增一条物料
|
/// </summary>
|
/// <param name="item"></param>
|
/// <returns></returns>
|
public bool InsertItem(AutoBomItemEntity item)
|
{
|
return MongoDBSingleton.Instance.Insert<AutoBomItemEntity>(item, "TN_AB_ITEM");
|
}
|
#endregion
|
}
|
}
|