using System.Collections.Generic;
using WMS.Model.Strategy;
using System.Data;
using WMS.IData;
using WMS.Common;
namespace WMS.Business.Strategy
{
public class BussStrAreaRep : IBussFactory
{
///
/// 获取库区间定时补货策略结果集
///
/// 库区间定时补货策略
public List GetStrAreaRepList(StrAreaRepModel model)
{
DataTable table = DataProvider.Instance.StrAreaRep.GetStrAreaRepDT(model);
if (table != null)
{
List StrAreaRepModel = ConvertHelper.ConvertToList(table);
return StrAreaRepModel;
}
return null;
}
///
/// 新增库区间定时补货策略(包括明细)
///
/// 库区间定时补货策略Model
/// 明细ModelList
/// 是否成功
public string InsertStrAreaRepAndTab(StrAreaRepModel StrAreaRepModel, List listStrAreaRepStorage, List listStrAreaRepGoods)
{
//新增库区间定时补货策略
StrAreaRepModel.STRATEGY_ID = DataProvider.Instance.StrAreaRep.InsertStrAreaRep(StrAreaRepModel);
logList.Add(DataProvider.Instance.logData);
Transaction = DataProvider.Instance.TranOracle;
//增加明细
foreach (StrAreaRepStorageModel StrAreaRepStorageModel in listStrAreaRepStorage)
{
if (!string.IsNullOrEmpty(StrAreaRepModel.STRATEGY_ID))
{
StrAreaRepStorageModel.STRATEGY_ID = StrAreaRepModel.STRATEGY_ID;
}
DataProvider.Instance.StrAreaRepStorage.InsertStrAreaRepStorage(StrAreaRepStorageModel);
logList.Add(DataProvider.Instance.logData);
}
//增加明细
foreach (StrAreaRepGoodsModel StrAreaRepGoodsModel in listStrAreaRepGoods)
{
if (!string.IsNullOrEmpty(StrAreaRepModel.STRATEGY_ID))
{
StrAreaRepGoodsModel.STRATEGY_ID = StrAreaRepModel.STRATEGY_ID;
}
DataProvider.Instance.StrAreaRepGoods.InsertStrAreaRepGoods(StrAreaRepGoodsModel);
logList.Add(DataProvider.Instance.logData);
}
TaCmtOrRak();
return ErrText;
}
///
/// 修改库区间定时补货策略(包括明细)
///
/// 库区间定时补货策略Model
/// 明细ModelList
/// 是否成功
public string UpdateStrAreaRepAndTab(StrAreaRepModel StrAreaRepModel, List listStrAreaRepStorage, List listStrAreaRepGoods)
{
//List listOD = new List();//出库通知明细
//修改库区间定时补货策略
DataProvider.Instance.StrAreaRep.UpdateStrAreaRep(StrAreaRepModel);
logList.Add(DataProvider.Instance.logData);
Transaction = DataProvider.Instance.TranOracle;
//删除所有明细
DataProvider.Instance.StrAreaRepStorage.DeleteStrAreaRepStorage(StrAreaRepModel.STRATEGY_ID);
logList.Add(DataProvider.Instance.logData);
//增加明细
foreach (StrAreaRepStorageModel StrAreaRepStorageModel in listStrAreaRepStorage)
{
DataProvider.Instance.StrAreaRepStorage.InsertStrAreaRepStorage(StrAreaRepStorageModel);
logList.Add(DataProvider.Instance.logData);
}
//删除所有明细
DataProvider.Instance.StrAreaRepGoods.DeleteStrAreaRepGoods(StrAreaRepModel.STRATEGY_ID);
logList.Add(DataProvider.Instance.logData);
//增加明细
foreach (StrAreaRepGoodsModel StrAreaRepGoodsModel in listStrAreaRepGoods)
{
DataProvider.Instance.StrAreaRepGoods.InsertStrAreaRepGoods(StrAreaRepGoodsModel);
logList.Add(DataProvider.Instance.logData);
}
TaCmtOrRak();
return ErrText;
}
///
/// 删除库区间定时补货策略与属于它的明细信息
///
/// 库区间定时补货策略
/// 是否成功
public string DeleteStrAreaRepAndTab(string StrAreaRepID)
{
DataProvider.Instance.StrAreaRep.DeleteStrAreaRep(StrAreaRepID);
logList.Add(DataProvider.Instance.logData);
Transaction = DataProvider.Instance.TranOracle;
DataProvider.Instance.StrAreaRepStorage.DeleteStrAreaRepStorage(StrAreaRepID);
logList.Add(DataProvider.Instance.logData);
DataProvider.Instance.StrAreaRepGoods.DeleteStrAreaRepGoods(StrAreaRepID);
logList.Add(DataProvider.Instance.logData);
TaCmtOrRak();
return ErrText;
}
}
}