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