350 lines
12 KiB
C#
350 lines
12 KiB
C#
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
|
||
{
|
||
|
||
|
||
/// <summary>
|
||
/// 通过商品编号集合获取商品信息集合
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public List<JWGoodsInfoModel> GetGoodsListByIDList(List<string> goodsIDList)
|
||
{
|
||
DataTable dt = DataProvider.Instance.Goods.GetGoodsDTByIDList(goodsIDList);
|
||
List<JWGoodsInfoModel> list = null;
|
||
if (DataLogErrWrite(dt, ""))
|
||
{
|
||
list = ConvertHelper<JWGoodsInfoModel>.ConvertToList(dt);
|
||
}
|
||
else
|
||
{
|
||
return list;
|
||
}
|
||
|
||
return list;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取商品信息
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public List<JWGoodsInfoModel> GetGoodsList(string strGoodsID, string strGoodsName, string strPyName, string strProviderName)
|
||
{
|
||
try
|
||
{
|
||
DataTable dt = DataProvider.Instance.Goods.GetGoodsDataTable(strGoodsID, strGoodsName, strPyName, strProviderName);
|
||
if (dt != null)
|
||
{
|
||
List<JWGoodsInfoModel> list = ConvertHelper<JWGoodsInfoModel>.ConvertToList(dt);
|
||
return list;
|
||
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return null;
|
||
}
|
||
return null;
|
||
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取商品可选UNIT
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public DataTable GetGoodsUnit(string goodsID)
|
||
{
|
||
DataTable dt = DataProvider.Instance.Goods.GetGoodsUnit(goodsID);
|
||
|
||
if (DataLogErrWrite(dt, "获取商品可选UNIT"))
|
||
{
|
||
return dt;
|
||
}
|
||
else
|
||
{
|
||
return null;
|
||
}
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取商品UNIT
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public List<GoodsMeasureModel> GetGoodsMeasureDataTable(string strGoodsID)
|
||
{
|
||
DataTable dt = DataProvider.Instance.Goods.GetGoodsMeasureDataTable(strGoodsID);
|
||
List<GoodsMeasureModel> list = null;
|
||
if (DataLogErrWrite(dt, ""))
|
||
{
|
||
list = ConvertHelper<GoodsMeasureModel>.ConvertToList(dt);
|
||
}
|
||
else
|
||
{
|
||
return list;
|
||
}
|
||
|
||
return list;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取商品供应商
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public List<GoodsProviderModel> GetGoodsPrividerDataTale(string strGoodsID)
|
||
{
|
||
DataTable dt = DataProvider.Instance.Goods.GetGoodsPrividerDataTale(strGoodsID);
|
||
List<GoodsProviderModel> list = null;
|
||
if (DataLogErrWrite(dt, ""))
|
||
{
|
||
list = ConvertHelper<GoodsProviderModel>.ConvertToList(dt);
|
||
}
|
||
else
|
||
{
|
||
return list;
|
||
}
|
||
|
||
return list;
|
||
}
|
||
/// <summary>
|
||
/// 柳汽增加接口
|
||
/// </summary>
|
||
/// <param name="GoodsModel"></param>
|
||
/// <returns></returns>
|
||
public string AddGoodsInfolq(JWGoodsInfoModel GoodsModel)
|
||
{
|
||
string goodsId = GoodsModel.INVENTORY_ITEM_ID;
|
||
List<JWGoodsInfoModel> 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;
|
||
}
|
||
/// <summary>
|
||
/// 增加商品基础信息
|
||
/// </summary>
|
||
/// <param name="ListMeasureModel"></param>
|
||
/// <returns></returns>
|
||
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;
|
||
}
|
||
/// <summary>
|
||
/// 新增商品信息
|
||
/// </summary>
|
||
/// <param name="GoodsModel"></param>
|
||
/// <param name="ListMeasureModel"></param>
|
||
/// <param name="ListProviderModel"></param>
|
||
/// <returns></returns>
|
||
public string AddGoodsInfo(JWGoodsInfoModel GoodsModel, List<GoodsMeasureModel> ListMeasureModel, List<GoodsProviderModel> ListProviderModel )
|
||
{
|
||
//string val= DataProvider.Instance.SystemParam. GetParamValue("autoGoodsID");
|
||
//if (val=="1")
|
||
//{
|
||
|
||
// GoodsModel.INVENTORY_ITEM_ID = IBussFactory<WMS.Business.Base.BussDocumentTable>.Instance().GetDocumentStream("商品编号"); ;
|
||
|
||
|
||
//}
|
||
|
||
string goodsId = GoodsModel.INVENTORY_ITEM_ID;
|
||
List<JWGoodsInfoModel> 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;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 批量增加商品
|
||
/// </summary>
|
||
/// <param name="goodsModelList"></param>
|
||
/// <returns></returns>
|
||
public List<int> AddGoodsInfoList(List<JWGoodsInfoModel> goodsModelList,ref int hadNum,ref int length,ref string error,bool fuGai)
|
||
{
|
||
List<int> errorIndex = new List<int>();
|
||
StringBuilder strHad = new StringBuilder();
|
||
StringBuilder strLength = new StringBuilder();
|
||
StringBuilder strError = new StringBuilder();
|
||
|
||
for (int i = 0; i < goodsModelList.Count; i++)
|
||
{
|
||
if (fuGai)
|
||
{
|
||
List<JWGoodsInfoModel> listGoods = ConvertHelper<JWGoodsInfoModel>.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;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 修改商品信息
|
||
/// </summary>
|
||
/// <param name="GoodsModel"></param>
|
||
/// <returns></returns>
|
||
public string UpdateGoodsInfo(JWGoodsInfoModel GoodsModel)
|
||
{
|
||
DataProvider.Instance.Goods.UpdateGoodsInfo(GoodsModel);
|
||
Transaction = DataProvider.Instance.TranOracle;
|
||
logList.Add(DataProvider.Instance.logData);
|
||
TaCmtOrRak();
|
||
return ErrText;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 修改商品信息(包括UNIT转换、供应商)
|
||
/// </summary>
|
||
/// <param name="GoodsModel"></param>
|
||
/// <param name="ListMeasureModel"></param>
|
||
/// <param name="ListProviderModel"></param>
|
||
/// <returns></returns>
|
||
public string UpdateGoodsInfo(JWGoodsInfoModel GoodsModel, List<GoodsMeasureModel> ListMeasureModel, List<GoodsProviderModel> 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;
|
||
}
|
||
/// <summary>
|
||
/// 删除商品信息
|
||
/// </summary>
|
||
/// <param name="strGoodsID">商品编号</param>
|
||
/// <returns></returns>
|
||
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;
|
||
}
|
||
}
|
||
}
|