Ejemplo n.º 1
0
        public override bool upDateVIDResultCode(string eq_id, AVEHICLE.VehicleState vehicleState, CompleteStatus cmp_status)
        {
            bool isSuccess = true;

            try
            {
                string result_code = SECSConst.convert2MCS(vehicleState, cmp_status);
                using (DBConnection_EF con = DBConnection_EF.GetUContext())
                {
                    AVIDINFO vid_info = vidIvfoDAO.getByID(con, eq_id);
                    if (vid_info != null)
                    {
                        vid_info.RESULT_CODE = int.Parse(result_code); //TODO 這樣 Parse 的方式好嗎?
                        vidIvfoDAO.update(con);
                        //con.Commit();
                    }
                    else
                    {
                        isSuccess = false;
                        //TODO Exception log
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Exception");
                isSuccess = false;
                throw ex;
            }
            finally
            {
            }
            return(isSuccess);
        }
Ejemplo n.º 2
0
        public static string convert2MCS(AVEHICLE.VehicleState vehicleState, ProtocolFormat.OHTMessage.VhChargeStatus chargeStatus)
        {
            if (chargeStatus == ProtocolFormat.OHTMessage.VhChargeStatus.ChargeStatusCharging)
            {
                return(VHSTATE_Charging);
            }
            else
            {
                switch (vehicleState)
                {
                case AVEHICLE.VehicleState.REMOVED:
                    return(VHSTATE_Removed);

                case AVEHICLE.VehicleState.NOT_ASSIGNED:
                    return(VHSTATE_NotAssigned);

                case AVEHICLE.VehicleState.ENROUTE:
                    return(VHSTATE_NotAssigned);

                case AVEHICLE.VehicleState.ACQUIRING:
                    return(VHSTATE_Acquiring);

                case AVEHICLE.VehicleState.DEPOSITING:
                    return(VHSTATE_Depositiong);

                default:
                    throw new Exception("參數錯誤");     //todo kevin 要帶入正確的Exception。
                }
            }
        }
Ejemplo n.º 3
0
        public static string convert2MCS(AVEHICLE.VehicleState vehicleState, ProtocolFormat.OHTMessage.CompleteStatus tran_cmp_status)
        {
            switch (tran_cmp_status)
            {
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusMove:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusLoad:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusUnload:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusLoadunload:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusHome:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusOverride:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusCstIdrenmae:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusMtlhome:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusMoveToCharger:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusSystemOut:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusSystemIn:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusTechingMove:
                return(CMD_Result_Successful);

            //A0.01 case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusCancel:
            //A0.01 case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusAbort:
            //A0.02 case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusVehicleAbort:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusLongTimeInaction:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusForceFinishByOp:
                return(CMD_Result_Unsuccessful);

            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusIdreadFailed:
                return(CMD_Result_BCRError);

            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusIdmisMatch:
                return(CMD_Result_CarrierIDUnmach);

            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusInterlockError:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusCancel:     //A0.01
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusAbort:      //A0.01
                //if (vehicleState == AVEHICLE.VehicleState.ACQUIRING)
                //{
                //    return CMD_Result_DisableLoad;
                //}
                //else if (vehicleState == AVEHICLE.VehicleState.DEPOSITING)
                //{
                //    return CMD_Result_DisableUnload;
                //}
                //else
                //{
                //    return CMD_Result_Unsuccessful;
                //}
                return(CMD_Result_InterlockError);

            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusVehicleAbort:     //A0.02
                return(CMD_Result_VehicleAbortError);                                //A0.02

            default:
                throw new Exception("參數錯誤");     //TODO 要帶入正確的Exception。
            }
        }