public bool checkIsNeedWaitForLoad(IAGVStationType agvStation, int waitTimeOut)
            {
                string result = "";
                string url    = "";

                try
                {
                    //TransferManagement/TransferCheck/Swap/AGVStation/{agvStationName}
                    string agv_url = agvStation.RemoveURI;
                    url = SCUtility.Trim(agv_url, true);
                    string   agv_station_id = agvStation.getAGVStationID();
                    string[] action_targets = new string[]
                    {
                        "TransferManagement",
                        "IsAnyAdditionalCstToBeTransfer",
                        "Swap",
                        "AGVStation"
                    };
                    string[] param = new string[]
                    {
                        agv_station_id
                    };
                    LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(TransferBLL), Device: "AGVC",
                                  Data: $"Try to pre open agv station cover,uri:{agv_url} station id:{agv_station_id} ");
                    result = webClientManager.GetInfoFromServer(agv_url, action_targets, param, waitTimeOut);
                    LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(TransferBLL), Device: "AGVC",
                                  Data: $"Try to pre open agv station cover,uri:{agv_url} station id:{agv_station_id} ,result:{result}");
                    result = result.ToUpper();
                }
                catch (Exception ex)
                {
                    logger.Error(ex, $"Exception:{url}");
                }
                return(result.Contains(CHECK_IS_WAIT_RESULT_TRUE));
            }
            public void preOpenAGVStationCover(IAGVStationType agvStation, string portID)
            {
                string result = "";
                string url    = "";

                try
                {
                    string agv_url = agvStation.RemoveURI;
                    url = SCUtility.Trim(agv_url, true);
                    string   agv_station_id = agvStation.getAGVStationID();
                    string[] action_targets = new string[]
                    {
                        "TransferManagement",
                        "PreOpenAGVStationCover",
                        "AGVStationPorts"
                    };
                    string[] param = new string[]
                    {
                        portID
                    };
                    LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(TransferBLL), Device: "AGVC",
                                  Data: $"Try to pre open agv station cover,uri:{agv_url} station id:{agv_station_id} port id:{portID}...");
                    result = webClientManager.GetInfoFromServer(agv_url, action_targets, param);
                    LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(TransferBLL), Device: "AGVC",
                                  Data: $"Try to pre open agv station cover,uri:{agv_url} station id:{agv_station_id} port id:{portID} ,result:{result}");
                    result = result.ToUpper();
                }
                catch (Exception ex)
                {
                    logger.Error(ex, $"Exception:{url}");
                }
            }
Exemplo n.º 3
0
            public (bool isAGVSt, IAGVStationType IAGVStationType) IsAGVStationPortByAdrID(EqptBLL eqptBLL, string adrID)
            {
                if (SCUtility.isEmpty(adrID))
                {
                    return(false, null);
                }
                List <APORTSTATION> portTemp = CacheManager.getALLPortStation().Where(port_station => port_station.ADR_ID.Trim() == adrID.Trim()).
                                               ToList();

                if (portTemp == null || portTemp.Count == 0)
                {
                    return(false, null);
                }
                IAGVStationType agvStationType = portTemp[0].GetEqpt(eqptBLL) as IAGVStationType;

                return(agvStationType != null, agvStationType);
            }
            public bool canExcuteUnloadTransferToAGVStation(IAGVStationType agvStation, int unfinishCmdCount, bool isEmergency)
            {
                //if (DebugParameter.CanUnloadToAGVStationTest)
                //    return true;
                //else
                //    return false;
                string result = "";
                string url    = "";

                try
                {
                    string agv_url = agvStation.RemoveURI;
                    url = SCUtility.Trim(agv_url, true);
                    string   agv_station_id = agvStation.getAGVStationID();
                    string[] action_targets = new string[]
                    {
                        "TransferManagement",
                        "TransferCheck",
                        "AGVStation"
                    };
                    string[] param = new string[]
                    {
                        agv_station_id,
                        $"?{nameof(unfinishCmdCount)}={unfinishCmdCount}",
                        $"&{nameof(isEmergency)}={isEmergency}",
                    };
                    LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(TransferBLL), Device: "AGVC",
                                  Data: $"Try to reserve agv station to unload,uri:{agv_url} station id:{agv_station_id} unfinishCmdCount:{unfinishCmdCount} isEmergency:{isEmergency}...");
                    result = webClientManager.GetInfoFromServer(agv_url, action_targets, param);
                    LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(TransferBLL), Device: "AGVC",
                                  Data: $"Try to reserve agv station to unload,uri:{agv_url} station id:{agv_station_id} unfinishCmdCount:{unfinishCmdCount} isEmergency:{isEmergency},result:{result}");
                    result = result.ToUpper();
                    agvStation.LastAskTime = DateTime.Now;
                }
                catch (Exception ex)
                {
                    logger.Error(ex, $"Exception:{url}");
                    throw ex;
                }
                //return SCUtility.isMatche(result, UNLOAD_CHECK_RESULT_OK);
                return(result.Contains(UNLOAD_CHECK_RESULT_OK));
            }
 public void notifyNoUnloadTransferToAGVStation(IAGVStationType agvStation)
 {
     canExcuteUnloadTransferToAGVStation(agvStation, 0, false);
 }