大连融科 WMS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

651 lines
26 KiB

using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.ServiceModel;
using SiaSun.LMS.Model;
using System.Reflection;
using SiaSun.LMS.Implement.localhost1;
namespace SiaSun.LMS.Implement
{
public class StorageBase : S_BaseService,SiaSun.LMS.Interface.I_StorageService
{
/// <summary>
/// 库存增加(入库)
/// </summary>
/// <param name="MANAGE_ID"></param>
/// <param name="sResult"></param>
/// <returns></returns>
public bool StorageCreate(int MANAGE_ID, out string sResult)
{
bool bResult = true;
sResult = string.Empty;
SiaSun.LMS.Model.STORAGE_LIST mSTORAGE_LIST;
string sGOODS_PROPERTY_CONDITION = string.Empty;
try
{
SiaSun.LMS.Model.MANAGE_MAIN mMANAGE_MAIN = this._P_MANAGE_MAIN.GetModel(MANAGE_ID);
if (null == mMANAGE_MAIN)
{
bResult = false;
sResult = string.Format("管理任务索引 {0} 不存在", MANAGE_ID);
return bResult;
}
//查看托盘条码是否存在暂存区库存-存在,则更新库存位置为当前任务的终止位置
SiaSun.LMS.Model.STORAGE_MAIN mSTORAGE_MAIN_STOCK_BARCODE = this._P_STORAGE_MAIN.GetModelStockBarcode(mMANAGE_MAIN.STOCK_BARCODE);
if (mSTORAGE_MAIN_STOCK_BARCODE != null)
{
Model.WH_CELL mWH_CELL_STOCK_BARCODE = this._P_WH_CELL.GetModel(mSTORAGE_MAIN_STOCK_BARCODE.CELL_ID);
if (mWH_CELL_STOCK_BARCODE != null)
{
Model.WH_AREA mWH_AREA_STOCK_BARCODE = this._P_WH_AREA.GetModel(mWH_CELL_STOCK_BARCODE.AREA_ID);
if ((mWH_AREA_STOCK_BARCODE != null) && (mWH_AREA_STOCK_BARCODE.AREA_TYPE.Equals(LMS.Enum.AREA_TYPE.XuNiKu.ToString())))
{
mSTORAGE_MAIN_STOCK_BARCODE.CELL_ID = mMANAGE_MAIN.END_CELL_ID;
this._P_STORAGE_MAIN.Update(mSTORAGE_MAIN_STOCK_BARCODE);
}
}
}
//查看是否有相同条件STORGE_MAIN
SiaSun.LMS.Model.STORAGE_MAIN mSTORAGE_MAIN = this._P_STORAGE_MAIN.GetModelCellIDStockBarcode(mMANAGE_MAIN.END_CELL_ID, mMANAGE_MAIN.STOCK_BARCODE);
//生成STORAGE_MAIN
if (null == mSTORAGE_MAIN)
{
mSTORAGE_MAIN = new SiaSun.LMS.Model.STORAGE_MAIN();
mSTORAGE_MAIN.GOODS_TEMPLATE_ID = mMANAGE_MAIN.GOODS_TEMPLATE_ID;
mSTORAGE_MAIN.CELL_ID = mMANAGE_MAIN.END_CELL_ID;
mSTORAGE_MAIN.STOCK_BARCODE = mMANAGE_MAIN.STOCK_BARCODE;
//mSTORAGE_MAIN.FULL_FLAG = string.IsNullOrEmpty(mMANAGE_MAIN.STOCK_BARCODE) ? SiaSun.LMS.Enum.FULL_FLAG.PART.ToString("d") : mMANAGE_MAIN.FULL_FLAG;
mSTORAGE_MAIN.FULL_FLAG = mMANAGE_MAIN.FULL_FLAG;
mSTORAGE_MAIN.CELL_MODEL = mMANAGE_MAIN.CELL_MODEL;
mSTORAGE_MAIN.STORAGE_REMARK = mMANAGE_MAIN.MANAGE_REMARK;
this._P_STORAGE_MAIN.Add(mSTORAGE_MAIN);
}
else
{
//mSTORAGE_MAIN.FULL_FLAG = string.IsNullOrEmpty(mMANAGE_MAIN.STOCK_BARCODE) ? SiaSun.LMS.Enum.FULL_FLAG.PART.ToString("d") : mMANAGE_MAIN.FULL_FLAG;
mSTORAGE_MAIN.FULL_FLAG = mMANAGE_MAIN.FULL_FLAG;
mSTORAGE_MAIN.CELL_MODEL = mMANAGE_MAIN.CELL_MODEL;
mSTORAGE_MAIN.STORAGE_REMARK = mMANAGE_MAIN.MANAGE_REMARK;
this._P_STORAGE_MAIN.Update(mSTORAGE_MAIN);
}
IList<SiaSun.LMS.Model.MANAGE_LIST> lsMANAGE_LIST = this._P_MANAGE_LIST.GetListManageID(MANAGE_ID);
foreach (SiaSun.LMS.Model.MANAGE_LIST mMANAGE_LIST in lsMANAGE_LIST)
{
bResult = this._S_GoodsService.GetGoodsPropertyCondition(mMANAGE_LIST.GOODS_ID, true, mMANAGE_LIST, out sGOODS_PROPERTY_CONDITION, out sResult);
if (!bResult)
{
return bResult;
}
string strSQL = string.Format(@"SELECT * FROM V_STORAGE_LIST
WHERE 1=1
AND CELL_ID = {0}
AND STORAGE_ID = {1}
AND GOODS_ID = {2}
AND {3}",
mMANAGE_MAIN.END_CELL_ID,
mSTORAGE_MAIN.STORAGE_ID,
mMANAGE_LIST.GOODS_ID,
sGOODS_PROPERTY_CONDITION);
DataTable dtSTORAGE_LIST = base.GetList(strSQL);
if (dtSTORAGE_LIST.Rows.Count > 0)
{
//取得STORAGE_LIST
mSTORAGE_LIST = this._P_STORAGE_LIST.GetModel(Convert.ToInt32(dtSTORAGE_LIST.Rows[0]["STORAGE_LIST_ID"].ToString()));
mSTORAGE_LIST.STORAGE_LIST_QUANTITY += mMANAGE_LIST.MANAGE_LIST_QUANTITY;
mSTORAGE_LIST.UPDATE_TIME = SiaSun.LMS.Common.StringUtil.GetCurDateTimeString();
this._P_STORAGE_LIST.Update(mSTORAGE_LIST);
}
else
{
//生成STORAGE_LIST
mSTORAGE_LIST = new SiaSun.LMS.Model.STORAGE_LIST();
mSTORAGE_LIST.STORAGE_ID = mSTORAGE_MAIN.STORAGE_ID;
mSTORAGE_LIST.PLAN_LIST_ID = mMANAGE_LIST.PLAN_LIST_ID;
mSTORAGE_LIST.BOX_BARCODE = mMANAGE_LIST.BOX_BARCODE;
mSTORAGE_LIST.STORAGE_LIST_QUANTITY = mMANAGE_LIST.MANAGE_LIST_QUANTITY;
mSTORAGE_LIST.GOODS_ID = mMANAGE_LIST.GOODS_ID;
//批次号
mSTORAGE_LIST.GOODS_PROPERTY1 = mMANAGE_LIST.GOODS_PROPERTY1;
//GY GK等
mSTORAGE_LIST.GOODS_PROPERTY2 = mMANAGE_LIST.GOODS_PROPERTY2;
mSTORAGE_LIST.GOODS_PROPERTY3 = mMANAGE_LIST.GOODS_PROPERTY3;
//ljc
mSTORAGE_LIST.GOODS_PROPERTY6 = "未翻转";
bResult = this._S_GoodsService.GoodsPropertySetValue(mMANAGE_LIST.GOODS_ID, mSTORAGE_LIST, mMANAGE_LIST, out sResult);
if (!bResult)
{
return bResult;
}
mSTORAGE_LIST.ENTRY_TIME = SiaSun.LMS.Common.StringUtil.GetCurDateTimeString();
mSTORAGE_LIST.UPDATE_TIME = SiaSun.LMS.Common.StringUtil.GetCurDateTimeString();
mSTORAGE_LIST.STORAGE_LIST_REMARK = mMANAGE_LIST.MANAGE_LIST_REMARK;
this._P_STORAGE_LIST.Add(mSTORAGE_LIST);
}
//生成STORAGE_DETAIL
IList<SiaSun.LMS.Model.MANAGE_DETAIL> lsMANAGE_DETAIL = this._P_MANAGE_DETAIL.GetListManageListID(mMANAGE_LIST.MANAGE_LIST_ID);
foreach (SiaSun.LMS.Model.MANAGE_DETAIL mMANAGE_DETAIL in lsMANAGE_DETAIL)
{
SiaSun.LMS.Model.STORAGE_DETAIL mSTORAGE_DETAIL = new SiaSun.LMS.Model.STORAGE_DETAIL();
mSTORAGE_DETAIL.STORAGE_LIST_ID = mSTORAGE_LIST.STORAGE_LIST_ID;
mSTORAGE_DETAIL.GOODS_BARCODE = mMANAGE_DETAIL.GOODS_BARCODE;
mSTORAGE_DETAIL.BOX_BARCODE = mMANAGE_DETAIL.BOX_BARCODE;
mSTORAGE_DETAIL.STORAGE_DETAIL_REMARK = mMANAGE_DETAIL.MANAGE_DETAIL_REMARK;
this._P_STORAGE_DETAIL.Add(mSTORAGE_DETAIL);
}
//更新mMANAGE_LIST.STORAGE_LIST_ID(生成RECORD_LIST的时候记录)
mMANAGE_LIST.STORAGE_LIST_ID = mSTORAGE_LIST.STORAGE_LIST_ID;
this._P_MANAGE_LIST.Update(mMANAGE_LIST);
}
}
catch (Exception ex)
{
bResult = false;
sResult = ex.Message;
this._log.Fatal(string.Format("调用方法{0}发生异常。", MethodBase.GetCurrentMethod().Name), ex);
}
return bResult;
}
/// <summary>
/// 库存减少(出库)
/// </summary>
/// <param name="MANAGE_ID"></param>
/// <param name="sResult"></param>
/// <returns></returns>
public bool StorageDelete(int MANAGE_ID, out string sResult)
{
bool bResult = true;
sResult = string.Empty;
try
{
SiaSun.LMS.Model.MANAGE_MAIN mMANAGE_MAIN = this._P_MANAGE_MAIN.GetModel(MANAGE_ID);
if (null == mMANAGE_MAIN)
{
bResult = false;
sResult = string.Format("管理任务索引 {0} 不存在", MANAGE_ID);
return bResult;
}
IList<SiaSun.LMS.Model.MANAGE_LIST> lsMANAGE_LIST = this._P_MANAGE_LIST.GetListManageID(MANAGE_ID);
SiaSun.LMS.Model.STORAGE_LIST mSTORAGE_LIST = null;
SiaSun.LMS.Model.STORAGE_MAIN mSTORAGE_MAIN_OLD;
foreach (SiaSun.LMS.Model.MANAGE_LIST mMANAGE_LIST in lsMANAGE_LIST)
{
mSTORAGE_LIST = this._P_STORAGE_LIST.GetModel(mMANAGE_LIST.STORAGE_LIST_ID);
if (null == mSTORAGE_LIST)
{
bResult = false;
sResult = string.Format("库存索引{0}不存在", mMANAGE_LIST.STORAGE_LIST_ID);
return bResult;
}
//校验任务数量是否大于库存数量
if (mMANAGE_LIST.MANAGE_LIST_QUANTITY > mSTORAGE_LIST.STORAGE_LIST_QUANTITY)
{
bResult = false;
sResult = string.Format("任务数量大于库存数量");
return bResult;
}
mSTORAGE_MAIN_OLD = this._P_STORAGE_MAIN.GetModel(mSTORAGE_LIST.STORAGE_ID);
if (!string.IsNullOrEmpty(mSTORAGE_MAIN_OLD.STOCK_BARCODE))
{
mSTORAGE_MAIN_OLD.FULL_FLAG = SiaSun.LMS.Enum.FULL_FLAG.FULL.ToString("d");
}
// this._P_STORAGE_MAIN.Update(mSTORAGE_MAIN_OLD);
//更新库存列表的库存数量
mSTORAGE_LIST.STORAGE_LIST_QUANTITY -= mMANAGE_LIST.MANAGE_LIST_QUANTITY;
if (mSTORAGE_LIST.STORAGE_LIST_QUANTITY > 0)
{
this._P_STORAGE_LIST.Update(mSTORAGE_LIST);
///下架移至暂存区ljc
mSTORAGE_MAIN_OLD.CELL_ID = 16644;
this._P_STORAGE_MAIN.Update(mSTORAGE_MAIN_OLD);
}
else
{
this._P_STORAGE_LIST.Delete(mSTORAGE_LIST.STORAGE_LIST_ID);
if (this._P_STORAGE_LIST.GetListStorageID(mSTORAGE_LIST.STORAGE_ID).Count == 0)
{
this._P_STORAGE_MAIN.Delete(mSTORAGE_LIST.STORAGE_ID);
}
else
{
///下架移至暂存区ljc
mSTORAGE_MAIN_OLD.CELL_ID = 16644;
this._P_STORAGE_MAIN.Update(mSTORAGE_MAIN_OLD);
}
}
IList<SiaSun.LMS.Model.MANAGE_DETAIL> lsMANAGE_DETAIL = this._P_MANAGE_DETAIL.GetListManageListID(mMANAGE_LIST.MANAGE_LIST_ID);
foreach (SiaSun.LMS.Model.MANAGE_DETAIL mMANAGE_DETAIL in lsMANAGE_DETAIL)
{
SiaSun.LMS.Model.STORAGE_DETAIL mSTORAGE_DETAIL = this._P_STORAGE_DETAIL.GetModelGoodsBarcode(mMANAGE_DETAIL.GOODS_BARCODE);
if (mSTORAGE_DETAIL != null)
{
this._P_STORAGE_DETAIL.Delete(mSTORAGE_DETAIL.STORAGE_DETAIL_ID);
}
}
}
}
catch (Exception ex)
{
bResult = false;
sResult = ex.Message;
this._log.Fatal(string.Format("调用方法{0}发生异常。", MethodBase.GetCurrentMethod().Name), ex);
}
return bResult;
}
/// <summary>库存移动(上架,下架)
/// 库存-移动
/// </summary>
/// <param name="MANAGE_ID"></param>
/// <param name="sResult"></param>
/// <returns></returns>
public bool StorageMove(int MANAGE_ID, out string sResult)
{
bool bResult = true;
sResult = string.Empty;
try
{
SiaSun.LMS.Model.MANAGE_MAIN mMANAGE_MAIN = this._P_MANAGE_MAIN.GetModel(MANAGE_ID);
if (null == mMANAGE_MAIN)
{
bResult = false;
sResult = string.Format("管理任务索引 {0} 不存在", MANAGE_ID);
return bResult;
}
SiaSun.LMS.Model.STORAGE_MAIN mSTORAGE_MAIN;
SiaSun.LMS.Model.STORAGE_LIST mSTORAGE_LIST;
IList<SiaSun.LMS.Model.MANAGE_LIST> lsMANAGE_LIST = this._P_MANAGE_LIST.GetListManageID(MANAGE_ID);
foreach (SiaSun.LMS.Model.MANAGE_LIST mMANAGE_LIST in lsMANAGE_LIST)
{
mSTORAGE_LIST = this._P_STORAGE_LIST.GetModel(mMANAGE_LIST.STORAGE_LIST_ID);
if (null == mSTORAGE_LIST)
{
bResult = false;
sResult = string.Format("库存列表索引{0}不存在", mMANAGE_LIST.STORAGE_LIST_ID);
return bResult;
}
mSTORAGE_MAIN = this._P_STORAGE_MAIN.GetModel(mSTORAGE_LIST.STORAGE_ID);
if (null == mSTORAGE_MAIN)
{
bResult = false;
sResult = string.Format("库存索引{0}不存在", mSTORAGE_LIST.STORAGE_ID);
return bResult;
}
mSTORAGE_MAIN.CELL_MODEL = mMANAGE_MAIN.CELL_MODEL;
SiaSun.LMS.Model.WH_CELL mEND_WH_CELL = this._P_WH_CELL.GetModel(mMANAGE_MAIN.END_CELL_ID);
mSTORAGE_MAIN.CELL_ID = mEND_WH_CELL.CELL_TYPE.Equals(SiaSun.LMS.Enum.CELL_TYPE.Station.ToString()) ? 16644 : mEND_WH_CELL.CELL_ID;
this._P_STORAGE_MAIN.Update(mSTORAGE_MAIN);
mSTORAGE_LIST.UPDATE_TIME = SiaSun.LMS.Common.StringUtil.GetCurDateTimeString();
//ljc
mSTORAGE_LIST.GOODS_PROPERTY6 = mMANAGE_LIST.GOODS_PROPERTY6;
this._P_STORAGE_LIST.Update(mSTORAGE_LIST);
}
}
catch (Exception ex)
{
bResult = false;
sResult = ex.Message;
this._log.Fatal(string.Format("调用方法{0}发生异常。", MethodBase.GetCurrentMethod().Name), ex);
}
return bResult;
}
/// <summary>
/// 库存更改(配盘,取消配盘)
/// </summary>
/// <param name="MANAGE_ID"></param>
/// <param name="sResult"></param>
/// <returns></returns>
public bool StorageChange(int MANAGE_ID, out string sResult)
{
bool bResult = true;
sResult = string.Empty;
string STOCK_BARCODE = string.Empty;
string sGOODS_PROPERTY = string.Empty;
SiaSun.LMS.Model.STORAGE_LIST mSTORAGE_LIST;
SiaSun.LMS.Model.STORAGE_MAIN mSTORAGE_MAIN;
SiaSun.LMS.Model.STORAGE_MAIN mSTORAGE_MAIN_OLD;
string sGOODS_PROPERTY_CONDITION = string.Empty;
try
{
SiaSun.LMS.Model.MANAGE_MAIN mMANAGE_MAIN = this._P_MANAGE_MAIN.GetModel(MANAGE_ID);
if (null == mMANAGE_MAIN)
{
bResult = false;
sResult = string.Format("管理任务索引 {0} 不存在", MANAGE_ID);
return bResult;
}
STOCK_BARCODE = mMANAGE_MAIN.STOCK_BARCODE;
IList<SiaSun.LMS.Model.MANAGE_LIST> lsMANAGE_LIST = this._P_MANAGE_LIST.GetListManageID(MANAGE_ID);
foreach (SiaSun.LMS.Model.MANAGE_LIST mMANAGE_LIST in lsMANAGE_LIST)
{
mSTORAGE_LIST = this._P_STORAGE_LIST.GetModel(mMANAGE_LIST.STORAGE_LIST_ID);
if (null == mSTORAGE_LIST)
{
bResult = false;
sResult = string.Format("库存列表索引[{0}]不存在", mMANAGE_LIST.STORAGE_LIST_ID);
return bResult;
}
//校验任务数量是否大于库存数量
if (mMANAGE_LIST.MANAGE_LIST_QUANTITY > mSTORAGE_LIST.STORAGE_LIST_QUANTITY)
{
bResult = false;
sResult = string.Format("任务数量大于库存数量");
return bResult;
}
mSTORAGE_MAIN_OLD = this._P_STORAGE_MAIN.GetModel(mSTORAGE_LIST.STORAGE_ID);
mSTORAGE_MAIN_OLD.FULL_FLAG = Enum.FULL_FLAG.PART.ToString("d");
this._P_STORAGE_MAIN.Update(mSTORAGE_MAIN_OLD);
//更新库存列表的库存数量
mSTORAGE_LIST.STORAGE_LIST_QUANTITY -= mMANAGE_LIST.MANAGE_LIST_QUANTITY;
if (mSTORAGE_LIST.STORAGE_LIST_QUANTITY > 0)
{
this._P_STORAGE_LIST.Update(mSTORAGE_LIST);
}
else
{
this._P_STORAGE_LIST.Delete(mSTORAGE_LIST.STORAGE_LIST_ID);
if (this._P_STORAGE_LIST.GetListStorageID(mSTORAGE_LIST.STORAGE_ID).Count == 0)
{
this._P_STORAGE_MAIN.Delete(mSTORAGE_LIST.STORAGE_ID);
}
}
//查看托盘条码是否存在暂存区库存-存在,则更新库存位置为当前任务的终止位置
SiaSun.LMS.Model.STORAGE_MAIN mSTORAGE_MAIN_STOCK_BARCODE = this._P_STORAGE_MAIN.GetModelStockBarcode(mMANAGE_MAIN.STOCK_BARCODE);
if (mSTORAGE_MAIN_STOCK_BARCODE != null)
{
Model.WH_CELL mWH_CELL_STOCK_BARCODE = this._P_WH_CELL.GetModel(mSTORAGE_MAIN_STOCK_BARCODE.CELL_ID);
if (mWH_CELL_STOCK_BARCODE != null)
{
Model.WH_AREA mWH_AREA_STOCK_BARCODE = this._P_WH_AREA.GetModel(mWH_CELL_STOCK_BARCODE.AREA_ID);
if ((mWH_AREA_STOCK_BARCODE != null) && (mWH_AREA_STOCK_BARCODE.AREA_TYPE.Equals(LMS.Enum.AREA_TYPE.XuNiKu.ToString())))
{
mSTORAGE_MAIN_STOCK_BARCODE.CELL_ID = mMANAGE_MAIN.END_CELL_ID;
this._P_STORAGE_MAIN.Update(mSTORAGE_MAIN_STOCK_BARCODE);
}
}
}
//查看是否有相同条件STORGE_MAIN
mSTORAGE_MAIN = this._P_STORAGE_MAIN.GetModelCellIDStockBarcode(mMANAGE_MAIN.END_CELL_ID, mMANAGE_MAIN.STOCK_BARCODE);
if (null == mSTORAGE_MAIN)
{
//生成STORAGE_MAIN
mSTORAGE_MAIN = new SiaSun.LMS.Model.STORAGE_MAIN();
mSTORAGE_MAIN.GOODS_TEMPLATE_ID = mMANAGE_MAIN.GOODS_TEMPLATE_ID;
mSTORAGE_MAIN.CELL_ID = mMANAGE_MAIN.END_CELL_ID;
mSTORAGE_MAIN.STOCK_BARCODE = STOCK_BARCODE;
mSTORAGE_MAIN.FULL_FLAG = mMANAGE_MAIN.FULL_FLAG;
mSTORAGE_MAIN.CELL_MODEL = mMANAGE_MAIN.CELL_MODEL;
mSTORAGE_MAIN.STORAGE_REMARK = mMANAGE_MAIN.MANAGE_REMARK;
this._P_STORAGE_MAIN.Add(mSTORAGE_MAIN);
}
else
{
mSTORAGE_MAIN.FULL_FLAG = mMANAGE_MAIN.FULL_FLAG;
mSTORAGE_MAIN.CELL_MODEL = mMANAGE_MAIN.CELL_MODEL;
mSTORAGE_MAIN.STORAGE_REMARK = mMANAGE_MAIN.MANAGE_REMARK;
this._P_STORAGE_MAIN.Update(mSTORAGE_MAIN);
}
//获得GOODS_PROPERTY组合查询条件
bResult = this._S_GoodsService.GetGoodsPropertyCondition(mMANAGE_LIST.GOODS_ID, true, mMANAGE_LIST, out sGOODS_PROPERTY_CONDITION, out sResult);
if (!bResult)
{
return bResult;
}
string strSQL = string.Format(@"SELECT * FROM V_STORAGE_LIST WHERE 1=1
AND CELL_ID={0}
AND STORAGE_ID={1}
AND GOODS_ID={2}
AND {3}",
mMANAGE_MAIN.END_CELL_ID,
mSTORAGE_MAIN.STORAGE_ID,
mMANAGE_LIST.GOODS_ID,
sGOODS_PROPERTY_CONDITION);
DataTable dtSTORAGE_LIST = base.GetList(strSQL);
if (dtSTORAGE_LIST.Rows.Count > 0)
{
mSTORAGE_LIST = this._P_STORAGE_LIST.GetModel(Convert.ToInt32(dtSTORAGE_LIST.Rows[0]["STORAGE_LIST_ID"].ToString()));
mSTORAGE_LIST.STORAGE_LIST_QUANTITY += mMANAGE_LIST.MANAGE_LIST_QUANTITY;
mSTORAGE_LIST.UPDATE_TIME = SiaSun.LMS.Common.StringUtil.GetCurDateTimeString();
this._P_STORAGE_LIST.Update(mSTORAGE_LIST);
}
else
{
//保留原STORAGE_LIST模型
SiaSun.LMS.Model.STORAGE_LIST STORAGE_LIST_OLD = mSTORAGE_LIST;
//生成STORAGE_LIST
mSTORAGE_LIST = new SiaSun.LMS.Model.STORAGE_LIST();
mSTORAGE_LIST.STORAGE_ID = mSTORAGE_MAIN.STORAGE_ID;
mSTORAGE_LIST.PLAN_LIST_ID = mMANAGE_LIST.PLAN_LIST_ID;
mSTORAGE_LIST.BOX_BARCODE = mMANAGE_LIST.BOX_BARCODE;
mSTORAGE_LIST.STORAGE_LIST_QUANTITY = mMANAGE_LIST.MANAGE_LIST_QUANTITY;
mSTORAGE_LIST.GOODS_ID = mMANAGE_LIST.GOODS_ID;
//根据管理列表物料属性设置库存列表物料属性
bResult = this._S_GoodsService.GoodsPropertySetValue(mSTORAGE_LIST.GOODS_ID, mSTORAGE_LIST, mMANAGE_LIST, out sResult);
if (!bResult)
{
return bResult;
}
//按原来模型入库时间
mSTORAGE_LIST.ENTRY_TIME = STORAGE_LIST_OLD == null ? SiaSun.LMS.Common.StringUtil.GetCurDateTimeString() : STORAGE_LIST_OLD.ENTRY_TIME;
mSTORAGE_LIST.UPDATE_TIME = SiaSun.LMS.Common.StringUtil.GetCurDateTimeString();
mSTORAGE_LIST.STORAGE_LIST_REMARK = mMANAGE_LIST.MANAGE_LIST_REMARK;
this._P_STORAGE_LIST.Add(mSTORAGE_LIST);
}
}
}
catch (Exception ex)
{
bResult = false;
sResult = ex.Message;
this._log.Fatal(string.Format("调用方法{0}发生异常。", MethodBase.GetCurrentMethod().Name), ex);
}
return bResult;
}
/// <summary>
/// 校验托盘是否是指定库存类型
/// </summary>
/// <param name="STOCK_BARCODE"></param>
/// <param name="AREA_TYPE"></param>
/// <param name="sResult"></param>
/// <returns></returns>
public bool StorageCheck(string STOCK_BARCODE,
string AREA_TYPE,
out string sResult)
{
bool bResult = true;
sResult = string.Empty;
DataTable dt = this.GetList(string.Format(@"SELECT * FROM V_STORAGE_LIST WHERE STOCK_BARCODE LIKE '%{0}%' {1}", STOCK_BARCODE,
string.IsNullOrEmpty(AREA_TYPE.ToString()) ? string.Empty : string.Format(" AND AREA_TYPE = '{0}' ", AREA_TYPE.ToString())));
if (dt.Rows.Count == 0)
{
bResult = false;
}
return bResult;
}
}
}