/// <summary> /// 检测输送机任务完成(查找改巷到-1的 指令改为0) /// </summary> public bool ActivateOrderInfo(string line, string stn, string tuid, out string outString) { bool r = false; outString = ""; var db = new DBAccess_MySql("MySql"); try { db.StartTran(); DataTable dt = GetCMD_NoSend(db, line, stn, tuid, out outString); if (dt == null) { return(false); } for (int i = 0; i < dt.Rows.Count; i++) { var dr = dt.Rows[i]; string sql = string.Format(ConfigurationManager.AppSettings["SQL_ActiveCMD"].Replace('\n', ' '), dr["order_id"].ToString()); var dbr = db.ExecSql(sql, out outString); r = dbr == DBExeResult.Successed; } db.CommitTran(); return(r); } catch (Exception ex) { r = false; db.RollBack(); } return(r); }
/// <summary> ///入库申请 /// </summary> /// <param name="barcode"></param> /// <param name="RequestLoc"></param> /// <param name="fromStn"></param> /// <param name="outString"></param> /// <returns></returns> public bool RequestInStock(string barcode, string RequestLoc, out string fromStn, out string outString) { string newHouseNumber = ""; string Line = ""; bool r = false; fromStn = ""; outString = ""; //1判断是否重复申请 //2.创建库存 //3.分配货位 //4.获取巷到对应EP点 //5.创建入库执行 var db = new DBAccess_MySql("MySql"); try { db.StartTran(); r = IsRepeatPallet(barcode, out outString); if (r) { throw new ApplicationException(string.Format("[{0}]重复的入库申请!{1}", barcode, outString)); } r = AllocationLoc(db, barcode, out newHouseNumber, out outString); if (!r) { throw new ApplicationException(string.Format("[{0}]分配货位失败!{1}", barcode, outString)); } BarcodeInfo bi = new BarcodeInfo(barcode); r = CreateStock(db, newHouseNumber, bi, out outString); if (!r) { throw new ApplicationException(string.Format("[{0}]创建库存失败{!1}", barcode, outString)); } Line = PLCSystem_SRM.GetLineByhouseNumber(newHouseNumber).ToString(); fromStn = PLCSystem_SRM.SysSRMMaping.GetConNodeID(Line, PLCSystem_SRM.InStnNo, eStationType.EP); if (Line == "" || fromStn == "") { throw new ApplicationException(string.Format("[{0}]获取匹配巷道及入库站点失败!{1}", barcode, outString)); } r = CreateOrderInfo_In(db, barcode, PLCSystem_SRM.InStnNo, newHouseNumber, Line, out outString); if (!r) { throw new ApplicationException(string.Format("[{0}]创建入库指令失败!{1}", barcode, outString)); } db.CommitTran(); } catch (Exception ex) { outString = ex.Message; Program.Log_Agent_BUS.WriteLog(Enum_LogType.LogType_Error, Enum_LogGrade.LogGrade_Nin, Enum_LogMessageType.LogMsgType_Exception, "RequestInStocke", ex.Message, ex.StackTrace); r = false; db.RollBack(); } return(r); }