BaoKai_202508_Wms_Jingwang_.../WMS.Business/Stock/BussMIStock.cs

295 lines
9.4 KiB
C#
Raw Normal View History

2025-08-24 21:52:42 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WMS.Model.Stock;
using System.Data;
using WMS.IData;
using WMS.Common;
using WMS.Model.Base;
namespace WMS.Business.Stock
{
public partial class BussMIStock : IBussFactory
{
public string UpdateMisLoc(string locId, string sts)
{
DataProvider.Instance.MIStock.UpdateMisLoc(locId, sts);
return ErrText;
}
public DataTable GetCtMisTable(string locId)
{
return DataProvider.Instance.MIStock.GetCtMisTable(locId);
}
public DataSet GetCTlGoods(string ctl)
{
DataTable table = DataProvider.Instance.MIStock.GetCTlGoods(ctl);
DataSet ds = new DataSet();
ds.Tables.Add(table);
return ds;
}
public void DeleteMIStock(string ctl, string locid, string goodid, ref string errText)
{
//删除库存
DataProvider.Instance.MIStock.DeleteMIStock(ctl, locid, goodid);
//释放库位
DataProvider.Instance.AutoRkData.UpdateLocSts(locid);
}
public bool UpdateMis(string num, string locId, string stoid, string goodid)
{
return DataProvider.Instance.MIStock.UpdateMis(num, locId, stoid, goodid);
}
public bool UpdateMis(string locId, string stoid)
{
return DataProvider.Instance.MIStock.UpdateMis(locId, stoid);
}
public DataTable GetMistockLocData(string devid)
{
DataTable table = DataProvider.Instance.MIStock.GetMistockLocData(devid);
//if (table != null)
//{
// List<BussMIStock> model = ConvertHelper<BussMIStock>.ConvertToList(table);
// return model;
//}
return table;
}
public DataSet GetStockTaskLtk(string ck, string kq)
{
DataTable table = DataProvider.Instance.MIStock.GetStockTaskLtk(ck,kq);
DataSet ds = new DataSet();
ds.Tables.Add(table);
return ds;
}
/// <summary>
/// 查询空托盘
/// </summary>
/// <returns></returns>
public DataTable GetMisDataNullOut(string size)
{
DataTable table = DataProvider.Instance.MIStock.GetMisDataNullOut(size);
return table;
}
/// <summary>
/// 查询空库位
/// </summary>
/// <returns></returns>
public DataTable GetNullLocal(string STORAGE_ID)
{
DataTable table = DataProvider.Instance.MIStock.GetNullLocal(STORAGE_ID);
return table;
}
public DataSet GetStockName(string name)
{
DataSet ds = DataProvider.Instance.MIStock.GetStockName(name);
return ds;
}
public DataTable GetMisDataOut(string locid,string goodsiD,string STORAGE_ID)
{
return DataProvider.Instance.MIStock.GetMisDataOut(locid, goodsiD, STORAGE_ID);
}
/// <summary>
/// 获取库存表结果集
/// </summary>
/// <returns>库存表</returns>
public List<MIStockModel> GetMIStockList(MIStockModel model)
{
DataTable table = DataProvider.Instance.MIStock.GetMIStockDT(model);
if (table != null)
{
List<MIStockModel> MIStockModel = new List<MIStockModel>();
MIStockModel = ConvertHelper<MIStockModel>.ConvertToList(table);
return MIStockModel;
}
return null;
}
public DataTable GetLoctionGoodLtk(string goodslId)
{
DataTable table = DataProvider.Instance.MIStock.GetLoctionGoodLtk(goodslId);
//DataSet ds = new DataSet();
//ds.Tables.Add(table);
return table;
}
public DataSet LtkDataMis(string goodsId, string STORAGE_ID, string AREA_ID)
{
DataTable table = DataProvider.Instance.MIStock.LtkDataMis(goodsId, STORAGE_ID, AREA_ID);
DataSet ds = new DataSet();
ds.Tables.Add(table);
return ds;
}
//// DataTable LtkDataMis(string goodsId, string STORAGE_ID, string AREA_ID);/ <summary>
///// 用于库存查看窗体查询
///// </summary>
///// <param name="model"></param>
///// <returns></returns>
//public List<MIStockModel> GetMiStockForLookUp(MIStockModel model)
//{
// DataTable table = DataProvider.Instance.MIStock.GetMiStockForLookUp(model);
// List<MIStockModel> MIStockModel = new List<MIStockModel>();
// MIStockModel = ConvertHelper<MIStockModel>.ConvertToList(table);
// if (DataLogErrWrite(table, "获取库存表用于查询窗体"))
// {
// return MIStockModel;
// }
// return null;
//}
/// <summary>
/// 删除库存表
/// </summary>
/// <param name="MIStock">库存表</param>
/// <returns>是否成功</returns>
public string DeleteMIStock(MIStockModel model)
{
DataProvider.Instance.MIStock.DeleteMIStock(model);
logList.Add(DataProvider.Instance.logData);
Transaction = DataProvider.Instance.TranOracle;
TaCmtOrRak();
return ErrText;
}
/// <summary>
/// 新增库存表
/// </summary>
/// <param name="MIStockModel">库存表Model</param>
/// <returns>是否成功</returns>
public string InsertMIStockAndTab(MIStockModel MIStockModel)
{
//新增库存表
DataProvider.Instance.MIStock.InsertMIStock(MIStockModel);
logList.Add(DataProvider.Instance.logData);
Transaction = DataProvider.Instance.TranOracle;
TaCmtOrRak();
return ErrText;
}
/// <summary>
/// 修改库存表
/// </summary>
/// <param name="MIStockModel">库存表Model</param>
/// <returns>是否成功</returns>
public string UpdateMIStockAndTab(MIStockModel MIStockModel)
{
DataProvider.Instance.MIStock.UpdateMIStock(MIStockModel);
logList.Add(DataProvider.Instance.logData);
Transaction = DataProvider.Instance.TranOracle;
TaCmtOrRak();
return ErrText;
}
/// <summary>
/// 修改库存数量
/// </summary>
/// <param name="MIStockModel">库存表Model</param>
/// <returns>是否成功</returns>
public string UpdateMIStockNum(MIStockModel MIStockModel)
{
DataProvider.Instance.MIStock.UpdateMIStockNum(MIStockModel);
logList.Add(DataProvider.Instance.logData);
Transaction = DataProvider.Instance.TranOracle;
TaCmtOrRak();
return ErrText;
}
GoodsInfoModel temp = new GoodsInfoModel();
/// <summary>
/// 通过库存Model获取商品表
/// </summary>
/// <returns>商品表</returns>
public List<GoodsInfoModel> GetGoodsListByMIStock(MIStockModel model)
{
List<MIStockModel> list = GetMIStockList(model);
List<GoodsInfoModel> goodsList = new List<GoodsInfoModel>();
foreach (MIStockModel item in list)
{
DataTable dt = DataProvider.Instance.Goods.GetGoodsDataTable(item.GOODS_ID, "", "", "");
temp = ConvertHelper<GoodsInfoModel>.ConvertToList(dt)[0];
if (!goodsList.Exists(MatchPRE)) {
goodsList.Add(temp);
}
}
return goodsList;
}
/// <summary>
/// 条件匹配函数goodsList中每个元素都会传入P中
/// </summary>
/// <param name="p"></param>
/// <returns></returns>
private bool MatchPRE(GoodsInfoModel p)
{
if (p.GOODS_ID == temp.GOODS_ID)//此句为匹配条件,如果匹配,返回,你可以随意更改成你想要的值
{
return true;
}
return false;
}
/// <summary>
/// 批量增加库存
/// </summary>
/// <param name="goodsModelList"></param>
/// <returns></returns>
public string AddMIStockList(List<MIStockModel> MIStockList)
{
string locd = string.Empty;
for (int i = 0; i < MIStockList.Count; i++)
{
if (MIStockList[i].SHELVES_NUM > 0)
{
DataProvider.Instance.MIStock.InsertMIStock(MIStockList[i]);
logList.Add(DataProvider.Instance.logData);
if (i == 0)
{
Transaction = DataProvider.Instance.TranOracle;
}
if (locd != MIStockList[i].LOCATION_ID)
{
//DataProvider.Instance.PickingWaveGoods.SerLocWaitInSts(MIStockList[i].LOCATION_ID);
logList.Add(DataProvider.Instance.logData);
locd = MIStockList[i].LOCATION_ID;
}
}
}
TaCmtOrRak();
return ErrText;
}
}
}