Beispiel #1
0
        public int MergeSerialNumber(string serialNumber, int processLayer)
        {
            SwitchSerialNumberData snData = new SwitchSerialNumberData(0, serialNumber, "1", serialNumber + "A", 0);

            SwitchSerialNumberData[] serialNumberArray = new SwitchSerialNumberData[] { snData };
            int    error    = imsapi.trAssignSerialNumberMergeAndUploadState(sessionContext, init.configHandler.StationNumber, processLayer, serialNumber + "A", "1", new SerialNumberData[] { }, serialNumber, 0, -1, 0);
            string errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);

            if (error == 0)
            {
                view.errorHandler(0, "API trAssignSerialNumberMergeAndUploadState " + error, "");
                //switch serial number
                int    error1    = imsapi.trSwitchSerialNumber(sessionContext, init.configHandler.StationNumber, "-1", "-1", ref serialNumberArray);
                string errorMsg1 = UtilityFunction.GetZHSErrorString(error1, init, sessionContext);
                if (error1 == 0)
                {
                    view.errorHandler(0, " trSwitchSerialNumber " + error1, "");
                }
                else
                {
                    view.errorHandler(2, " trSwitchSerialNumber " + error1 + "(" + errorMsg1 + ")", "");
                    return(error1);
                }
            }
            else
            {
                view.errorHandler(2, " trAssignSerialNumberMergeAndUploadState " + error + "(" + errorMsg + ")", "");
            }
            return(error);
        }
Beispiel #2
0
        public int UpdateMaterialSetUpByBin(int processLayer, string workorderNumber, string materialBinNumber, string materialQty, string partNumber, string setupName, string setupPos)
        {
            int error = 0;

            string[] materialSetupUploadKeys   = new string[] { "ERROR_CODE", "MATERIAL_BIN_NUMBER", "MATERIAL_BIN_QTY_TOTAL", "PART_NUMBER", "SETUP_POSITION", "SETUP_STATE" };
            string[] materialSetupUploadValues = new string[] { "0", materialBinNumber, materialQty, partNumber, setupPos, "0" };
            string[] compPositionsUploadKeys   = new string[] { "COMP_REFERENCE" };
            string[] compPositionsUploadValues = new string[] { };
            string[] materialSetupResultValues = new string[] { };
            string[] compPositionsResultValues = new string[] { };
            LogHelper.Info("begin api setupUpdateMaterialSetup (material bin number:" + materialBinNumber + ")");
            error = imsapi.setupUpdateMaterialSetup(sessionContext, init.configHandler.StationNumber, processLayer, workorderNumber, "-1", setupName, materialSetupUploadKeys
                                                    , materialSetupUploadValues, compPositionsUploadKeys, compPositionsUploadValues, out materialSetupResultValues, out compPositionsResultValues);
            string errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);

            LogHelper.Info("end api setupUpdateMaterialSetup (result code = " + error + ")");
            if (error != 0)
            {
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " setupUpdateMaterialSetup " + error + "(" + errorMsg + ")", "");
            }
            else
            {
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " setupUpdateMaterialSetup " + error, "");
            }
            return(error);
        }
        public int CheckEquipmentData(string workOder, int processLayer)
        {
            int    errorCode = 0;
            string errorMsg  = "";

            string[] equipmentResultKeys   = new string[] { "EQUIPMENT_CHECKSTATE", "EQUIPMENT_NUMBER", "PART_NUMBER" };
            string[] equipmentResultValues = new string[] { };
            errorCode = imsapi.equCheckEquipmentData(sessionContext, init.configHandler.StationNumber, workOder, "-1", "-1", processLayer, 0, equipmentResultKeys, out equipmentResultValues);
            LogHelper.Info("Api equCheckEquipmentData: work order  =" + workOder + ",error code =" + errorCode);
            if (errorCode == 0)
            {
                List <EquipmentEntity> entityList = new List <EquipmentEntity>();
                int loop  = equipmentResultKeys.Length;
                int count = equipmentResultValues.Length;
                for (int i = 0; i < count; i += loop)
                {
                    EquipmentEntity entity = new EquipmentEntity();
                    entity.EQUIPMENT_CHECKSTATE = equipmentResultValues[i + 0];
                    entity.EQUIPMENT_NUMBER     = equipmentResultValues[i + 1];
                    entity.PART_NUMBER          = equipmentResultValues[i + 2];
                    entityList.Add(entity);
                }
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " equCheckEquipmentData " + errorCode, "");
            }
            else
            {
                //imsapi.imsapiGetErrorText(sessionContext, errorCode, out errorMsg);
                errorMsg = UtilityFunction.GetZHSErrorString(errorCode, init, sessionContext);
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " equCheckEquipmentData " + errorCode + "," + errorMsg, "");
            }
            return(errorCode);
        }
        public int UploadFailureAndResultData(string serialNumber, string serialNumberPos, int processLayer, int serialNumberState, int duplicateSerialNumber
                                              , string[] measureValues, string[] failureValues)
        {
            string[] measureKeys             = new string[] { "ERROR_CODE", "MEASURE_FAIL_CODE", "MEASURE_NAME", "MEASURE_VALUE" };
            string[] failureKeys             = new string[] { "ERROR_CODE", "FAILURE_TYPE_CODE" };
            string[] failureSlipKeys         = new string[] { "ERROR_CODE", "TEST_STEP_NAME" };
            string[] failureSlipValues       = new string[] { };
            string[] measureResultValues     = new string[] { };
            string[] failureResultValues     = new string[] { };
            string[] failureSlipResultValues = new string[] { };

            error = imsapi.trUploadFailureAndResultData(sessionContext, init.configHandler.StationNumber, processLayer, serialNumber, serialNumberPos,
                                                        serialNumberState, duplicateSerialNumber, 0, -1, measureKeys, measureValues, out measureResultValues, failureKeys, failureValues, out failureResultValues,
                                                        failureSlipKeys, failureSlipValues, out failureSlipResultValues);
            string errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);

            LogHelper.Info("Api trUploadFailureAndResultData (serial number:" + serialNumber + ",error code:" + error);
            if (error == 0)
            {
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " trUploadFailureAndResultData " + error, "");
            }
            else
            {
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " trUploadFailureAndResultData " + error + "(" + errorMsg + ")", "");
            }
            return(error);
        }
Beispiel #5
0
        public Dictionary <string, string> GetAllAttributeValues(string serialNumber)
        {
            string errorMsg    = "";
            string returnValue = "";
            Dictionary <string, string> dicValues = new Dictionary <string, string>();

            string[] attributeCodeArray    = new string[] { };
            string[] attributeResultKeys   = new string[] { "ATTRIBUTE_CODE", "ATTRIBUTE_VALUE", "ERROR_CODE" };
            string[] attributeResultValues = new string[] { };
            LogHelper.Info("begin api attribGetAttributeValues (serial number =" + serialNumber + ")");
            int error = imsapi.attribGetAttributeValues(sessionContext, init.configHandler.StationNumber, 0, serialNumber, "-1", attributeCodeArray, 1, attributeResultKeys, out attributeResultValues);

            //imsapi.imsapiGetErrorText(sessionContext, error, out errorMsg);
            errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);
            LogHelper.Info("end api attribGetAttributeValues (result code = " + error + ")");
            if (error == 0)
            {
                int loop  = attributeResultKeys.Length;
                int count = attributeResultValues.Length;
                for (int i = 0; i < count; i += loop)
                {
                    dicValues[attributeResultValues[i]] = attributeResultValues[i + 1];
                }
                returnValue = attributeResultValues[1];
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " attribGetAttributeValues " + error, "");
            }
            else
            {
                view.errorHandler(3, init.lang.ERROR_API_CALL_ERROR + " attribGetAttributeValues " + error + "(" + errorMsg + ")", "");
            }
            return(dicValues);
        }
        public EquipmentEntityExt GetSetupEquipmentData(string equipmentNo)
        {
            int                errorCode = 0;
            string             errorMsg  = "";
            EquipmentEntityExt entity    = null;

            string[] equipmentSetupResultValues = new string[] { };
            string[] equipmentSetupResultKeys   = new string[] { "EQUIPMENT_NUMBER", "EQUIPMENT_STATE", "SECONDS_BEFORE_EXPIRATION", "USAGES_BEFORE_EXPIRATION" };
            errorCode = imsapi.equGetSetupEquipmentData(sessionContext, init.configHandler.StationNumber, new KeyValue[] { }, equipmentSetupResultKeys, out equipmentSetupResultValues);
            LogHelper.Info("Api equGetSetupEquipmentData: equipment no =" + equipmentNo + ",error code =" + errorCode);
            if (errorCode == 0)
            {
                int loop  = equipmentSetupResultKeys.Length;
                int count = equipmentSetupResultValues.Length;
                for (int i = 0; i < count; i += loop)
                {
                    if (equipmentSetupResultValues[i] == equipmentNo)
                    {
                        entity = new EquipmentEntityExt();
                        entity.EQUIPMENT_NUMBER          = equipmentSetupResultValues[i];
                        entity.EQUIPMENT_STATE           = equipmentSetupResultValues[i + 1];
                        entity.SECONDS_BEFORE_EXPIRATION = equipmentSetupResultValues[i + 2];
                        entity.USAGES_BEFORE_EXPIRATION  = equipmentSetupResultValues[i + 3];
                    }
                }
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " equGetSetupEquipmentData " + errorCode, "");
            }
            else
            {
                //imsapi.imsapiGetErrorText(sessionContext, errorCode, out errorMsg);
                errorMsg = UtilityFunction.GetZHSErrorString(errorCode, init, sessionContext);
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " equGetSetupEquipmentData " + errorCode + "," + errorMsg, "");
            }
            return(entity);
        }
Beispiel #7
0
        public int UploadResultDataAndRecipe(long bookDate, string serialNum, string serialNumPos, string serialnumState, string[] listItem, int multiboard, int processLayer)
        {
            var uploadValues = new string[] { };

            string[] UploadKeyN = { "ErrorCode", "LowerLimit", "MeasureFailCode", "MeasureName", "MeasureValue", "Unit", "UpperLimit" };//"Nominal", "Remark", "Tolerance",
            uploadValues = listItem;
            string[] SNStateResultValues = new string[] { };
            //recipeVersionMode  要从-1 改为0 之前是有问题的  第二次更改从0改为1 感觉没什么区别.
            //recipeVersionMode =-1 或者为空 recipeVersionId=-1 measurename 名称长度不能超过80个字符 超过 报-10  duplicateserialnumber =0 表示只上传大板中某一个位置的SN =1/-1 上传时都会复制给大板中其他位置的小板
            int error = imsapi.trUploadResultDataAndRecipe(sessionContext, init.configHandler.StationNumber, processLayer, -1, serialNum,                                                  // 不知道为什么processLayer 只能=1 以前的都是2的
                                                           serialNumPos, Convert.ToInt32(serialnumState), multiboard, bookDate, 0, -1, UploadKeyN, uploadValues, out SNStateResultValues); //snState 默认设置为1

            LogHelper.Info("API trUploadResultDataAndRecipe: serial number:" + serialNum + ", serialnumState:" + serialnumState + ", result code =" + error);
            if (error == 0 || error == 210)
            {
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " trUploadResultDataAndRecipe " + error, "");
                error = 0;
            }
            else
            {
                string errorString = UtilityFunction.GetZHSErrorString(error, init, sessionContext);
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " trUploadResultDataAndRecipe " + error + "(" + errorString + ")", "");
            }

            return(error);
        }
        public List <RecipeEntity> GetRecipeDataByPN(string stationNumber, string partNumber, string machineGroupNo)
        {
            List <RecipeEntity> entityList = new List <RecipeEntity>();

            KeyValue[] recipeFilters      = new KeyValue[] { new KeyValue("MACHINE_GROUP_NUMBER", ""), new KeyValue("PART_NUMBER", ""), new KeyValue("STATION_NUMBER", "") };
            string[]   recipeResultKeys   = new string[] { "MEASURE_NAME", "NOMINAL", "REMARK" };
            string[]   recipeResultValues = new string[] { };
            int        error    = imsapi.mdaGetRecipeData(sessionContext, stationNumber, -1, "-1", "-1", "-1", -1, "-1", "-1", 1, recipeFilters, recipeResultKeys, out recipeResultValues);
            string     errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);

            LogHelper.Info("api mdaGetRecipeData (station number =" + stationNumber + ",part number =" + partNumber + ",machine group number =" + machineGroupNo + ") error code =" + error);
            if (error == 0)
            {
                int loop  = recipeResultKeys.Length;
                int count = recipeResultValues.Length;
                for (int i = 0; i < count; i += loop)
                {
                    RecipeEntity entity = new RecipeEntity();
                    entity.MEASURE_NAME = recipeResultValues[i];
                    entity.NOMINAL      = recipeResultValues[i + 1];
                    entity.REMARK       = recipeResultValues[i + 2];
                    entityList.Add(entity);
                }
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " mdaGetRecipeData " + error, "");
            }
            else
            {
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " mdaGetRecipeData " + error + "(" + errorMsg + ")", "");
            }
            return(entityList);
        }
Beispiel #9
0
        public int UploadFailureAndResultData(string serialNumber, string serialNumberPos, int processLayer, string[] measurevaluelist, string[] failureValueList, int duplicateSerialNumber, float cycleTime, long bookTime, int serialNumberState)
        {
            var measureKeys             = new string[] { "ERROR_CODE", "MEASURE_FAIL_CODE", "MEASURE_NAME", "MEASURE_VALUE" };
            var measureValues           = measurevaluelist;
            var measureResultValues     = new string[] { };
            var failureKeys             = new string[] { "COMP_NAME", "ERROR_CODE", "FAILURE_TYPE_CODE" };
            var failureValues           = failureValueList;
            var failureResultValues     = new string[] { };
            var failureSlipKeys         = new string[] { "ERROR_CODE", "TEST_STEP_NAME" };
            var failureSlipValues       = new string[] { };
            var failureSlipResultValues = new string[] { };

            LogHelper.Info("begin api trUploadFailureAndResultData (Station:" + init.configHandler.StationNumber + "SN:" + serialNumber + ",SerialNumberPos:" + serialNumberPos + ",process layer:" + processLayer + ")");
            int error = imsapi.trUploadFailureAndResultData(sessionContext, init.configHandler.StationNumber, processLayer, serialNumber, serialNumberPos, serialNumberState, duplicateSerialNumber, cycleTime, bookTime
                                                            , measureKeys, measureValues, out measureResultValues, failureKeys, failureValues, out failureResultValues, failureSlipKeys, failureSlipValues, out failureSlipResultValues);
            string errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);

            LogHelper.Info("end api trUploadFailureAndResultData (ResultCode = " + error + ")");
            if (error == 0)
            {
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " trUploadFailureAndResultData " + error, "");
            }
            else
            {
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " trUploadFailureAndResultData " + error + "(" + errorMsg + ")", "");
            }
            return(error);
        }
        public int AppendAttributeValuesForEquipment(string strCode, string strValue, string equipmentNo)
        {
            int    error    = 0;
            string errorMsg = "";

            string[] attributeUploadKeys   = new string[] { "ATTRIBUTE_CODE", "ATTRIBUTE_VALUE", "ERROR_CODE" };
            string[] attributeUploadValues = new string[] { strCode, strValue, "0" };
            string[] attributeResultValues = new string[] { };
            error = imsapi.attribAppendAttributeValues(sessionContext, init.configHandler.StationNumber, 15, equipmentNo, "0", -1, 1, attributeUploadKeys, attributeUploadValues, out attributeResultValues);
            LogHelper.Info("Api attribAppendAttributeValues error=" + error + ", equipment number =" + equipmentNo);
            if (error == 0)
            {
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " attribAppendAttributeValues " + error, "");
            }
            else
            {
                if (attributeResultValues[2] == "-901")//attribute code not exist, create
                {
                    imsapi.attribCreateAttribute(sessionContext, init.configHandler.StationNumber, 15, strCode, strCode, "N");
                    int error2 = imsapi.attribAppendAttributeValues(sessionContext, init.configHandler.StationNumber, 15, equipmentNo, "0", -1, 1, attributeUploadKeys, attributeUploadValues, out attributeResultValues);
                    //imsapi.imsapiGetErrorText(sessionContext, error, out errorMsg);
                    errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);
                    if (error2 == 0)
                    {
                        view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " attribAppendAttributeValues " + error2, "");
                    }
                    else
                    {
                        view.errorHandler(3, init.lang.ERROR_API_CALL_ERROR + " attribAppendAttributeValues " + error2 + "(" + errorMsg + ")", "");
                    }
                    return(error2);
                }
            }
            return(error);
        }
Beispiel #11
0
        private string[] GetWorkplanDataForStation(string stationNo, string workorder)
        {
            List <string> values = new List <string>();

            KeyValue[] workplanFilter           = new KeyValue[] { new KeyValue("STATION_BASED_WORKSTEPS", "1"), new KeyValue("WORKORDER_NUMBER", workorder) };
            string[]   workplanDataResultKeys   = new string[] { "PART_NUMBER", "STATION_NUMBER", "WORKPLAN_VERS", "WORKSTEP_NUMBER" };
            string[]   workplanDataResultValues = new string[] { };
            int        error    = imsapi.mdataGetWorkplanData(sessionContext, stationNo, workplanFilter, workplanDataResultKeys, out workplanDataResultValues);
            string     errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);

            if (error != 0)
            {
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " mdataGetWorkplanData " + error + "(" + errorMsg + ")", "");
                return(null);
            }
            else
            {
                int loop  = workplanDataResultKeys.Length;
                int count = workplanDataResultValues.Length;
                for (int i = 0; i < count; i += loop)
                {
                    if (workplanDataResultValues[i + 1] == stationNo)
                    {
                        values.Add(workplanDataResultValues[i]);
                        values.Add(workplanDataResultValues[i + 2]);
                        values.Add(workplanDataResultValues[i + 3]);
                        break;
                    }
                }

                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " mdataGetWorkplanData " + error, "");
                return(values.ToArray());
            }
        }
Beispiel #12
0
        public List <SerialNumberStateEntity> GetSerialNumberData(string serialNumber)
        {
            List <SerialNumberStateEntity> snList = new List <SerialNumberStateEntity>();

            String[] serialNumberStateResultKeys   = new String[] { "LOCK_STATE", "SERIAL_NUMBER", "SERIAL_NUMBER_POS", "SERIAL_NUMBER_STATE" };
            String[] serialNumberStateResultValues = new String[] { };
            LogHelper.Info("begin api trCheckSerialNumberState (Serial number:" + serialNumber + ")");
            int error = imsapi.trCheckSerialNumberState(sessionContext, init.configHandler.StationNumber, init.currentSettings.processLayer, 1, serialNumber, "-1", serialNumberStateResultKeys, out serialNumberStateResultValues);

            LogHelper.Info("end api trCheckSerialNumberState (result code = " + error + ")");
            if ((error != 0) && (error != 5) && (error != 6) && (error != 204) && (error != 207) && (error != 212))
            {
                string errorString = UtilityFunction.GetZHSErrorString(error, init, sessionContext);
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " trCheckSerialNumberState " + error + "," + errorString, "");
            }
            else
            {
                int counter = serialNumberStateResultValues.Length;
                int loop    = serialNumberStateResultKeys.Length;
                for (int i = 0; i < counter; i += loop)
                {
                    snList.Add(new SerialNumberStateEntity(serialNumberStateResultValues[i], serialNumberStateResultValues[i + 1], serialNumberStateResultValues[i + 2], serialNumberStateResultValues[i + 3]));
                }
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " trCheckSerialNumberState " + error, "");
            }
            return(snList);
        }
Beispiel #13
0
        public GetStationSettingModel GetCurrentWorkorderResultCall()
        {
            GetStationSettingModel stationSetting = new GetStationSettingModel();

            String[] stationSettingResultKey = new String[] { "BOM_VERSION", "WORKORDER_NUMBER", "PART_NUMBER", "WORKORDER_STATE", "PROCESS_VERSION", "PROCESS_LAYER", "ATTRIBUTE_2", "QUANTITY", "STATION_DESC" };
            String[] stationSettingResultValues;
            LogHelper.Info("begin api trGetStationSetting (Station number:" + init.configHandler.StationNumber + ")");
            error = imsapi.trGetStationSetting(sessionContext, init.configHandler.StationNumber, stationSettingResultKey, out stationSettingResultValues);
            LogHelper.Info("end api trGetStationSetting (result code = " + error + ")");
            if (error != 0)
            {
                string errorMsg = "";
                //imsapi.imsapiGetErrorText(sessionContext, error, out errorMsg);
                errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " trGetStationSetting " + error + ", " + errorMsg, "");
                return(null);
            }
            view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " trGetStationSetting " + error, "");
            stationSetting.bomVersion      = stationSettingResultValues[0];
            stationSetting.workorderNumber = stationSettingResultValues[1];
            stationSetting.partNumber      = stationSettingResultValues[2];
            stationSetting.workorderState  = stationSettingResultValues[3];
            stationSetting.processVersion  = int.Parse(stationSettingResultValues[4]);
            stationSetting.processLayer    = int.Parse(stationSettingResultValues[5]);
            stationSetting.attribute2      = stationSettingResultValues[6];
            stationSetting.QuantityMO      = int.Parse(stationSettingResultValues[7]);
            stationSetting.stationDesc     = stationSettingResultValues[8];
            return(stationSetting);
        }
        public int trUploadResultDataAndRecipe(float cycletime, string serialNum, string serialNumPos, string serialnumState, List <string> listItem, int multiboard, out string[] SNStateResultValues)
        {
            SNStateResultValues = new string[] { };
            var uploadValues = new string[] { };

            string[] UploadKeyN = { "ErrorCode", "LowerLimit", "MeasureFailCode", "MeasureName", "MeasureValue", "Unit", "Nominal", "Remark", "Tolerance", "UpperLimit" };

            uploadValues = listItem.ToArray();

            //recipeVersionMode  要从-1 改为0 之前是有问题的  第二次更改从0改为1 感觉没什么区别.
            //recipeVersionMode =-1 或者为空 recipeVersionId=-1 measurename 名称长度不能超过80个字符 超过 报-10  duplicateserialnumber =0 表示只上传大板中某一个位置的SN =1/-1 上传时都会复制给大板中其他位置的小板
            int error = imsapi.trUploadResultDataAndRecipe(sessionContext, init.configHandler.StationNumber, init.currentSettings.processLayer, -1, serialNum,                              // 不知道为什么processLayer 只能=1 以前的都是2的
                                                           serialNumPos, Convert.ToInt32(serialnumState), multiboard, -1, cycletime, 1, UploadKeyN, uploadValues, out SNStateResultValues); //snState 默认设置为1
            string errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);

            if (error == 0)
            {
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " trUploadResultDataAndRecipe " + error, "");
            }
            else
            {
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " trUploadResultDataAndRecipe " + error + "(" + errorMsg + ")", "");
            }

            return(error);
        }
Beispiel #15
0
        public string GetAttributeValuesForStation()
        {
            string returnValue = "";
            string errorMsg    = "";

            string[] attributeCodeArray    = new string[] { "attribActivatedStationLotNo" };
            string[] attributeResultKeys   = new string[] { "ATTRIBUTE_CODE", "ATTRIBUTE_VALUE", "ERROR_CODE" };
            string[] attributeResultValues = new string[] { };
            LogHelper.Info("begin api attribGetAttributeValues (station number =" + init.configHandler.StationNumber + ")");
            int error = imsapi.attribGetAttributeValues(sessionContext, init.configHandler.StationNumber, 7, init.configHandler.StationNumber, "-1", attributeCodeArray, 0, attributeResultKeys, out attributeResultValues);

            LogHelper.Info("end api attribGetAttributeValues (result code = " + error + ")");
            //imsapi.imsapiGetErrorText(sessionContext, error, out errorMsg);
            errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);
            if (error == 0)
            {
                returnValue = attributeResultValues[1];
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " attribGetAttributeValues " + error, "");
            }
            else
            {
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " attribGetAttributeValues " + error + "(" + errorMsg + ")", "");
            }
            return(returnValue);
        }
Beispiel #16
0
        public List <EquipmentEntityExt> GetSetupEquipmentDataByStation(string stationNumber)
        {
            int errorCode = 0;
            List <EquipmentEntityExt> entityList = new List <EquipmentEntityExt>();
            EquipmentEntityExt        entity     = null;

            string[] equipmentSetupResultValues = new string[] { };
            string[] equipmentSetupResultKeys   = new string[] { "EQUIPMENT_NUMBER", "EQUIPMENT_STATE", "SECONDS_BEFORE_EXPIRATION", "USAGES_BEFORE_EXPIRATION", "EQUIPMENT_INDEX" };
            errorCode = imsapi.equGetSetupEquipmentData(sessionContext, stationNumber, new KeyValue[] { }, equipmentSetupResultKeys, out equipmentSetupResultValues);
            LogHelper.Info("Api equGetSetupEquipmentData: station number =" + stationNumber + ",error code =" + errorCode);
            if (errorCode == 0)
            {
                int loop  = equipmentSetupResultKeys.Length;
                int count = equipmentSetupResultValues.Length;
                for (int i = 0; i < count; i += loop)
                {
                    entity = new EquipmentEntityExt();
                    entity.EQUIPMENT_NUMBER          = equipmentSetupResultValues[i];
                    entity.EQUIPMENT_STATE           = equipmentSetupResultValues[i + 1];
                    entity.SECONDS_BEFORE_EXPIRATION = equipmentSetupResultValues[i + 2];
                    entity.USAGES_BEFORE_EXPIRATION  = equipmentSetupResultValues[i + 3];
                    entity.EQUIPMENT_INDEX           = equipmentSetupResultValues[i + 4];
                    entityList.Add(entity);
                }
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " equGetSetupEquipmentData " + errorCode, "");
            }
            else
            {
                string errorString = UtilityFunction.GetZHSErrorString(errorCode, init, sessionContext);
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " equGetSetupEquipmentData " + errorCode + "," + errorString, "");
            }
            return(entityList);
        }
Beispiel #17
0
        public DataTable GetWorkPlanDetail(string workorder)
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("AttributeName", typeof(string));
            dt.Columns.Add("AttributeValue", typeof(string));
            KeyValue[] workplanFilter         = new KeyValue[] { new KeyValue("WORKORDER_NUMBER", workorder), new KeyValue("WORKSTEP_FLAG", "1") };
            string[]   workplanDataResultKeys = new string[] { "CYCLE_TIME_MACHINE", "CYCLE_TIME_USER", "EQUIPMENT_AVAILABLE", "ERP_CHANGE_NUMBER", "ERP_GROUP_DESC", "ERP_GROUP_NUMBER", "MAX_TEST_COUNT", "MDA_DOCUMENT_AVAILABLE",
                                                               "MSL_OFFSET", "MSL_RELEVANT", "MULTIPLE_COUNT", "OBLIGATORY_CONFIRM_FLAG", "PROCESS_LAYER", "SEPARATION_FLAG", "SETUP_FLAG", "SETUP_TIME_MACHINE", "SETUP_TIME_USER", "SKILL_DESC", "SKILL_LEVEL", "STATION_DESC", "STATION_NUMBER",
                                                               "VOUCHER_NUMBER", "WORKSTEP_AG", "WORKSTEP_AVO", "WORKSTEP_DESC", "WORKSTEP_INFO", "WORKSTEP_NUMBER", "WORKSTEP_NUMBER_ALT" };
            string[] workplanDataResultValues = new string[] { };
            LogHelper.Info("begin api mdataGetWorkplanData (Work Order:" + init.currentSettings.workorderNumber + ")");
            int    error    = imsapi.mdataGetWorkplanData(sessionContext, init.configHandler.StationNumber, workplanFilter, workplanDataResultKeys, out workplanDataResultValues);
            string errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);

            LogHelper.Info("end api mdataGetWorkplanData (result code = " + error + ")");
            if (error != 0)
            {
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " mdataGetWorkplanData " + error + "(" + errorMsg + ")", "");
                return(null);
            }
            view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " mdataGetWorkplanData " + error, "");
            if (error == 0)
            {
                for (int j = 0; j < workplanDataResultValues.Length; j++)
                {
                    DataRow row = dt.NewRow();
                    row["AttributeName"]  = workplanDataResultKeys[j];
                    row["AttributeValue"] = workplanDataResultValues[j];
                    dt.Rows.Add(row);
                }
            }
            return(dt);
        }
Beispiel #18
0
 public int UploadFailureAndResultData(long bookDate, string serialNumber, string serialNumberPos, int processLayer, int serialNumberState, int duplicateSerialNumber
                                       , string[] measureValues, string[] failureValues)
 {
     string[] measureKeys             = new string[] { "ERROR_CODE", "MEASURE_FAIL_CODE", "MEASURE_NAME", "MEASURE_VALUE" };
     string[] failureKeys             = new string[] { "ERROR_CODE", "FAILURE_TYPE_CODE", "COMP_NAME" };
     string[] failureSlipKeys         = new string[] { "ERROR_CODE", "TEST_STEP_NAME" };
     string[] failureSlipValues       = new string[] { };
     string[] measureResultValues     = new string[] { };
     string[] failureResultValues     = new string[] { };
     string[] failureSlipResultValues = new string[] { };
     error = imsapi.trUploadFailureAndResultData(sessionContext, init.configHandler.StationNumber, processLayer, serialNumber, serialNumberPos,
                                                 serialNumberState, duplicateSerialNumber, 0, bookDate, measureKeys, measureValues, out measureResultValues, failureKeys, failureValues, out failureResultValues,
                                                 failureSlipKeys, failureSlipValues, out failureSlipResultValues);
     if (failureValues != null && failureValues.Length > 0)
     {
         foreach (var item in failureValues)
         {
             LogHelper.Info(item);
         }
     }
     LogHelper.Info("Api trUploadFailureAndResultData (serial number:" + serialNumber + ",pos:" + serialNumberPos + ",process layer:" + processLayer + ",state:" + serialNumberState + ",result code:" + error);
     if (error == 0 || error == 210)
     {
         string errorString = UtilityFunction.GetZHSErrorString(error, init, sessionContext);
         view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " trUploadFailureAndResultData " + error + "(" + errorString + ")", "");
         error = 0;
     }
     else
     {
         string errorString = ""; //UtilityFunction.GetZHSErrorString(error, init, sessionContext);
         view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " trUploadFailureAndResultData " + error + "," + errorString, "");
     }
     return(error);
 }
Beispiel #19
0
        public bool CheckSNState(string serialNumber)
        {
            String[] serialNumberStateResultKeys   = new String[] { "ERROR_CODE" };
            String[] serialNumberStateResultValues = new String[] { };
            LogHelper.Info("begin api trCheckSerialNumberState (Serial number:" + serialNumber + ")");
            int    error       = imsapi.trCheckSerialNumberState(sessionContext, init.configHandler.StationNumber, init.currentSettings.processLayer, 1, serialNumber, "-1", serialNumberStateResultKeys, out serialNumberStateResultValues);
            string errorString = UtilityFunction.GetZHSErrorString(error, init, sessionContext);

            LogHelper.Info("end api trCheckSerialNumberState (errorcode = " + error + ")");
            if ((error != 0) && (error != 5) && (error != 6) && (error != 204) && (error != 207) && (error != 212))
            {
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " trCheckSerialNumberState " + error + "(" + errorString + ")", "");
                return(false);
            }
            else
            {
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " trCheckSerialNumberState " + error, "");
                if (error == 5)//202 Serial no. is invalid for this station; it was not seen by the previous station
                {
                    foreach (var item in serialNumberStateResultValues)
                    {
                        if (item == "0")
                        {
                            return(true);
                        }
                    }
                    return(false);
                }
            }
            return(true);
        }
Beispiel #20
0
        public bool trCheckSNStateNextStep(string serialNumber)
        {
            String[] serialNumberStateResultKeys   = new String[] { "ERROR_CODE" };
            String[] serialNumberStateResultValues = new String[] { };
            LogHelper.Info("begin api trCheckSerialNumberState (Serial number:" + serialNumber + ")");
            int error = imsapi.trCheckSerialNumberState(sessionContext, init.configHandler.StationNumber, init.currentSettings.processLayer, 1, serialNumber, "-1", serialNumberStateResultKeys, out serialNumberStateResultValues);

            //string errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);
            LogHelper.Info("end api trCheckSerialNumberState (errorcode = " + error + ")");
            if (error == 0)
            {
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " trCheckSerialNumberState " + error, "");
            }
            else if (error == 5 || error == 6)
            {
                string errorMsg   = "";
                int    looplength = serialNumberStateResultKeys.Length;
                int    alllength  = serialNumberStateResultValues.Length;
                for (int i = 0; i < alllength; i += looplength)
                {
                    int errorcode = Convert.ToInt32(serialNumberStateResultValues[i]);
                    if (errorcode != 0)
                    {
                        if (errorcode == 202 || errorcode == 203)
                        {
                            string workstepdesc = GetNextProductionStep(serialNumber);
                            string errorString  = UtilityFunction.GetZHSErrorString(errorcode, init, sessionContext);
                            errorMsg = errorcode + ";" + errorString + "(" + workstepdesc + ")";
                        }
                        else if (errorcode == -201 || errorcode == 204 || errorcode == 207 || errorcode == 212)//scrap
                        {
                        }
                        else
                        {
                            string errorString = UtilityFunction.GetZHSErrorString(errorcode, init, sessionContext);
                            errorMsg = errorcode + ";" + errorString;
                        }
                    }
                }
                if (errorMsg != "")
                {
                    view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " trCheckSerialNumberState " + error + "(" + errorMsg + ")", "");
                    return(false);
                }
                else
                {
                    view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " trCheckSerialNumberState " + error, "");
                }
            }
            else
            {
                string errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " trCheckSerialNumberState (" + errorMsg + ")", "");
                return(false);
            }

            return(true);
        }
        public SerialNumberData[] GetSerialNumber(string Temp_PartNo, int numberRecords)
        {
            SerialNumberData[] serialNumberArray = new SerialNumberData[] { };
            int    error    = imsapi.trGetNextSerialNumber(sessionContext, init.configHandler.StationNumber, "-1", Temp_PartNo, numberRecords, out serialNumberArray);
            string errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);

            LogHelper.Info("API trGetNextSerialNumber:partnumber" + Temp_PartNo + ",ERROR" + error);
            return(serialNumberArray);
        }
        public DataTable GetBomMaterialData(string workorder)
        {
            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("ErpGroup", typeof(string)));
            dt.Columns.Add(new DataColumn("PartNumber", typeof(string)));
            dt.Columns.Add(new DataColumn("PartDesc", typeof(string)));
            dt.Columns.Add(new DataColumn("Quantity", typeof(string)));
            dt.Columns.Add(new DataColumn("CompName", typeof(string)));
            dt.Columns.Add(new DataColumn("ProcessLayer", typeof(string)));

            KeyValue[] bomDataFilter       = new KeyValue[] { new KeyValue("WORKORDER_NUMBER", workorder), new KeyValue("BOM_ALTERNATIVE", "0"), new KeyValue("BOM_TYPE", "0") };
            string[]   bomDataResultKeys   = new string[] { "MACHINE_GROUP_NUMBER", "PART_NUMBER", "PART_DESC", "SETUP_FLAG", "QUANTITY", "COMP_NAME", "PROCESS_LAYER" };
            string[]   bomDataResultValues = new string[] { };
            LogHelper.Info("begin api mdataGetBomData (Work Order:" + workorder + ")");
            int error = imsapi.mdataGetBomData(sessionContext, init.configHandler.StationNumber, bomDataFilter, bomDataResultKeys, out bomDataResultValues);

            LogHelper.Info("end api mdataGetBomData (result code = " + error + ")");
            if (error != 0)
            {
                string errorString = UtilityFunction.GetZHSErrorString(error, init, sessionContext);
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " mdataGetBomData " + error + "(" + errorString + ")", "");
                return(null);
            }
            else
            {
                string machineGroupTemp = GetMachineGroup(init.configHandler.StationNumber);
                int    loop             = bomDataResultKeys.Length;
                int    count            = bomDataResultValues.Length;
                for (int i = 0; i < count; i += loop)
                {
                    if (bomDataResultValues[i + 3] == "1")
                    {
                        //S08SMDXX-02000
                        string strMachineGroup = bomDataResultValues[i].ToString();
                        int    iProcessLayer   = int.Parse(bomDataResultValues[i + 6].ToString());
                        //S08SMD04-02000-01
                        //string strStationNo = init.configHandler.StationNumber;
                        //strStationNo = strStationNo.Replace(strStationNo.Substring(6, 3), "XX-");
                        if (strMachineGroup == machineGroupTemp && init.currentSettings.processLayer == iProcessLayer)
                        {
                            DataRow row = dt.NewRow();
                            row["ErpGroup"]     = bomDataResultValues[i].ToString();
                            row["PartNumber"]   = bomDataResultValues[i + 1].ToString();
                            row["PartDesc"]     = bomDataResultValues[i + 2].ToString();
                            row["Quantity"]     = bomDataResultValues[i + 4].ToString();
                            row["CompName"]     = bomDataResultValues[i + 5].ToString();
                            row["ProcessLayer"] = bomDataResultValues[i + 6].ToString();
                            dt.Rows.Add(row);
                        }
                    }
                }
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " mdataGetBomData " + error, "");
            }
            return(dt);
        }
Beispiel #23
0
        public Dictionary <string, List <EquipmentEntity> > GetRequiredEquipmentDataDicEXT(string workorder)
        {
            int           errorCode = 0;
            string        errorMsg  = "";
            List <string> equipList = new List <string>();
            Dictionary <string, List <EquipmentEntity> > dicequipement = new Dictionary <string, List <EquipmentEntity> >();

            string[] equipmentResultKeys   = new string[] { "EQUIPMENT_NUMBER", "PART_NUMBER", "EQUIPMENT_DESCRIPTION", "EQUIPMENT_GROUP" };
            string[] equipmentResultValues = new string[] { };
            errorCode = imsapi.equGetRequiredEquipmentData(sessionContext, init.configHandler.StationNumber, workorder, "-1", "-1", init.currentSettings.processLayer, "-1",
                                                           equipmentResultKeys, out equipmentResultValues);
            LogHelper.Info("Api equGetRequiredEquipmentData: workorder number =" + workorder + ",error code =" + errorCode);
            if (errorCode == 0)
            {
                int loop  = equipmentResultKeys.Length;
                int count = equipmentResultValues.Length;
                for (int i = 0; i < count; i += loop)
                {
                    EquipmentEntity        entity     = new EquipmentEntity();
                    List <EquipmentEntity> entityList = new List <EquipmentEntity>();
                    entity.EQUIPMENT_NUMBER      = equipmentResultValues[i];
                    entity.EQUIPMENT_DESCRIPTION = equipmentResultValues[i + 2];
                    entity.PART_NUMBER           = equipmentResultValues[i + 1];
                    //entity.EQUIPMENT_GROUP = equipmentResultValues[i + 3];

                    //修改分组设备排序      郑培聪     20171121
                    if (equipmentResultValues[i + 3].StartsWith("TTE"))
                    {
                        entity.EQUIPMENT_GROUP = equipmentResultValues[i + 3].Substring(0, equipmentResultValues[i + 3].Length - 2);
                    }
                    else
                    {
                        entity.EQUIPMENT_GROUP = equipmentResultValues[i + 3];
                    }

                    entityList.Add(entity);

                    if (!dicequipement.ContainsKey(equipmentResultValues[i + 1] + ";" + entity.EQUIPMENT_GROUP))
                    {
                        dicequipement.Add(equipmentResultValues[i + 1] + ";" + entity.EQUIPMENT_GROUP, entityList);
                    }
                    else
                    {
                        dicequipement[equipmentResultValues[i + 1] + ";" + entity.EQUIPMENT_GROUP].AddRange(entityList);
                    }
                }
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " equGetRequiredEquipmentData " + errorCode, "");
            }
            else
            {
                //imsapi.imsapiGetErrorText(sessionContext, errorCode, out errorMsg);
                errorMsg = UtilityFunction.GetZHSErrorString(errorCode, init, sessionContext);
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " equGetRequiredEquipmentData " + errorCode + "," + errorMsg, "");
            }
            return(dicequipement);
        }
Beispiel #24
0
        public DataTable GetBomMaterialDataBySN(string serialnumber)
        {
            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("ErpGroup", typeof(string)));
            dt.Columns.Add(new DataColumn("PartNumber", typeof(string)));
            dt.Columns.Add(new DataColumn("PartDesc", typeof(string)));
            dt.Columns.Add(new DataColumn("Quantity", typeof(string)));
            dt.Columns.Add(new DataColumn("CompName", typeof(string)));
            dt.Columns.Add(new DataColumn("ProcessLayer", typeof(string)));

            KeyValue[] bomDataFilter       = new KeyValue[] { new KeyValue("SERIAL_NUMBER", serialnumber), new KeyValue("BOM_ALTERNATIVE", "0") };
            string[]   bomDataResultKeys   = new string[] { "MACHINE_GROUP_NUMBER", "PART_NUMBER", "PART_DESC", "SETUP_FLAG", "QUANTITY", "COMP_NAME", "PROCESS_LAYER", "PRODUCT_FLAG" };
            string[]   bomDataResultValues = new string[] { };
            LogHelper.Info("begin api mdataGetBomData (Serial Number:" + serialnumber + ")");
            int    error    = imsapi.mdataGetBomData(sessionContext, init.configHandler.StationNumber, bomDataFilter, bomDataResultKeys, out bomDataResultValues);
            string errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);

            LogHelper.Info("end api mdataGetBomData (result code = " + error + ")");
            if (error != 0)
            {
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " mdataGetBomData " + error + "(" + errorMsg + ")", "");
                return(null);
            }
            else
            {
                //string strErpGroup = GetErpGroupNumberBySN(init.configHandler.StationNumber, serialnumber);
                int loop  = bomDataResultKeys.Length;
                int count = bomDataResultValues.Length;
                for (int i = 0; i < count; i += loop)
                {
                    if (bomDataResultValues[i + 3] == "1")
                    {
                        //S08SMDXX-02000
                        string strMachineGroup = bomDataResultValues[i].ToString();
                        //S08SMD04-02000-01
                        string strStationNo = init.configHandler.StationNumber;
                        //if (strErpGroup == strMachineGroup)
                        //{
                        DataRow row = dt.NewRow();
                        row["ErpGroup"]     = bomDataResultValues[i].ToString();
                        row["PartNumber"]   = bomDataResultValues[i + 1].ToString();
                        row["PartDesc"]     = bomDataResultValues[i + 2].ToString();
                        row["Quantity"]     = bomDataResultValues[i + 4].ToString();
                        row["CompName"]     = bomDataResultValues[i + 5].ToString();
                        row["ProcessLayer"] = bomDataResultValues[i + 6].ToString();
                        row["ProductFlag"]  = bomDataResultValues[i + 7].ToString();
                        dt.Rows.Add(row);
                        //}
                    }
                }
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " mdataGetBomData " + error, "");
            }
            return(dt);
        }
Beispiel #25
0
        public DataTable GetAllWorkordersExt()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("RunID", typeof(string)));
            dt.Columns.Add(new DataColumn("WONumber", typeof(string)));
            dt.Columns.Add(new DataColumn("WODesc", typeof(string)));
            dt.Columns.Add(new DataColumn("Info", typeof(string)));
            dt.Columns.Add(new DataColumn("PartNumber", typeof(string)));
            dt.Columns.Add(new DataColumn("PartDesc", typeof(string)));
            dt.Columns.Add(new DataColumn("MOQty", typeof(string)));
            dt.Columns.Add(new DataColumn("ActualQty", typeof(string)));
            dt.Columns.Add(new DataColumn("Status", typeof(string)));
            //dt.Columns.Add(new DataColumn("Activated", typeof(string)));

            KeyValue[] workorderFilter       = new KeyValue[] { new KeyValue("WORKORDER_STATE", "S,F") };//F = opened (released);S = started
            string[]   workorderResultKeys   = new string[] { "WORKORDER_NUMBER", "WORKORDER_DESC", "QUANTITY", "PartNumber", "PART_DESC", "PLANNED_START_DATE", "WORKORDER_STATE" };
            string[]   workorderResultValues = new string[] { };
            LogHelper.Info("begin api trGetWorkOrderForStation (Station number:" + init.configHandler.StationNumber + ")");
            int    error    = imsapi.trGetWorkOrderForStation(sessionContext, init.configHandler.StationNumber, workorderFilter, workorderResultKeys, out workorderResultValues);
            string errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);

            LogHelper.Info("end api trGetWorkOrderForStation (result code = " + error + ")");
            if (error != 0)
            {
                view.errorHandler(3, init.lang.ERROR_API_CALL_ERROR + " trGetWorkOrderForStation " + error + "(" + errorMsg + ")", "");
            }
            else
            {
                if (workorderResultValues.Length > 0)
                {
                    int loop  = workorderResultKeys.Length;
                    int count = workorderResultValues.Length;
                    int n     = 0;
                    for (int i = 0; i < count; i += loop)
                    {
                        n++;
                        DataRow row = dt.NewRow();
                        row["RunID"]      = n;
                        row["WONumber"]   = workorderResultValues[i].ToString();
                        row["WODesc"]     = workorderResultValues[i + 1].ToString();
                        row["ActualQty"]  = "";
                        row["MOQty"]      = workorderResultValues[i + 2].ToString();
                        row["PartNumber"] = workorderResultValues[i + 3].ToString();
                        row["PartDesc"]   = workorderResultValues[i + 4].ToString();
                        row["Info"]       = ConvertDateTime(workorderResultValues[i + 5].ToString());//WORKORDER_START_DATE
                        row["Status"]     = GetStatusText(workorderResultValues[i + 6].ToString());
                        //row["Activated"] = "";
                        dt.Rows.Add(row);
                    }
                }
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " trGetWorkOrderForStation " + error, "");
            }
            return(dt);
        }
Beispiel #26
0
        public List <DocumentEntity> GetDocumentDataByWorkplan(string stationNo, string workorder)
        {
            string[] strValues = GetWorkplanDataForStation(stationNo, workorder);
            if (strValues == null)
            {
                return(null);
            }
            List <DocumentEntity> entityList = new List <DocumentEntity>();

            KeyValue[] attributeFilters = new KeyValue[] { new KeyValue("WORKPLAN_NUMBER", strValues[0]), new KeyValue("WORKPLAN_VERS", strValues[1]), new KeyValue("WORKSTEP_NUMBER", strValues[2]) };
            KeyValue[] dataTypeFilters  = new KeyValue[] { new KeyValue("MDA_ACTIVE", "1"), new KeyValue("MDA_DATA_TYPE", "3") };
            string[]   mdaResultKeys    = new string[] { "MDA_ACTIVE", "MDA_DATA_TYPE", "MDA_DESC", "MDA_DOC_TYPE", "MDA_DOCUMENT_ID", "MDA_FILE_ID", "MDA_FILE_NAME"
                                                         , "MDA_FILE_PATH", "MDA_NAME", "MDA_STATUS", "MDA_URL_NAME", "MDA_VERSION", "MDA_VERSION_DESC", "MDA_VERSION_NAME" };
            string[] mdaResultValues = new string[] { };
            LogHelper.Info("begin api mdaGetDocuments (Station number:" + workorder + ")");
            int    errorCode = imsapi.mdaGetDocuments(sessionContext, stationNo, attributeFilters, dataTypeFilters, mdaResultKeys, out mdaResultValues);
            string errorMsg  = UtilityFunction.GetZHSErrorString(errorCode, init, sessionContext);

            LogHelper.Info("end api mdaGetDocuments (errorcode = " + errorCode + ")");
            if (errorCode != 0)
            {
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " mdaGetDocuments " + errorCode + "(" + errorMsg + ")", "");
                return(null);
            }
            else
            {
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " mdaGetDocuments " + errorCode, "");
            }
            if (errorCode == 0)
            {
                int loop  = mdaResultKeys.Length;
                int count = mdaResultValues.Length;
                for (int i = 0; i < count; i += loop)
                {
                    DocumentEntity entity = new DocumentEntity();
                    entity.MDA_ACTIVE       = mdaResultValues[i];
                    entity.MDA_DATA_TYPE    = mdaResultValues[i + 1];
                    entity.MDA_DESC         = mdaResultValues[i + 2];
                    entity.MDA_DOC_TYPE     = mdaResultValues[i + 3];
                    entity.MDA_DOCUMENT_ID  = mdaResultValues[i + 4];
                    entity.MDA_FILE_ID      = mdaResultValues[i + 5];
                    entity.MDA_FILE_NAME    = mdaResultValues[i + 6];
                    entity.MDA_FILE_PATH    = mdaResultValues[i + 7];
                    entity.MDA_NAME         = mdaResultValues[i + 8];
                    entity.MDA_STATUS       = mdaResultValues[i + 9];
                    entity.MDA_URL_NAME     = mdaResultValues[i + 10];
                    entity.MDA_VERSION      = mdaResultValues[i + 11];
                    entity.MDA_VERSION_DESC = mdaResultValues[i + 12];
                    entity.MDA_VERSION_NAME = mdaResultValues[i + 13];
                    entityList.Add(entity);
                }
            }
            return(entityList);
        }
 public int AssignSerialNumberResultCall(String serialNumber, SerialNumberData[] serialNumberArray, string workorder, int processLayer)
 {
     error = imsapi.trAssignSerialNumberForProductOrWorkOrder(sessionContext, "00110010", workorder, "-1", "-1", serialNumber, "1", processLayer, serialNumberArray, -1);
     if ((error != 0) && (error != -206))
     {
         string errorString = UtilityFunction.GetZHSErrorString(error, init, sessionContext);
         view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + "trAssignSerialNumberForProductOrWorkOrder " + error + "(" + errorString + ")", "");
         return(error);
     }
     view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + "trAssignSerialNumberForProductOrWorkOrder " + error, "");
     return(error);
 }
Beispiel #28
0
        public bool CheckSNState(string serialNumber, int processLayer, out string errorString)
        {
            errorString = "";
            int checkscrap = 0;

            String[] serialNumberStateResultKeys   = new String[] { "ERROR_CODE" };
            String[] serialNumberStateResultValues = new String[] { };
            LogHelper.Info("begin api trCheckSerialNumberState (Serial number:" + serialNumber + ", Process layer:" + processLayer + ")");
            int errorCode = imsapi.trCheckSerialNumberState(sessionContext, init.configHandler.StationNumber, processLayer, 1, serialNumber, "-1", serialNumberStateResultKeys, out serialNumberStateResultValues);

            LogHelper.Info("end api trCheckSerialNumberState (Result code = " + errorCode + ")");
            if ((errorCode != 0) && (errorCode != 5) && (errorCode != 6) && (errorCode != 204) && (errorCode != 207) && (errorCode != 212))
            {
                errorString = UtilityFunction.GetZHSErrorString(errorCode, init, sessionContext);
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " trCheckSerialNumberState " + errorCode + "," + errorString, "");
                return(false);
            }
            else
            {
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " trCheckSerialNumberState " + errorCode, "");
                if (errorCode == 5 || errorCode == 6)//202 Serial no. is invalid for this station; it was not seen by the previous station
                {
                    foreach (var item in serialNumberStateResultValues)
                    {
                        if (item != "0")
                        {
                            LogHelper.Info("Sub error code = " + item);
                            errorCode = Convert.ToInt32(item);
                            break;
                        }
                    }

                    if (errorCode == -201 || errorCode == 204 || errorCode == 207 || errorCode == 212)//scrap
                    {
                        return(true);
                    }
                    errorString = UtilityFunction.GetZHSErrorString(errorCode, init, sessionContext);
                    if (errorCode == 202 || errorCode == 203)
                    {
                        checkscrap++;
                        string strNextStep = GetNextProductionStep(serialNumber);
                        errorString = errorString + " -> " + strNextStep;
                    }
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
        }
        public int AssignSerialNumberResultCall(String serialNumber, SerialNumberData[] serialNumberArray, string workorder, int processLayer)
        {
            error = imsapi.trAssignSerialNumberForProductOrWorkOrder(sessionContext, init.configHandler.StationNumber, workorder, "-1", "-1", serialNumber, "0", processLayer, serialNumberArray, 0);
            string errorMsg = UtilityFunction.GetZHSErrorString(error, init, sessionContext);

            LogHelper.Info("trAssignSerialNumberForProductOrWorkOrder serial number =" + serialNumber + ",result code = " + error);
            if ((error != 0) && (error != -206))
            {
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + "trAssignSerialNumberForProductOrWorkOrder " + error + "(" + errorMsg + ")", "");
                return(error);
            }
            view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + "trAssignSerialNumberForProductOrWorkOrder " + error, "");
            return(error);
        }
Beispiel #30
0
        public List <DocumentEntity> GetDocumentDataByAdvice(int adviceID)
        {
            List <DocumentEntity> entityList = new List <DocumentEntity>();

            KeyValue[] attributeFilters = new KeyValue[] { new KeyValue("ADVICE_ID", adviceID.ToString()) };
            KeyValue[] dataTypeFilters  = new KeyValue[] { new KeyValue("MDA_ACTIVE", "1"), new KeyValue("MDA_DATA_TYPE", "3") };
            string[]   mdaResultKeys    = new string[] { "MDA_ACTIVE", "MDA_DATA_TYPE", "MDA_DESC", "MDA_DOC_TYPE", "MDA_DOCUMENT_ID", "MDA_FILE_ID", "MDA_FILE_NAME"
                                                         , "MDA_FILE_PATH", "MDA_NAME", "MDA_STATUS", "MDA_URL_NAME", "MDA_VERSION", "MDA_VERSION_DESC", "MDA_VERSION_NAME" };
            string[] mdaResultValues = new string[] { };
            LogHelper.Info("begin api mdaGetDocuments (Advice ID:" + adviceID + ")");
            int    errorCode = imsapi.mdaGetDocuments(sessionContext, init.configHandler.StationNumber, attributeFilters, dataTypeFilters, mdaResultKeys, out mdaResultValues);
            string errorMsg  = UtilityFunction.GetZHSErrorString(errorCode, init, sessionContext);

            LogHelper.Info("end api mdaGetDocuments (result code = " + errorCode + ")");
            if (errorCode != 0)
            {
                view.errorHandler(2, init.lang.ERROR_API_CALL_ERROR + " mdaGetDocuments " + errorCode + "(" + errorMsg + ")", "");
                return(null);
            }
            else
            {
                view.errorHandler(0, init.lang.ERROR_API_CALL_ERROR + " mdaGetDocuments " + errorCode, "");
            }
            if (errorCode == 0)
            {
                int loop  = mdaResultKeys.Length;
                int count = mdaResultValues.Length;
                for (int i = 0; i < count; i += loop)
                {
                    DocumentEntity entity = new DocumentEntity();
                    entity.MDA_ACTIVE       = mdaResultValues[i];
                    entity.MDA_DATA_TYPE    = mdaResultValues[i + 1];
                    entity.MDA_DESC         = mdaResultValues[i + 2];
                    entity.MDA_DOC_TYPE     = mdaResultValues[i + 3];
                    entity.MDA_DOCUMENT_ID  = mdaResultValues[i + 4];
                    entity.MDA_FILE_ID      = mdaResultValues[i + 5];
                    entity.MDA_FILE_NAME    = mdaResultValues[i + 6];
                    entity.MDA_FILE_PATH    = mdaResultValues[i + 7];
                    entity.MDA_NAME         = mdaResultValues[i + 8];
                    entity.MDA_STATUS       = mdaResultValues[i + 9];
                    entity.MDA_URL_NAME     = mdaResultValues[i + 10];
                    entity.MDA_VERSION      = mdaResultValues[i + 11];
                    entity.MDA_VERSION_DESC = mdaResultValues[i + 12];
                    entity.MDA_VERSION_NAME = mdaResultValues[i + 13];
                    entityList.Add(entity);
                }
            }
            return(entityList);
        }