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; /// /// 校验申请数据 /// /// /// /// 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; } /// /// 申请失败,生成异常任务 /// /// /// /// 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); } } ///// ///// 生成申请历史 ///// ///// ///// //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); // } //} /// /// 生成申请历史 /// /// /// 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); } } } }