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); }
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); }
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); }
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); }
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); }
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()); } }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }