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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|