BaoKai_202508_Wms_Jingwang_.../WMS.Business/Stock/BussMIStock.cs
2025-08-24 21:52:42 +08:00

295 lines
9.4 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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