大连融科 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.
 
 
 

179 lines
7.2 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
namespace SiaSun.LMS.Implement
{
public class ApplyBase:S_BaseService
{
protected Model.WH_CELL mSTART_CELL;
/// <summary>
/// 校验申请数据
/// </summary>
/// <param name="mIO_CONTROL_APPLY"></param>
/// <param name="sResult"></param>
/// <returns></returns>
protected bool Validate(Model.IO_CONTROL_APPLY mIO_CONTROL_APPLY, out int START_CELL_ID, out string sResult)
{
bool bResult = true;
sResult = string.Empty;
START_CELL_ID = 0;
try
{
mSTART_CELL = this._P_WH_CELL.GetModel(mIO_CONTROL_APPLY.DEVICE_CODE.TrimEnd());
if (null == mSTART_CELL)
{
bResult = false;
sResult = "容器条码->" + mIO_CONTROL_APPLY.STOCK_BARCODE.TrimEnd() + "申请上架未提供起始站台";
return bResult;
}
START_CELL_ID = mSTART_CELL.CELL_ID;
if (mIO_CONTROL_APPLY.STOCK_BARCODE.TrimEnd() == string.Empty || mIO_CONTROL_APPLY.STOCK_BARCODE.TrimEnd() == "111111")
{
bResult = false;
sResult = "申请上架未提供容器条码";
return bResult;
}
if (!SiaSun.LMS.Common.RegexValid.GetCodeCheck(mIO_CONTROL_APPLY.STOCK_BARCODE, "StockCodeCheck"))
{
sResult = string.Format("托盘条码格式不正确!");
return false;
}
}
catch(Exception ex)
{
bResult = false;
sResult = ex.Message;
this._log.Fatal(string.Format("调用方法{0}发生异常。", MethodBase.GetCurrentMethod().Name), ex);
}
return bResult;
}
/// <summary>
/// 申请失败,生成异常任务
/// </summary>
/// <param name="mIO_CONTROL_APPLY"></param>
/// <param name="ExceptionStation"></param>
/// <param name="sMessage"></param>
protected void CreateApplyExceptionTask(Model.IO_CONTROL_APPLY mIO_CONTROL_APPLY, string ExceptionStation, string sMessage)
{
try
{
SiaSun.LMS.Model.IO_CONTROL mIO_CONTROL = new SiaSun.LMS.Model.IO_CONTROL();
mIO_CONTROL.RELATIVE_CONTROL_ID = -1;
mIO_CONTROL.MANAGE_ID = 0;
mIO_CONTROL.STOCK_BARCODE = mIO_CONTROL_APPLY.STOCK_BARCODE;
mIO_CONTROL.CONTROL_TASK_LEVEL = "0";
mIO_CONTROL.PRE_CONTROL_STATUS = string.Empty;
mIO_CONTROL.CONTROL_TASK_TYPE =4;
mIO_CONTROL.START_DEVICE_CODE = mIO_CONTROL_APPLY.DEVICE_CODE;
mIO_CONTROL.END_DEVICE_CODE = ExceptionStation;
mIO_CONTROL.CONTROL_BEGIN_TIME = SiaSun.LMS.Common.StringUtil.GetDateTime();
mIO_CONTROL.CONTROL_STATUS = 0;
mIO_CONTROL.START_WAREHOUSE_CODE = "1";
mIO_CONTROL.END_WAREHOUSE_CODE = "1";
mIO_CONTROL.ERROR_TEXT = sMessage;
this._P_IO_CONTROL.Add(mIO_CONTROL);
}
catch (Exception ex)
{
this._log.Fatal(string.Format("调用方法{0}发生异常。", MethodBase.GetCurrentMethod().Name), ex);
}
}
///// <summary>
///// 生成申请历史
///// </summary>
///// <param name="mIO_CONTROL_APPLY"></param>
///// <param name="sMessage"></param>
//protected void WriteHisData(Model.IO_CONTROL_APPLY mIO_CONTROL_APPLY,string sMessage)
//{
// try
// {
// Model.IO_CONTROL_APPLY_HIS mIO_CONTROL_APPLY_HIS = new Model.IO_CONTROL_APPLY_HIS();
// mIO_CONTROL_APPLY_HIS.CONTROL_ID = mIO_CONTROL_APPLY.CONTROL_ID;
// mIO_CONTROL_APPLY_HIS.CONTROL_APPLY_TYPE = mIO_CONTROL_APPLY.CONTROL_APPLY_TYPE;
// mIO_CONTROL_APPLY_HIS.WAREHOUSE_CODE = mIO_CONTROL_APPLY.WAREHOUSE_CODE;
// mIO_CONTROL_APPLY_HIS.DEVICE_CODE = mIO_CONTROL_APPLY.DEVICE_CODE;
// mIO_CONTROL_APPLY_HIS.STOCK_BARCODE = mIO_CONTROL_APPLY.STOCK_BARCODE;
// mIO_CONTROL_APPLY_HIS.APPLY_TASK_STATUS = mIO_CONTROL_APPLY.APPLY_TASK_STATUS;
// mIO_CONTROL_APPLY_HIS.CONTROL_APPLY_PARAMETER = mIO_CONTROL_APPLY.CONTROL_APPLY_PARAMETER;
// mIO_CONTROL_APPLY_HIS.CREATE_TIME = mIO_CONTROL_APPLY.CREATE_TIME;
// mIO_CONTROL_APPLY_HIS.CONTROL_APPLY_REMARK = mIO_CONTROL_APPLY.CONTROL_APPLY_REMARK;
// mIO_CONTROL_APPLY_HIS.MANAGE_ERROR_TEXT = sMessage;
// this._P_IO_CONTROL_APPLY_HIS.Add(mIO_CONTROL_APPLY_HIS);
// this._P_IO_CONTROL_APPLY.Delete(mIO_CONTROL_APPLY.CONTROL_APPLY_ID);
// }
// catch (Exception ex)
// {
// this._log.Fatal(string.Format("调用方法{0}发生异常。", MethodBase.GetCurrentMethod().Name), ex);
// }
//}
/// <summary>
/// 生成申请历史
/// </summary>
/// <param name="mIO_CONTROL_APPLY"></param>
/// <param name="sMessage"></param>
protected void WriteHisData(Model.IO_CONTROL_APPLY mIO_CONTROL_APPLY, string sMessage)
{
try
{
Model.IO_CONTROL_APPLY_HIS mIO_CONTROL_APPLY_HIS = new Model.IO_CONTROL_APPLY_HIS();
mIO_CONTROL_APPLY_HIS.CONTROL_ID = mIO_CONTROL_APPLY.CONTROL_ID;
mIO_CONTROL_APPLY_HIS.CONTROL_APPLY_TYPE = mIO_CONTROL_APPLY.CONTROL_APPLY_TYPE;
mIO_CONTROL_APPLY_HIS.WAREHOUSE_CODE = mIO_CONTROL_APPLY.WAREHOUSE_CODE;
mIO_CONTROL_APPLY_HIS.DEVICE_CODE = mIO_CONTROL_APPLY.DEVICE_CODE;
mIO_CONTROL_APPLY_HIS.STOCK_BARCODE = mIO_CONTROL_APPLY.STOCK_BARCODE;
mIO_CONTROL_APPLY_HIS.APPLY_TASK_STATUS = mIO_CONTROL_APPLY.APPLY_TASK_STATUS;
mIO_CONTROL_APPLY_HIS.CREATE_TIME = mIO_CONTROL_APPLY.CREATE_TIME;
mIO_CONTROL_APPLY_HIS.CONTROL_APPLY_REMARK = mIO_CONTROL_APPLY.CONTROL_APPLY_REMARK;
mIO_CONTROL_APPLY_HIS.CONTROL_APPLY_PARAMETER = mIO_CONTROL_APPLY.CONTROL_APPLY_PARAMETER;
mIO_CONTROL_APPLY_HIS.CONTROL_APPLY_PARA01 = mIO_CONTROL_APPLY.CONTROL_APPLY_PARA01;
mIO_CONTROL_APPLY_HIS.CONTROL_APPLY_PARA02 = mIO_CONTROL_APPLY.CONTROL_APPLY_PARA02;
mIO_CONTROL_APPLY_HIS.CONTROL_APPLY_REMARK = sMessage;
mIO_CONTROL_APPLY_HIS.APPLY_TASK_STATUS = 3;
this._P_IO_CONTROL_APPLY_HIS.Add(mIO_CONTROL_APPLY_HIS);
this._P_IO_CONTROL_APPLY.Delete(mIO_CONTROL_APPLY.CONTROL_APPLY_ID);
this._log.Fatal(string.Format("成功删除申请{0} {1}", mIO_CONTROL_APPLY.CONTROL_APPLY_ID, mIO_CONTROL_APPLY.STOCK_BARCODE));
}
catch (Exception ex)
{
this._log.Fatal(string.Format("调用方法{0}发生异常。", MethodBase.GetCurrentMethod().Name), ex);
}
}
}
}