using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using WMS.Model.Base;
using WMS.IData;
using WMS.Common;
namespace WMS.Business.Base
{
public class BussGoods:IBussFactory
{
///
/// 通过商品编号集合获取商品信息集合
///
///
public List GetGoodsListByIDList(List goodsIDList)
{
DataTable dt = DataProvider.Instance.Goods.GetGoodsDTByIDList(goodsIDList);
List list = null;
if (DataLogErrWrite(dt, ""))
{
list = ConvertHelper.ConvertToList(dt);
}
else
{
return list;
}
return list;
}
///
/// 获取商品信息
///
///
public List GetGoodsList(string strGoodsID, string strGoodsName, string strPyName, string strProviderName)
{
try
{
DataTable dt = DataProvider.Instance.Goods.GetGoodsDataTable(strGoodsID, strGoodsName, strPyName, strProviderName);
if (dt != null)
{
List list = ConvertHelper.ConvertToList(dt);
return list;
}
}
catch (Exception ex)
{
return null;
}
return null;
}
///
/// 获取商品可选UNIT
///
///
public DataTable GetGoodsUnit(string goodsID)
{
DataTable dt = DataProvider.Instance.Goods.GetGoodsUnit(goodsID);
if (DataLogErrWrite(dt, "获取商品可选UNIT"))
{
return dt;
}
else
{
return null;
}
}
///
/// 获取商品UNIT
///
///
public List GetGoodsMeasureDataTable(string strGoodsID)
{
DataTable dt = DataProvider.Instance.Goods.GetGoodsMeasureDataTable(strGoodsID);
List list = null;
if (DataLogErrWrite(dt, ""))
{
list = ConvertHelper.ConvertToList(dt);
}
else
{
return list;
}
return list;
}
///
/// 获取商品供应商
///
///
public List GetGoodsPrividerDataTale(string strGoodsID)
{
DataTable dt = DataProvider.Instance.Goods.GetGoodsPrividerDataTale(strGoodsID);
List list = null;
if (DataLogErrWrite(dt, ""))
{
list = ConvertHelper.ConvertToList(dt);
}
else
{
return list;
}
return list;
}
///
/// 柳汽增加接口
///
///
///
public string AddGoodsInfolq(JWGoodsInfoModel GoodsModel)
{
string goodsId = GoodsModel.INVENTORY_ITEM_ID;
List li_goodsInfo = GetGoodsList(goodsId, "", "", "");
if (li_goodsInfo != null)
{
if (li_goodsInfo.Count > 0)
{
return "该商品编号已经存在!请重新输入";
}
}
///写入商品表
DataProvider.Instance.Goods.AddGoodsInfo(GoodsModel);
Transaction = DataProvider.Instance.TranOracle;
logList.Add(DataProvider.Instance.logData);
TaCmtOrRak();
return this.ErrText;
}
///
/// 增加商品基础信息
///
///
///
public string AddGoodsMeasure(GoodsMeasureModel ListMeasureModel)
{
string measure_Id = DataProvider.Instance.DocumentTable.GetSeq("SEQ_BASE_MEASURE_ID");
ListMeasureModel.GOODS_MEASURE_ID = measure_Id;
DataProvider.Instance.GoodsMeasure.AddGoodsMeasure(ListMeasureModel);
Transaction = DataProvider.Instance.TranOracle;
logList.Add(DataProvider.Instance.logData);
TaCmtOrRak();
return this.ErrText;
}
public string UpGoodsMeaSure(GoodsMeasureModel Measure)
{
DataProvider.Instance.GoodsMeasure.UpGoodsMeaSure(Measure);
return ErrText;
}
///
/// 新增商品信息
///
///
///
///
///
public string AddGoodsInfo(JWGoodsInfoModel GoodsModel, List ListMeasureModel, List ListProviderModel )
{
//string val= DataProvider.Instance.SystemParam. GetParamValue("autoGoodsID");
//if (val=="1")
//{
// GoodsModel.INVENTORY_ITEM_ID = IBussFactory.Instance().GetDocumentStream("商品编号"); ;
//}
string goodsId = GoodsModel.INVENTORY_ITEM_ID;
List li_goodsInfo = GetGoodsList(goodsId, "", "", "");
if (li_goodsInfo.Count > 0)
{
return "该商品编号已经存在!请重新输入";
}
///写入商品表
DataProvider.Instance.Goods.AddGoodsInfo(GoodsModel);
Transaction = DataProvider.Instance.TranOracle;
logList.Add(DataProvider.Instance.logData);
//if (ListMeasureModel != null)
//{
// foreach (var item in ListMeasureModel)
// {
// item.INVENTORY_ITEM_ID = GoodsModel.INVENTORY_ITEM_ID;
// DataProvider.Instance.GoodsMeasure.AddGoodsMeasure(item);
// logList.Add(DataProvider.Instance.logData);
// }
//}
//if (ListProviderModel != null)
//{
// foreach (var item in ListProviderModel)
// {
// item.INVENTORY_ITEM_ID = GoodsModel.INVENTORY_ITEM_ID;
// DataProvider.Instance.GoodProvider.AddProviderGoods(item);
// logList.Add(DataProvider.Instance.logData);
// }
//}
TaCmtOrRak();
return this.ErrText;
}
///
/// 批量增加商品
///
///
///
public List AddGoodsInfoList(List goodsModelList,ref int hadNum,ref int length,ref string error,bool fuGai)
{
List errorIndex = new List();
StringBuilder strHad = new StringBuilder();
StringBuilder strLength = new StringBuilder();
StringBuilder strError = new StringBuilder();
for (int i = 0; i < goodsModelList.Count; i++)
{
if (fuGai)
{
List listGoods = ConvertHelper.ConvertToList(DataProvider.Instance.Goods.GetGoodsDataTable(goodsModelList[i].INVENTORY_ITEM_ID, "", "", ""));
if (listGoods != null && listGoods.Count > 0)
{
DataProvider.Instance.Goods.UpdateGoodsInfo(goodsModelList[i]);
}
else
{
DataProvider.Instance.Goods.AddGoodsInfo(goodsModelList[i]);
}
}
else {
logList.Add(DataProvider.Instance.logData);
Transaction = DataProvider.Instance.TranOracle;
DataProvider.Instance.Goods.AddGoodsInfo(goodsModelList[i]);
}
if (!DataLogErrWrite("批量增加商品:"))
{
errorIndex.Add(i);
if (ErrText.Contains("存在") || ErrText.Contains("ORA-00001"))
{
strHad.AppendLine("编号为" + goodsModelList[i].INVENTORY_ITEM_ID + "的商品已存在。");
hadNum++;
}
else if (ErrText.Contains("长") || ErrText.Contains("ORA-12899"))
{
strLength.AppendLine("编号为" + goodsModelList[i].INVENTORY_ITEM_ID + "的商品数据长度过长。");
length++;
}
else {
strError.AppendLine(ErrText);
}
}
}
TaCmtOrRak();
error += strHad.ToString() + strLength.ToString() + strError.ToString();
return errorIndex;
}
///
/// 修改商品信息
///
///
///
public string UpdateGoodsInfo(JWGoodsInfoModel GoodsModel)
{
DataProvider.Instance.Goods.UpdateGoodsInfo(GoodsModel);
Transaction = DataProvider.Instance.TranOracle;
logList.Add(DataProvider.Instance.logData);
TaCmtOrRak();
return ErrText;
}
///
/// 修改商品信息(包括UNIT转换、供应商)
///
///
///
///
///
public string UpdateGoodsInfo(JWGoodsInfoModel GoodsModel, List ListMeasureModel, List ListProviderModel)
{
// DataProvider.Instance.Goods.UpdateGoodsInfo(GoodsModel);
DataProvider.Instance.Goods.UpdateGoodsInfo(GoodsModel);
Transaction = DataProvider.Instance.TranOracle;
logList.Add(DataProvider.Instance.logData);
//DataProvider.Instance.Goods.DeleteGoodsInfoMeasure(GoodsModel.INVENTORY_ITEM_ID);
//logList.Add(DataProvider.Instance.logData);
//foreach (GoodsMeasureModel Measure in ListMeasureModel)
//{
// DataProvider.Instance.Goods.UpdateGoodsInfo(GoodsModel);
// logList.Add(DataProvider.Instance.logData);
//}
//foreach (GoodsProviderModel provider in ListProviderModel)
//{
// DataProvider.Instance.Goods.UpdateGoodsInfoProVider(GoodsModel, provider);
// logList.Add(DataProvider.Instance.logData);
//}
TaCmtOrRak();
return ErrText;
}
public string DeleteMeasure(string strGoodsId,string GOODS_MEASURE_ID)
{
DataProvider.Instance.Goods.DeleteMeasure(strGoodsId, GOODS_MEASURE_ID);
logList.Add(DataProvider.Instance.logData);
TaCmtOrRak();
return ErrText;
}
///
/// 删除商品信息
///
/// 商品编号
///
public string DeleteGoodsInfo(string strGoodsID)
{
DataProvider.Instance.Goods.InsertGoodsBak(strGoodsID);
Transaction = DataProvider.Instance.TranOracle;
DataProvider.Instance.Goods.DeleteGoods(strGoodsID);
logList.Add(DataProvider.Instance.logData);
//DataProvider.Instance.Goods.DeleteGoodsInfo(strGoodsID);
//logList.Add(DataProvider.Instance.logData);
TaCmtOrRak();
return ErrText;
}
}
}