Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }